using DontHarmDesktop.Properties;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Data;
using System.Linq;
using System.Threading.Tasks;
using System.Windows;

namespace DontHarmDesktop
{
    /// <summary>
    /// Логика взаимодействия для App.xaml
    /// </summary>
    public partial class App : Application
    {
        public static Models.Entities Context { get; } = new Models.Entities();
        public static Models.users CurrentUser = null;

        /// <summary>
        /// Дата входа пользователя
        /// </summary>
        public static DateTime LogOnTime = new DateTime();

        /// <summary>
        /// Дата конца сеанса (только для лаборанта)
        /// </summary>
        public static DateTime LogOffTime = new DateTime();

        /// <summary>
        /// Авторизует пользователя
        /// </summary>
        /// <param name="login">Логин</param>
        /// <param name="password">Пароль</param>
        /// <returns>Успешна ли прошла авторизация</returns>
        public static bool LogOn(string login, string password)
        {
            var result = Context.users.FirstOrDefault(p => p.login == login && p.password == password);
            if (result == null)
            {
                return false;
            }
            LogOnTime = DateTime.Now;

            // Вычисление даты выхода кварцевания (2 минуты)
            LogOffTime = LogOnTime + TimeSpan.FromSeconds(5);

            CurrentUser = result;
            return true;
        }

        /// <summary>
        /// Выполняет выход пользователя
        /// </summary>
        public static void LogOff()
        {
            CurrentUser = null;
        }
    }
}
