using Muzzle.Class;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows;
using System.Windows.Controls;

namespace Muzzle
{
    /// <summary>
    /// Логика взаимодействия для Update.xaml
    /// </summary>
    public partial class Update : Window
    {

        Product products; //сделали глоубальную переменную с выводом записей, чтобы использовать ее для изменений
        public static class Products
        {
            public static Frame frm;
        }
        public Update(int idProduct)
        {
            InitializeComponent();
            products = BaseConnect.baseConnect.Product.FirstOrDefault(x => x.ID == idProduct); //Изменили Where на FirstOrDefault для того, чтобы выбирать не все записи из таблицы, а конкретный продукт
            List<ProductType> productsType = BaseConnect.baseConnect.ProductType.ToList();
            Art.Text = products.ArticleNumber; //Считывание пОля из таблицы (вывод данных в поле в макете) 
            Title.Text = products.Title;
            TypeProduct.ItemsSource = BaseConnect.baseConnect.ProductType.ToList();//создали лист с типами продуктов

            TypeProduct.DisplayMemberPath = "Title";
            TypeProduct.SelectedValuePath = "ID";
            TypeProduct.SelectedValue = products.ProductTypeID;//вывод на ComboBox название типа продукта который выбран

            Kol.Text = products.ProductionPersonCount.ToString(); //вывод данных
            Number.Text = products.ProductionWorkshopNumber.ToString();
            CostMin.Text = products.MinCostForAgent.ToString();
            Opis.Text = products.Description;
        }
        private void btnNaz_Click(object sender, RoutedEventArgs e)
        {
            this.Close();
        }

        private void btnDob_Click(object sender, RoutedEventArgs e)
        {
            products.ArticleNumber = Art.Text;
            products.Title = Title.Text;
            TypeProduct.DisplayMemberPath = "Title";
            TypeProduct.SelectedValuePath = "ID";
            products.ProductTypeID = (int)TypeProduct.SelectedValue;
            products.ProductionPersonCount = Convert.ToInt32(Kol.Text); //конвертация в int
            products.ProductionWorkshopNumber = Convert.ToInt32(Number.Text);
            products.MinCostForAgent = Convert.ToInt32(CostMin);
            products.Description = Opis.Text;

            //изменяемая строка
            BaseConnect.baseConnect.SaveChanges(); //изменить(сохранить) строку в базе данных
            
        }
    }
}
