using esoft.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows;

namespace esoft.Class
{
    // Класс CoefficientFill наследуется от класса Manager и предоставляет метод для заполнения коэффициентов по идентификатору менеджера.
    public class CoefficientFill : Manager
    {
        // Метод CoefficientFills заполняет коэффициенты на основе данных менеджера с указанным идентификатором.
        public static CoefficientFill CoefficientFills(int managerId)
        {
            try
            {
                // Создание экземпляра ActualContext для получения актуальных данных
                ActualContext actualContext = new ActualContext();

                // Получение менеджера из контекста данных
                var manager = esoftEntities.GetContext().Manager
                    .FirstOrDefault(m => m.ID == managerId);

                // Проверка наличия менеджера
                if (manager != null)
                {
                    // Создание нового экземпляра CoefficientFill и заполнение его данными менеджера
                    return new CoefficientFill
                    {
                        ID = manager.ID,
                        JuniorMinimum = manager.JuniorMinimum,
                        MiddleMinimum = manager.MiddleMinimum,
                        SeniorMinimum = manager.SeniorMinimum,
                        AnalysisCoefficient = manager.AnalysisCoefficient,
                        InstallationCoefficient = manager.InstallationCoefficient,
                        SupportCoefficient = manager.SupportCoefficient,
                        TimeCoefficient = manager.TimeCoefficient,
                        DifficultyCoefficient = manager.DifficultyCoefficient,
                        ToMoneyCoefficient = manager.ToMoneyCoefficient,
                    };
                }
            }
            catch
            {
                // В случае ошибки выводится сообщение об ошибке
                MessageBox.Show("Ошибка при заполнении коэффициентов",
                    "Ошибка",
                    MessageBoxButton.OK,
                    MessageBoxImage.Error);
            }

            return null;
        }
    }
}