using DemoPractick.Model;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.ComponentModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Input;

namespace DemoPractick.VM
{
    public class ViewModel : INotifyPropertyChanged
    {
        public event PropertyChangedEventHandler PropertyChanged;
        private static Entities Sushnosti { get; } = new Entities();

        public ObservableCollection<Product> DataList = new ObservableCollection<Product>(Sushnosti.Product.ToList());


        //Вывод списка
        public ObservableCollection<Product> DataListGet
        {

            get
            {
                PropertyChanged(this, new PropertyChangedEventArgs("GetunstaticEqu"));
                return DataList;
            }
        }

        //Получить начальное значение элементов в списке(в программе)
        public int GetunstaticEqu
        {
            get
            {
                return DataList.Count;
            }
        }
        //Получить конечное значение элементов в списке(из базы)
        public int GetstaticEqu
        {
            get
            {
                return Sushnosti.Product.ToList().Count;
            }
        }
        //Получить Тип Продукта
        public List<string> TypeProduct
        {
            get
            {
                List<string> answer = new List<string>();
                answer.Add("Все типы");
                var temp = Sushnosti.ProductType.ToList();
                foreach (var obj in temp)
                {
                    answer.Add(obj.Title);
                }
                return answer;
            }
        }



        List<object> select = new List<object>();
        public List<object> Set
        {
            set
            {
                select = value;
                PropertyChanged(this, new PropertyChangedEventArgs("ShowButtonChange"));
            }
        }
        public List<Product> Selected
        {
            get
            {
                List<Product> resultList = new List<Product>();
                foreach (var item in select)
                {
                    resultList.Add((Product)item);
                }
                return resultList;
            }
        }



    }
}
