using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Controls;
using Prism.Commands;

namespace SASDesktop
{
    /// <summary>
    /// Управляет навигацией приложения
    /// </summary>
    class Navigation
    {
        #region Команды
        public static DelegateCommand ToDriverCreate { get; set; }      = new DelegateCommand(ToDriverCreateExecuted);
        public static DelegateCommand ToDriverList { get; set; }        = new DelegateCommand(ToDriverListExecuted);
        public static DelegateCommand ToTransportCreate { get; set; }   = new DelegateCommand(ToTransportCreateExecuted);
        public static DelegateCommand ToTransportList { get; set; }     = new DelegateCommand(ToTransportListExecuted);
        #endregion
        
        /// <summary>
        /// Возвращает главный фрейм приложения
        /// </summary>
        private static Frame GetMainFrame()
        {
            return (App.Current.MainWindow as MainWindow).ContentBody;
        }
        
        /// <summary>
        /// Переводит на главную страницу приложения
        /// </summary>
        public static void ToPortal()
        {
            GetMainFrame().Navigate(new Views.Portal());
        }
        
        /// <summary>
        /// Переводит на страницу создания водителя
        /// </summary>
        public static void ToDriverCreateExecuted()
        {
            GetMainFrame().Navigate(new Views.Drivers.Create());
        }
        
        /// <summary>
        /// Переводит на страницу просмотра водителей
        /// </summary>
        public static void ToDriverListExecuted()
        {
            throw new NotImplementedException();
        }
        
        /// <summary>
        /// Переводит на страницу создания транспорта
        /// </summary>
        public static void ToTransportCreateExecuted()
        {
            throw new NotImplementedException();
        }
        
        /// <summary>
        /// Переводит на страницу просмотра всех транспортов
        /// </summary>
        public static void ToTransportListExecuted()
        {
            throw new NotImplementedException();
        }
    }
}
