private void NavigationService_Navigating(object sender, NavigatingCancelEventArgs e) { if (NeedToReturnToEditDiscounts()) { e.Cancel = true; return; } SystemDataHandle.CloseConnection(); }
private async void GetFilials(object sender, RoutedEventArgs e) { List <ItemFilial> itemsFilial = null; await Task.Run(() => { itemsFilial = SystemDataHandle.GetFilials(); }); if (itemsFilial != null) { itemsFilial.ForEach(ItemsFilialAll.Add); } }
private async void ButtonDelete_Click(object sender, RoutedEventArgs e) { if (MessageBox.Show( "Вы уверены, что хотите удалить выбранные записи?", "Удаление", MessageBoxButton.YesNoCancel, MessageBoxImage.Question) != MessageBoxResult.Yes) { return; } List <ItemDiscount> itemsToDeleteFromDb = new List <ItemDiscount>(); List <ItemDiscount> itemsToDeleteFromListView = new List <ItemDiscount>(); foreach (ItemDiscount item in ListViewDiscounts.SelectedItems) { if (item.IsNewAdded) { itemsToDeleteFromListView.Add(item); continue; } itemsToDeleteFromDb.Add(item); } Cursor = Cursors.Wait; await Task.Run(() => { SystemDataHandle.DeleteDiscounts(itemsToDeleteFromDb); }); itemsToDeleteFromListView.AddRange(itemsToDeleteFromDb); foreach (ItemDiscount item in itemsToDeleteFromListView) { ItemsDiscount.Remove(item); } if (ItemsDiscount.Count == 0) { isDiscountsChanged = false; ButtonApplyChanges.IsEnabled = false; } Cursor = Cursors.Arrow; }
private async void ButtonSearch_Click(object sender, RoutedEventArgs e) { string enteredText = TextBoxSearch.Text; if (string.IsNullOrEmpty(enteredText) || string.IsNullOrWhiteSpace(enteredText)) { MessageBox.Show( "Необходимо ввести текст в поле для ввода", string.Empty, MessageBoxButton.OK, MessageBoxImage.Warning); return; } ItemsIC.Clear(); Cursor = Cursors.Wait; List <ItemIC> resultItems = new List <ItemIC>(); bool displayClosedContracts = CheckBoxUseClosedContracts.IsChecked == true ? true : false; await Task.Run(() => { resultItems = SystemDataHandle.SearchForIC(enteredText, itemsFilial, displayClosedContracts); }); ButtonSelectAllIC.IsEnabled = resultItems.Count > 0; isSearchCompleted = resultItems.Count > 0; if (resultItems.Count == 0) { resultItems.Add(new ItemIC() { SHORTNAME = "По указаному запросу ничего не найдено" }); } resultItems.ForEach(ItemsIC.Add); Cursor = Cursors.Arrow; }
private async void ButtonSearchAll_Click(object sender, RoutedEventArgs e) { List <ItemDiscount> itemsDiscount = null; Cursor = Cursors.Wait; await Task.Run(() => { itemsDiscount = SystemDataHandle.SelectDiscountsAll(); }); Cursor = Cursors.Arrow; if (itemsDiscount.Count == 0) { MessageBox.Show("Нет данных за выбранный диапазон дат", "", MessageBoxButton.OK, MessageBoxImage.Information); return; } PageViewDiscounts pageViewDiscounts = new PageViewDiscounts(); NavigationService.Navigate(pageViewDiscounts); }
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 ButtonApplyChanges_Click(object sender, RoutedEventArgs e) { foreach (ItemDiscount itemDiscount in ItemsDiscount) { if (!itemDiscount.IsChanged || itemDiscount.BZ_ADID != null) { continue; } if (!itemDiscount.ContractPreview.Contains(" / ")) { MessageBox.Show( "Имеются новые записи, у которых не выбран договор", "Отмена", MessageBoxButton.OK, MessageBoxImage.Warning); return; } if (itemDiscount.DISCOUNT < 1) { MessageBox.Show( "Имеются записи, у которых не задан размер скидки", "Отмена", MessageBoxButton.OK, MessageBoxImage.Warning); return; } bool isFound = false; foreach (ItemIC itemIC in itemsIC) { if (itemDiscount.ContractPreview.Equals(itemIC.GetContractPreview())) { itemDiscount.JID = itemIC.JID; itemDiscount.AGRID = itemIC.AGRID; itemDiscount.FILIAL = itemIC.FILIAL; isFound = true; break; } } if (!isFound) { MessageBox.Show( "Не удалось определить данные договора для строки: " + itemDiscount.ContractPreview, "Ошибка обработки", MessageBoxButton.OK, MessageBoxImage.Error); return; } } Cursor = Cursors.Wait; await Task.Run(() => { SystemDataHandle.UpdateOrInsertDiscount(ItemsDiscount.Where(i => i.IsChanged).ToList()); }); foreach (ItemDiscount item in ItemsDiscount) { item.IsNewAdded = false; } Cursor = Cursors.Arrow; isDiscountsChanged = false; ((Button)sender).IsEnabled = false; UpdateListViewDiscounts(); }
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; }