using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media.Imaging;
using System.Windows.Shapes;

namespace DemoTest_Boldin_41P
{
    /// <summary>
    /// Логика взаимодействия для windChangeAgent.xaml
    /// </summary>
    public partial class windChangeAgent : Window
    {
        Agent currAgent;
        AgentType currType;
        public windChangeAgent(IList curAg)
        {
            InitializeComponent();
            foreach (Agent a in curAg)
            {
                currAgent = a;
            }
            DataContext = currAgent;
            List<AgentType> at = BaseConnect.BaseModel.AgentType.ToList();
            List<string> types = new List<string>();
            currType = BaseConnect.BaseModel.AgentType.FirstOrDefault(x => x.ID == currAgent.AgentTypeID);
            types.Add(currType.Title);
            foreach (AgentType a in at)
            {
                if (a.ID != currType.ID)
                {
                    types.Add(a.Title);
                }
            }

            foreach (string s in types)
            {
                cbType.Items.Add(s);
            }
            cbType.SelectedIndex = 0;
        }

        public windChangeAgent()
        {
            InitializeComponent();

            List<AgentType> at = BaseConnect.BaseModel.AgentType.ToList();
            List<string> types = new List<string>();
            foreach (AgentType a in at)
            {

                types.Add(a.Title);
            }
            foreach (string s in types)
            {
                cbType.Items.Add(s);
            }
            btnChange_Add.Content = "Добавить пользваотеля";
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            try
            {
                if (Convert.ToInt32(tbPrior.Text) >= 0)
                {
                    currType = BaseConnect.BaseModel.AgentType.FirstOrDefault(x => x.Title == cbType.SelectedValue);
                    currAgent.AgentTypeID = currType.ID;
                    BaseConnect.BaseModel.SaveChanges();
                    MessageBox.Show("Запись успешно изменена!");
                }
                else
                    MessageBox.Show("Приоритет должен быть положительным числом!");

            }
            catch
            {
                MessageBox.Show("Проверьте правильность введенных данных");
            }

        }

        private void Button_Click_1(object sender, RoutedEventArgs e)
        {
            List<ProductSale> ps = BaseConnect.BaseModel.ProductSale.Where(x => x.AgentID == currAgent.ID).ToList();
            if (ps.Count < 1)
            {
                BaseConnect.BaseModel.Agent.Remove(currAgent);
                BaseConnect.BaseModel.SaveChanges();
                MessageBox.Show("Агент удален!");
                this.Hide();
            }
            else
                MessageBox.Show("Агент не может быть удален удален, так как есть инофрмация о реализации продукции!");
        }
    }
}
