using Avalonia.Controls;
using Demo2703.Models;
using System.Collections.Generic;
using System.Linq;

namespace Demo2703;

public partial class MainWindow : Window
{
    public MainWindow() 
    {
        InitializeComponent();

        ProductListBox.ItemsSource = Helper.Producty;
        FilterManufac.ItemsSource = Helper.ManufacturerList;
        //Сразу суём в фильтрацию по производителю первый элемент Все элементы, потому что иначе он будет получать нал и никакая фильтрация не будет работать
        FilterManufac.SelectedIndex= 0;
        SortCost.SelectedIndex= 0;
    }

    private void TextBox_TextChanged(object? sender, Avalonia.Controls.TextChangedEventArgs e)
    {
        Change();
    }

    private void ComboBox_SelectionChanged(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
    {
        Change();
    }

    private void ComboBox_SelectionChanged_1(object? sender, Avalonia.Controls.SelectionChangedEventArgs e)
    {
        Change();
    }
    public void Change()
    {
        Helper.IzmenaProductov(SearchProduct.Text, SortCost.SelectedIndex, (FilterManufac.SelectedItem as Manufacturer).Id);
        //перезаписываем листбокс который в ахамл
        ProductListBox.ItemsSource = Helper.Producty;
        //количество продуктов на экране
        Kolich.Text = Helper.KolichProd;
    }

    private void Button_Click(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
    {
        new AddEdit().Show();
        Close();
    }

    private void Border_DoubleTapped(object? sender, Avalonia.Input.TappedEventArgs e)
    {
        new AddEdit(int.Parse((sender as Border).Tag.ToString())).Show();
        Close() ;
    }

    private void Button_Click_1(object? sender, Avalonia.Interactivity.RoutedEventArgs e)
    {
        new History().Show();
        Close();
    }
}