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

namespace SASDesktop.ViewModels
{
    class Auth : BindableBase
    {
        #region Команды
        /// <summary>
        /// Авторизует пользователя
        /// </summary>
        public DelegateCommand LoginCmd { get; set; }
        #endregion

        #region Свойства
        private string _login;
        private string _password;

        /// <summary>
        /// Логин
        /// </summary>
        public string Login
        {
            get { return _login; }
            set 
            { 
                _login = value;
                RaisePropertyChanged(nameof(Login)); 
            }
        }
        /// <summary>
        /// Пароль
        /// </summary>
        public string Password
        {
            get { return _password; }
            set 
            { 
                _password = value;
                RaisePropertyChanged(nameof(Password));
            }
        }
        #endregion

        public Auth()
        {
            LoginCmd = new DelegateCommand(LoginExecuted);
        }

        private void LoginExecuted()
        {
            // Пытаемся войти в приложение
            var db = new Models.SASEntities();
            var result = db.Employees.FirstOrDefault(e => e.Login == _login && e.Password == _password);
            /* Раскомментировать, когда данные будут импортированы
            if (result == null)
            {
                MessageBox.Show("Логин или пароль не совпадают");
                Login = "";
                Password = "";
                return;
            }
            */
            Navigation.ToPortal();
        }
    }
}
