//Ф-я сохранения комплектаций
 void complectationSave(Complectation complectation)
 {
     IsEnabled = false;
     loadingProgress.Visibility = Visibility.Visible;
     Task.Factory.StartNew(() => {
         if (complectation.Id_complectation_item == 0)
         {
             ComplectationItem item = new ComplectationItem();
             item.Name = complectation.NewComplectationItemName;
             if (!item.save())
             {
                 Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { complectationItemErrorSave(item); }));
                 return;
             }
             complectation.Id_complectation_item = item.Id;
         }
         if (complectation.save())
         {
             Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { complectationSuccessSave(complectation); }));
         }
         else
         {
             Dispatcher.BeginInvoke(DispatcherPriority.Background, new Action(() => { complectationErrorSave(complectation); }));
         }
     });
 }
        //Ф-я удаленной загрузки
        public void RemoteLoad()
        {
            //Список элементов комплектаций
            List <ComplectationItem> items = null;

            try
            {
                items = loadData();
            }
            catch
            {
                return;
            }
            if (items == null)
            {
                return;
            }

            //Цикл по элементам комплектаций
            for (int i = 0; i < items.Count; i++)
            {
                ComplectationItem item = getById(items[i].Id);
                if (item == null)
                {
                    add(items[i]);
                }
                else
                {
                    item.replace(items[i]);
                }
            }
        }
Beispiel #3
0
        void BtnEditRow_Click(object sender, RoutedEventArgs e)
        {
            ComplectationItem complectationItem = dgvComplectationItem.SelectedItem as ComplectationItem;

            if (complectationItem == null)
            {
                return;
            }

            ComplectationItemSaveWindow window = new ComplectationItemSaveWindow(complectationItem);

            window.ShowDialog();
        }
        public bool @remove <T>(T modelItem)
        {
            ComplectationItem complectationItem = modelItem as ComplectationItem;

            if (complectationItem == null)
            {
                complectationItem.LastError = "Не удалось преобразовать входные данные.";
                return(false);
            }
            if (!_collection.Contains(complectationItem))
            {
                return(true);
            }
            return(_collection.Remove(complectationItem));
        }
Beispiel #5
0
        public ComplectationItemWindow()
        {
            InitializeComponent();
            viewSource.Source = ComplectationItemViewModel.instance().Collection;

            viewSource.Filter += delegate(object sender, FilterEventArgs e)
            {
                ComplectationItem complectationItem = e.Item as ComplectationItem;
                if (complectationItem == null)
                {
                    return;
                }
                e.Accepted = complectationItem.IsVisible;
            };
            DataContext = new { ComplectationItemCollection = viewSource.View };
        }
Beispiel #6
0
        public ComplectationItemSaveWindow(ComplectationItem complectationItem = null)
        {
            InitializeComponent();
            defaultBrush = tbxName.Background;

            if (complectationItem != null)
            {
                Title                  = "Редактирование наименования комплектации " + complectationItem.Name;
                tbxName.Text           = complectationItem.Name;
                this.complectationItem = complectationItem;
            }
            else
            {
                this.complectationItem = new ComplectationItem();
            }

            tbxName.TextChanged += delegate { tbxName.Background = defaultBrush; };
        }
Beispiel #7
0
        //Дабл клик по строке таблицы - открывает окно редактирования
        private void RowDoubleClick(object sender, MouseButtonEventArgs e)
        {
            DataGridRow row = sender as DataGridRow;

            ComplectationItem complectationItem = row.Item as ComplectationItem;

            if (complectationItem == null)
            {
                return;
            }

            ComplectationItemSaveWindow window = new ComplectationItemSaveWindow(complectationItem);

            window.ShowDialog();


            viewSource.View.Refresh();
            dgvComplectationItem.CurrentCell = new DataGridCellInfo(row.Item, dgvComplectationItem.CurrentCell.Column);
        }
Beispiel #8
0
        void BtnDeleteRow_Click(object sender, RoutedEventArgs e)
        {
            if (MessageBox.Show("Подтвердите удаление",
                                "Удалить выбранную запись?",
                                MessageBoxButton.YesNo) != MessageBoxResult.Yes)
            {
                return;
            }
            ComplectationItem complectationItem = dgvComplectationItem.SelectedItem as ComplectationItem;

            if (complectationItem == null)
            {
                return;
            }
            if (!complectationItem.remove())
            {
                MessageBox.Show(complectationItem.LastError);
            }
        }
        public bool @add <T>(T modelItem)
        {
            ComplectationItem complectationItem = modelItem as ComplectationItem;

            if (complectationItem == null)
            {
                complectationItem.LastError = "Не удалось преобразовать входные данные.";
                return(false);
            }
            ComplectationItem exist = getById(complectationItem.Id);

            if (exist != null || _collection.Contains(complectationItem))
            {
                complectationItem.LastError = "Данная запись уже есть в коллекции.";
                return(false);
            }
            _collection.Add(complectationItem);
            return(true);
        }
        //Изменение наименования комплектации, устанавливает статус "Не сохранено"
        void DlcComplectationItem_TextChanged(object sender, TextChangedEventArgs e)
        {
            StangradCRM.Controls.DownListControl downListControl
                = sender as StangradCRM.Controls.DownListControl;

            if (downListControl == null)
            {
                return;
            }

            DataGridRow row = FindItem.FindParentItem <DataGridRow>(downListControl);

            if (row == null)
            {
                return;
            }

            Complectation complectation = (Complectation)row.Item;

            if (complectation == null)
            {
                return;
            }

            ComplectationItem citem = ComplectationItemViewModel.instance()
                                      .getByName(downListControl.Text);

            if (citem != null)
            {
                complectation.Id_complectation_item = citem.Id;
            }
            else
            {
                complectation.Id_complectation_item    = 0;
                complectation.NewComplectationItemName = downListControl.Text;
            }
            complectation.IsSaved = false;
        }
        //Выбор существующего наименования из выпадающего списка
        void DlcComplectationItem_OnSelect(object sender, StangradCRM.Controls.SelectionChanged e)
        {
            StangradCRM.Controls.DownListControl downList
                = sender as StangradCRM.Controls.DownListControl;
            if (downList == null)
            {
                return;
            }

            DataGridRow row = FindItem.FindParentItem <DataGridRow>(downList);

            if (row == null)
            {
                return;
            }

            Complectation complectation = (Complectation)row.Item;

            if (complectation == null)
            {
                return;
            }

            if (e.Value != null)
            {
                int id_complectation_item = (int)e.Value;
                if (complectation.Id_complectation_item == id_complectation_item)
                {
                    complectation.IsSaved = true;
                    return;
                }
                ComplectationItem item = ComplectationItemViewModel.instance().getById(id_complectation_item);
                complectation.Id_complectation_item = id_complectation_item;
                complectation.IsSaved = false;
            }
        }
 //Ф-я обработки ошибочного сохранения элемента комплектации
 void complectationItemErrorSave(ComplectationItem item)
 {
     System.Windows.MessageBox.Show(item.LastError);
     loadingProgress.Visibility = Visibility.Hidden;
     IsEnabled = true;
 }
Beispiel #13
0
        //Статистика комплектаций
        private void ComplectationStatistic()
        {
            Dictionary <int, int> complectationDict
                = new Dictionary <int, int>();

            for (int i = 0; i < archiveBid.Count; i++)
            {
                for (int j = 0; j < archiveBid[i].EquipmentBidCollection.Count; j++)
                {
                    for (int k = 0; k < archiveBid[i].EquipmentBidCollection[j].ComplectationCollection.Count; k++)
                    {
                        Complectation complectation = archiveBid[i].EquipmentBidCollection[j].ComplectationCollection[k];
                        if (!complectationDict.ContainsKey(complectation.Id_complectation_item))
                        {
                            complectationDict.Add(complectation.Id_complectation_item, 1);
                        }
                        else
                        {
                            complectationDict[complectation.Id_complectation_item]++;
                        }
                    }
                }
            }
            if (complectationDict.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, ColumnSpan = 1
            });
            rowT.Add(null);
            rowT.Add(new ReportCell("Кол-во комплектаций")
            {
                ColumnSpan = 1, BorderColor = System.Drawing.Color.Black
            });
            Rows.Add(rowT);

            foreach (KeyValuePair <int, int> kv in complectationDict.OrderByDescending(x => x.Value))
            {
                ComplectationItem citem = ComplectationItemViewModel.instance().getById(kv.Key);
                if (citem == null)
                {
                    continue;
                }

                ReportRow row = new ReportRow();
                row.Add(new ReportCell(citem.Name)
                {
                    ColumnSpan = 1, BorderColor = System.Drawing.Color.Black
                });
                row.Add(null);
                row.Add(new ReportCell(kv.Value.ToString())
                {
                    ColumnSpan = 1, BorderColor = System.Drawing.Color.Black
                });
                Rows.Add(row);
            }
        }