private void BC_Serch(object sender, RoutedEventArgs e) // реализация поиска по БД { var unic = db.Consumers.FirstOrDefault(p => p.id == 1); if (unic == null) { MessageBox.Show($"Ваша база данных пуста.\nПоиск не возможен.", "Внимание!.", MessageBoxButton.OK, MessageBoxImage.Information); } else { MainViewTable MainViewTable = new MainViewTable(); var result = from test in MainViewTable.MainVTable() select test; // приведение цены в формат для организации поиска double start_price, end_price; double.TryParse(TB_PriceStart.Text, out start_price); double.TryParse(TB_PriceEnd.Text, out end_price); if (end_price == 0) // устанолвение макисмального значения конечной цены если она не указана в параметрах поиска { end_price = Int32.MaxValue; } // работа с датой.. реализовано автозаполнение минимальным и максимальным значением если не выбраны if (DP_StartDate.SelectedDate != null && DP_EndDate.SelectedDate == null) { DP_EndDate.SelectedDate = DateTime.MaxValue; } else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate != null) { DP_StartDate.SelectedDate = DateTime.MinValue; } else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate == null) { DP_EndDate.SelectedDate = DateTime.MaxValue; DP_StartDate.SelectedDate = DateTime.MinValue; } // реализация поиска в виде запроса к промежуточной таблице с выбранными параметрами var serch = result.Where(p => p.unp.Contains(TB_UNP.Text)) //потом сделать поля из формы через проверку .Where(p => p.name.ToLower().Contains(TB_Name.Text)) .Where(p => p.name_of_purchase.ToLower().Contains(TB_NameOfPurshase.Text)) .Where(p => p.type_of_purshase.Contains(CB.Text)) .Where(p => p.status.Contains(Status.Text)) .Where(p => p.cost >= start_price && p.cost <= end_price) .Where(p => p.start_date >= DP_StartDate.SelectedDate && p.end_date <= DP_EndDate.SelectedDate) .Select(c => c); online_status1.Text = "Записей в таблице: " + serch.Count().ToString(); MainTabl.ItemsSource = serch.ToList(); // обнуление параметров даты DP_EndDate.SelectedDate = DateTime.Now; DP_EndDate.SelectedDate = null; DP_StartDate.SelectedDate = DateTime.Now; DP_StartDate.SelectedDate = null; } }
public Card(string x) : this() { MainViewTable MainViewTable = new MainViewTable(); this.x = x; var result = from p in MainViewTable.MainVTable() // отбор по условию where p.num_purhchase == x select p; var t = result.ToList(); GR_Card.DataContext = t[0]; }
private void BC_Serch(object sender, RoutedEventArgs e) // реализация поиска по БД { MainViewTable MainViewTable = new MainViewTable(); var result = from test in MainViewTable.MainVTable() select test; // приведение цены в формат для организации поиска double start_price, end_price; double.TryParse(TB_PriceStart.Text, out start_price); double.TryParse(TB_PriceEnd.Text, out end_price); if (end_price == 0) // устанолвение макисмального значения конечной цены если она не указана в параметрах поиска { end_price = Int32.MaxValue; } // работа с датой.. реализовано автозаполнение минимальным и максимальным значением если не выбраны if (DP_StartDate.SelectedDate != null && DP_EndDate.SelectedDate == null) { DP_EndDate.SelectedDate = DateTime.MaxValue; } else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate != null) { DP_StartDate.SelectedDate = DateTime.MinValue; } else if (DP_StartDate.SelectedDate == null && DP_EndDate.SelectedDate == null) { DP_EndDate.SelectedDate = DateTime.MaxValue; DP_StartDate.SelectedDate = DateTime.MinValue; } // реализация поиска в виде запроса к промежуточной таблице с выбранными параметрами var serch = result.Where(p => p.unp.Contains(TB_UNP.Text)) //потом сделать поля из формы через проверку .Where(p => p.name.ToLower().Contains(TB_Name.Text)) .Where(p => p.name_of_purchase.ToLower().Contains(TB_NameOfPurshase.Text)) .Where(p => p.type_of_purshase.Contains(CB.Text)) .Where(p => p.status.Contains(Status.Text)) .Where(p => p.cost >= start_price && p.cost <= end_price) .Where(p => p.start_date >= DP_StartDate.SelectedDate && p.end_date <= DP_EndDate.SelectedDate) .Select(c => c); MainTabl.ItemsSource = serch.ToList(); // обнуление параметров даты DP_EndDate.SelectedDate = DateTime.Now; DP_EndDate.SelectedDate = null; DP_StartDate.SelectedDate = DateTime.Now; DP_StartDate.SelectedDate = null; }
private void DataLoad() // загрузка из БД данных согласно полей таблицы в основную форму из виртуальной таблицы { MainViewTable MainViewTable = new MainViewTable(); var res1 = from test in MainViewTable.MainVTable() select test; MainTabl.ItemsSource = res1.ToList(); var type = db.TypePurshases.Select(p => p.type_of_purshase); // добавляем в комбобок список типов закупок List <string> list_of_type = new List <string>(type); CB.ItemsSource = list_of_type; var type2 = db.Statuses.Select(p => p.status); // добавляем в комбобокс статусы закупок List <string> list_of_stulis = new List <string>(type2); Status.ItemsSource = list_of_stulis; }