private void ButtonAdd_Click(object sender, RoutedEventArgs e) { string preview = "Добавление новой записи, выберите договор из списка"; List <string> selectedContracts = new List <string>() { preview }; foreach (ItemIC item in itemsIC) { selectedContracts.Add(item.GetContractPreview()); } ItemsDiscount.Add(new ItemDiscount(preview) { Contract = selectedContracts, IsNewAdded = true }); CheckBox_Click(null, null); }
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 ButtonExportToExcel_Click(object sender, RoutedEventArgs e) { Cursor = Cursors.Wait; string result = string.Empty; await Task.Run(() => { result = NpoiExcel.WriteItemsDiscountToExcel(ItemsDiscount.ToList()); }); if (File.Exists(result)) { Process.Start(result); } else { MessageBox.Show(result, "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); } Cursor = Cursors.Arrow; }
private void CheckBox_Click(object sender, RoutedEventArgs e) { ComboBoxEndlessIsChecked = ItemsDiscount.Where(i => i.ENDLESS == false).ToList().Count == 0; ComboBoxAmountRelationIsChecked = ItemsDiscount.Where(i => i.AMOUNTRELATION == false).ToList().Count == 0; }
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; }