//Клик по контекстному меню печати наклейки void MiPrintSticker_Click(object sender, RoutedEventArgs e) { EquipmentBid equipmentBid = dgvEquipmentBid.SelectedItem as EquipmentBid; if (equipmentBid == null) { return; } SaveFileDialog sfDialog = new SaveFileDialog(); sfDialog.FileName = "Наклейка заявки №" + equipmentBid.Id_bid.ToString() + " для оборудования " + equipmentBid.EquipmentName + ", код оборудования в заявке " + equipmentBid.Id.ToString() + " (" + DateTime.Now.ToString("dd.MM.yyyy") + ").xlsx"; sfDialog.Filter = "Excel 2007 worksheet (*.xlsx)|*.xlsx"; if (sfDialog.ShowDialog() != true) { return; } Reports.Sticker sticker = new StangradCRM.Reports.Sticker(equipmentBid); sticker.FileName = sfDialog.FileName; if (!sticker.Save()) { MessageBox.Show(sticker.LastError); } else { MessageBox.Show("Наклейка сохранена по пути " + sticker.FileName); System.Diagnostics.Process.Start(System.IO.Path.GetDirectoryName(sticker.FileName)); } }
//Конструктор при редактировании комплектации в заявке public EquipmentBidSaveWindow(EquipmentBid equipmentBid) { InitializeComponent(); Title = "Редактирование комплектации в заявке №" + equipmentBid.Id_bid.ToString(); setViewSources(); Equipment equipment = EquipmentViewModel.instance().getById(equipmentBid.Id_equipment); if (equipment != null) { cbxEquipment.SelectedItem = equipment; } if (equipmentBid.Id_modification != null) { Modification modification = ModificationViewModel.instance().getById((int)equipmentBid.Id_modification); if (modification != null) { cbxModification.SelectedItem = modification; } } DataContext = new { ComplectationCollection = equipmentBid.ComplectationCollection }; this.equipmentBid = equipmentBid; cbxEquipment.IsEnabled = false; }
//Нажатие на кнопку удаления в строке, удаляет запись void BtnEquipmentBidRemove_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button == null) { return; } DataGridRow row = Classes.FindItem.FindParentItem <DataGridRow>(button); if (row == null) { return; } EquipmentBid equipmentBid = row.Item as EquipmentBid; if (equipmentBid == null) { return; } if (MessageBox.Show("Удалить оборудование из заявки?", "Удалить оборудование из заявки?", MessageBoxButton.YesNo) == MessageBoxResult.No) { return; } if (!equipmentBid.remove()) { MessageBox.Show(equipmentBid.LastError); } }
private void CreateRows(List <EquipmentBidGroup> ebGroup) { for (int i = 0; i < ebGroup.Count; i++) { EquipmentBid equipmentBid = ebGroup[i].EquipmentBid; ReportRow row = new ReportRow(); row.Add(new ReportCell(equipmentBid.EquipmentName) { VerticalAlignment = VerticalAlignment.Bottom, BorderColor = System.Drawing.Color.Black }); string modificationName = ""; if (equipmentBid.Id_modification != null) { modificationName = equipmentBid.ModificationName; } row.Add(new ReportCell(modificationName) { VerticalAlignment = VerticalAlignment.Bottom, BorderColor = System.Drawing.Color.Black }); row.Add(new ReportCell(ebGroup[i].Count.ToString()) { VerticalAlignment = VerticalAlignment.Bottom, BorderColor = System.Drawing.Color.Black }); Rows.Add(row); } }
public Sticker(EquipmentBid equipmentBid) { if (equipmentBid.Serial_number != null) { serialNumber = equipmentBid.Serial_number.ToString(); } this.equipmentBid = equipmentBid; }
//Клик по кнопке печати бланков void BtnPrintBlank_Click(object sender, RoutedEventArgs e) { Bid bid = dgvBid.SelectedItem as Bid; if (bid == null) { return; } Buyer buyer = BuyerViewModel.instance().getById(bid.Id_buyer); if (buyer == null) { return; } var openFolderDialog = new System.Windows.Forms.FolderBrowserDialog(); if (iniFile.KeyExists("report_path") && System.IO.Directory.Exists(iniFile.Read("report_path"))) { openFolderDialog.SelectedPath = iniFile.Read("report_path"); } System.Windows.Forms.DialogResult result = openFolderDialog.ShowDialog(Classes.OpenDirectoryDialog.GetIWin32Window(this)); if (result == System.Windows.Forms.DialogResult.OK) { processControl.Visibility = Visibility.Visible; Task.Factory.StartNew(() => { int reportCount = bid.EquipmentBidCollection.Count; for (int i = 0; i < reportCount; i++) { Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { processControl.Text = "Формирование бланков " + (i + 1).ToString() + " из " + reportCount.ToString(); })); EquipmentBid equipmentBid = bid.EquipmentBidCollection[i]; string fileName = "Бланк заявки №" + bid.Id.ToString() + "-" + equipmentBid.Id.ToString() + " " + bid.Account + " " + buyer.Name + ".xlsx"; Reports.BidBlank bidBlank = new StangradCRM.Reports.BidBlank(bid, equipmentBid); bidBlank.FileName = openFolderDialog.SelectedPath + "/" + Classes.ReplaceSpecialCharsFileName.Replace(fileName); if (!bidBlank.Save()) { MessageBox.Show(bidBlank.LastError); Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { processControl.Visibility = Visibility.Hidden; })); return; } equipmentBid.Is_blank_print = 1; if (!equipmentBid.save()) { MessageBox.Show("Не удалось установить статус 'Бланк заявки сформирован' для оборудования в заявке\n" + equipmentBid.LastError); Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { processControl.Visibility = Visibility.Hidden; })); return; } } Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { processControl.Visibility = Visibility.Hidden; })); MessageBox.Show("Все бланки заявок сохранены в директорию '" + openFolderDialog.SelectedPath + "'"); iniFile.Write("report_path", openFolderDialog.SelectedPath); System.Diagnostics.Process.Start(openFolderDialog.SelectedPath); }); } }
void Button_Click(object sender, RoutedEventArgs e) { Button button = sender as Button; if (button == null) { return; } DataGridRow row = Classes.FindItem.FindParentItem <DataGridRow>(button); if (row == null) { return; } EquipmentBid equipmentBid = row.Item as EquipmentBid; if (equipmentBid == null) { return; } if (MessageBox.Show("Вернуть в работу?", "Вернуть в работу?", MessageBoxButton.YesNo) != MessageBoxResult.Yes) { return; } equipmentBid.Is_archive = 0; Bid bid = BidViewModel.instance().getById(equipmentBid.Id_bid); if (!equipmentBid.save()) { MessageBox.Show(equipmentBid.LastError); return; } else { if (bid != null) { bid.Guid = Guid.NewGuid().ToString(); if (!bid.save()) { MessageBox.Show("Не удалось обновить время модификации заявки!\nДругой специалист тех. отдела не увидит обновление\n" + bid.LastError); } } } EquipmentBidViewModel.instance().updateStatus(equipmentBid); }
//Дабл клик по строке таблицы - открывает окно редактирования private void DgvEquipmentBid_RowDoubleClick(object sender, MouseButtonEventArgs e) { DataGridRow row = sender as DataGridRow; EquipmentBid equipmentBid = row.Item as EquipmentBid; if (equipmentBid == null) { return; } EquipmentBidSaveWindow window = new EquipmentBidSaveWindow(equipmentBid); window.ShowDialog(); }
private void SetComplectationSource() { EquipmentBid equipmentBid = dgvEquipmentBid.SelectedItem as EquipmentBid; Binding binding = new Binding(); if (equipmentBid == null) { binding.Source = null; } else { binding.Source = equipmentBid.ComplectationCollection; } dgvComplectation.SetBinding(DataGrid.ItemsSourceProperty, binding); }
//Конструктор при добавлении новой комплектации в заявку public EquipmentBidSaveWindow(int idBid) { InitializeComponent(); setViewSources(); isNew = true; equipmentBid = new EquipmentBid(); equipmentBid.Id_bid = idBid; gbxComplectation.Visibility = Visibility.Hidden; DataContext = new { ComplectationCollection = equipmentBid.ComplectationCollection }; Title += idBid.ToString(); }
public void updateStatus(EquipmentBid equipmentBid) { if (equipmentBid.Serial_number == null) { return; } int oldStatus = (equipmentBid.Is_archive == 0) ? 1 : 0; if (getCollectionByArchiveStatus(oldStatus).Contains(equipmentBid)) { getCollectionByArchiveStatus(oldStatus).Remove(equipmentBid); } if (!getCollectionByArchiveStatus(equipmentBid.Is_archive).Contains(equipmentBid)) { getCollectionByArchiveStatus(equipmentBid.Is_archive).Add(equipmentBid); } }
public bool @remove <T>(T modelItem) { EquipmentBid equipmentBid = modelItem as EquipmentBid; if (equipmentBid == null) { equipmentBid.LastError = "Не удалось преобразовать входные данные."; return(false); } if (!_collection.Contains(equipmentBid)) { return(true); } if (equipmentBid.Serial_number != null) { getCollectionByArchiveStatus(equipmentBid.Is_archive).Remove(equipmentBid); } return(_collection.Remove(equipmentBid)); }
public bool @add <T>(T modelItem) { EquipmentBid equipmentBid = modelItem as EquipmentBid; if (equipmentBid == null) { equipmentBid.LastError = "Не удалось преобразовать входные данные."; return(false); } EquipmentBid exist = getById(equipmentBid.Id); if (exist != null || _collection.Contains(equipmentBid)) { equipmentBid.LastError = "Данная запись уже есть в коллекции."; return(false); } if (equipmentBid.Serial_number != null) { getCollectionByArchiveStatus(equipmentBid.Is_archive).Add(equipmentBid); } _collection.Add(equipmentBid); return(true); }
//Фильтры отображени/сокрытия строк таблиц private void SetViewSources() { //Установка источника данных оборудования в заявке equipmentBidViewSource.Source = EquipmentBidViewModel.instance().Collection; //Установка фильтра equipmentBidViewSource.Filter += delegate(object sender, FilterEventArgs e) { EquipmentBid equipmentBid = e.Item as EquipmentBid; if (equipmentBid == null) { return; } Bid bid = dgvBid.SelectedItem as Bid; if (bid == null) { e.Accepted = false; return; } if (bid.Id == equipmentBid.Id_bid) { e.Accepted = true; } else { e.Accepted = false; } }; //Установка источника данных комплектация complectationViewSource.Source = ComplectationViewModel.instance().Collection; //Установка фильтра complectationViewSource.Filter += delegate(object sender, FilterEventArgs e) { Complectation complectation = e.Item as Complectation; if (complectation == null) { return; } EquipmentBid equipmentBid = dgvEquipmentBid.SelectedItem as EquipmentBid; if (equipmentBid == null) { e.Accepted = false; return; } if (complectation.Id_equipment_bid == equipmentBid.Id) { e.Accepted = true; } else { e.Accepted = false; } }; //Установка источника данных покупателей buyerViewSource.Source = BuyerViewModel.instance().Collection; //Установка фильтра buyerViewSource.Filter += delegate(object sender, FilterEventArgs e) { Buyer buyer = e.Item as Buyer; if (buyer == null) { return; } Bid bid = dgvBid.SelectedItem as Bid; if (bid == null) { e.Accepted = false; return; } if (buyer.Id == bid.Id_buyer) { e.Accepted = true; } else { e.Accepted = false; } }; }
//Отгружено private void IsShipped() { List <EquipmentBid> equipmentBids = new List <EquipmentBid>(); for (int i = 0; i < archiveBid.Count; i++) { equipmentBids.AddRange(archiveBid[i].EquipmentBidCollection.ToList()); } List <EquipmentBidGroup> ebGroup = new List <EquipmentBidGroup>(); for (int i = 0; i < equipmentBids.Count; i++) { EquipmentBidGroup equipmentBidGroup = ebGroup.Where(x => (x.IdEquipment == equipmentBids[i].Id_equipment) && (x.IdModification == equipmentBids[i].Id_modification)).FirstOrDefault(); if (equipmentBidGroup == null) { ebGroup.Add(new EquipmentBidGroup() { EquipmentBid = equipmentBids[i], Count = 1 }); } else { equipmentBidGroup.Count++; } } if (equipmentBids.Count == 0) { return; } ReportRow rowH = new ReportRow(); rowH.Add(new ReportCell("Отгружено:")); Rows.Add(rowH); ReportRow rowT = new ReportRow(); rowT.Add(new ReportCell("Оборудование") { BorderColor = System.Drawing.Color.Black }); rowT.Add(new ReportCell("Модификация") { BorderColor = System.Drawing.Color.Black }); rowT.Add(new ReportCell("Количество") { ColumnSpan = 1, BorderColor = System.Drawing.Color.Black }); Rows.Add(rowT); ebGroup = ebGroup.OrderByDescending(x => x.Count).ToList(); for (int i = 0; i < ebGroup.Count; i++) { EquipmentBid equipmentBid = ebGroup[i].EquipmentBid; ReportRow row = new ReportRow(); row.Add(new ReportCell(equipmentBid.EquipmentName) { VerticalAlignment = VerticalAlignment.Bottom, BorderColor = System.Drawing.Color.Black }); string modificationName = ""; if (equipmentBid.Id_modification != null) { modificationName = equipmentBid.ModificationName; } row.Add(new ReportCell(modificationName) { VerticalAlignment = VerticalAlignment.Bottom, BorderColor = System.Drawing.Color.Black }); row.Add(new ReportCell(ebGroup[i].Count.ToString()) { ColumnSpan = 1, VerticalAlignment = VerticalAlignment.Bottom, BorderColor = System.Drawing.Color.Black }); Rows.Add(row); } }
//Фильтры отображени/сокрытия строк таблиц private void SetViewSources() { equipmentBidViewSource.Source = EquipmentBidViewModel.instance().Collection; equipmentBidViewSource.Filter += delegate(object sender, FilterEventArgs e) { EquipmentBid equipmentBid = e.Item as EquipmentBid; if (equipmentBid == null) { return; } Bid bid = dgvBid.SelectedItem as Bid; if (bid == null) { e.Accepted = false; return; } if (bid.Id == equipmentBid.Id_bid) { e.Accepted = true; } else { e.Accepted = false; } }; complectationViewSource.Source = ComplectationViewModel.instance().Collection; complectationViewSource.Filter += delegate(object sender, FilterEventArgs e) { Complectation complectation = e.Item as Complectation; if (complectation == null) { return; } EquipmentBid equipmentBid = dgvEquipmentBid.SelectedItem as EquipmentBid; if (equipmentBid == null) { e.Accepted = false; return; } if (complectation.Id_equipment_bid == equipmentBid.Id) { e.Accepted = true; } else { e.Accepted = false; } }; buyerViewSource.Source = BuyerViewModel.instance().Collection; buyerViewSource.Filter += delegate(object sender, FilterEventArgs e) { Buyer buyer = e.Item as Buyer; if (buyer == null) { return; } Bid bid = dgvBid.SelectedItem as Bid; if (bid == null) { e.Accepted = false; return; } if (buyer.Id == bid.Id_buyer) { e.Accepted = true; } else { e.Accepted = false; } }; }
public BidBlank(Bid bid, EquipmentBid equipmentBid) { this.bid = bid; this.equipmentBid = equipmentBid; }