private async void ButtonSearchByDate_Click(object sender, RoutedEventArgs e) { bool showErrorMessage = false; if (DatePickerDateBegin.SelectedDate == null) { showErrorMessage = true; } if (CheckBoxDontSelectDateEnd.IsChecked == false) { if (RadioButtonDateSelect.IsChecked == true) { if (DatePickerEnd.SelectedDate == null) { showErrorMessage = true; } else if (DatePickerEnd.SelectedDate.Value < DatePickerDateBegin.SelectedDate.Value) { showErrorMessage = true; } } } if (showErrorMessage) { MessageBox.Show("Выберите корректный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information); return; } string sqlQuery = Properties.Settings.Default.MisSqlSelectDiscountsByDatesTemplate + Environment.NewLine; bool strongEqual = RadioButtonStrongEqual.IsChecked ?? false; bool dontSelectEndDate = CheckBoxDontSelectDateEnd.IsChecked ?? false; bool endDateSelected = RadioButtonDateSelect.IsChecked ?? false; if (dontSelectEndDate) { if (strongEqual) { sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginStrongEqual; } else { sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginWeakEqual; } } else { if (endDateSelected) { if (strongEqual) { sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndStrongEqual; } else { sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndWeakEqual; } } else { if (strongEqual) { sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndlesslStrongEqual; } else { sqlQuery += Properties.Settings.Default.MisSqlSelectDiscountsByDateBeginEndlesslWeakEqual; } } } DateTime?dateTimeEnd = null; if (!dontSelectEndDate && endDateSelected) { dateTimeEnd = DatePickerEnd.SelectedDate.Value; } Dictionary <string, string> parameters = new Dictionary <string, string>() { { "@dateBegin", DatePickerDateBegin.SelectedDate.Value.ToShortDateString() } }; if (dateTimeEnd.HasValue) { parameters.Add("@dateEnd", dateTimeEnd.Value.ToShortDateString()); } bool showClosesContracts = CheckBoxShowClosedContracts.IsChecked ?? false; List <ItemDiscount> itemsDiscount = null; Cursor = Cursors.Wait; await Task.Run(() => { itemsDiscount = SystemDataHandle.SelectDiscoutByDates(sqlQuery, parameters, itemsFilial, showClosesContracts); }); Cursor = Cursors.Arrow; if (itemsDiscount.Count == 0) { MessageBox.Show("Нет данных за выбранный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information); return; } PageViewDiscounts pageViewDiscounts = new PageViewDiscounts(sqlQuery, parameters, itemsFilial, showClosesContracts); NavigationService.Navigate(pageViewDiscounts); }
private async void UpdateListViewDiscounts() { if (NeedToReturnToEditDiscounts()) { return; } ItemsDiscount.Clear(); isDiscountsChanged = false; ButtonAdd.IsEnabled = false; ButtonApplyChanges.IsEnabled = false; ButtonExportToExcel.IsEnabled = false; ComboBoxEndlessIsChecked = false; ComboBoxAmountRelationIsChecked = false; List <ItemDiscount> discounts = new List <ItemDiscount>(); Cursor = Cursors.Wait; switch (searchType) { case SearchType.ByNameOrNumber: await Task.Run(() => { discounts = SystemDataHandle.SelectDiscount(itemsIC); }); ButtonAdd.IsEnabled = true; break; case SearchType.ByDate: await Task.Run(() => { discounts = SystemDataHandle.SelectDiscoutByDates( sqlQuerySelectDiscountsByDate, sqlQueryParameters, itemsFilial, showClosedContracts); }); break; case SearchType.All: await Task.Run(() => { discounts = SystemDataHandle.SelectDiscountsAll(); }); break; default: return; } if (discounts.Count == 0) { switch (searchType) { case SearchType.ByNameOrNumber: ButtonAdd_Click(ButtonAdd, new RoutedEventArgs()); break; case SearchType.ByDate: MessageBox.Show("Нет данных за выбранный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information); break; default: break; } } ButtonExportToExcel.IsEnabled = discounts.Count > 0; ButtonSelectAllDiscounts.IsEnabled = discounts.Count > 0; discounts.ForEach(ItemsDiscount.Add); CheckBox_Click(null, null); Cursor = Cursors.Arrow; }