//Клик по контекстному меню печати наклейки
        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);
            }
        }
Esempio n. 4
0
 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);
     }
 }
Esempio n. 5
0
 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();
        }
Esempio n. 11
0
        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);
            }
        }
Esempio n. 12
0
        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));
        }
Esempio n. 13
0
        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);
        }
Esempio n. 14
0
        //Фильтры отображени/сокрытия строк таблиц
        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;
                }
            };
        }
Esempio n. 15
0
        //Отгружено
        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);
            }
        }
Esempio n. 16
0
        //Фильтры отображени/сокрытия строк таблиц
        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;
                }
            };
        }
Esempio n. 17
0
 public BidBlank(Bid bid, EquipmentBid equipmentBid)
 {
     this.bid          = bid;
     this.equipmentBid = equipmentBid;
 }