void SelectNewNomenclature_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var nomenclature = e.Subject as Nomenclature;

            newRow.NomenclatureNew = nomenclature;
            TemplateUoW.Root.AddItem(newRow);
        }
示例#2
0
        void SelectTemplate_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            if (DocumentUoW.Root.Items.Count > 0)
            {
                if (MessageDialogWorks.RunQuestionDialog("Текущий список будет очищен. Продолжить?"))
                {
                    DocumentUoW.Root.ObservableItems.Clear();
                }
                else
                {
                    return;
                }
            }

            var template = DocumentUoW.GetById <RegradingOfGoodsTemplate>((e.Subject as RegradingOfGoodsTemplate).Id);

            foreach (var item in template.Items)
            {
                DocumentUoW.Root.AddItem(new RegradingOfGoodsDocumentItem()
                {
                    NomenclatureNew = item.NomenclatureNew,
                    NomenclatureOld = item.NomenclatureOld
                });
            }
            LoadStock();
        }
        void SelectRules_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var rulesToAdd = e.GetEntities <DeliveryPriceRule>().ToList();

            logger.Info("Получаем список выбранных правил...");
            MainClass.progressBarWin.ProgressStart(2);
            var onlyNew = rulesToAdd.Where(
                ruleToAdd => Entity.ScheduleRestrictedDistrictRuleItems.All(
                    addedRule => addedRule.DeliveryPriceRule.Id != ruleToAdd.Id
                    )
                ).ToList();

            MainClass.progressBarWin.ProgressAdd();

            onlyNew.ForEach(
                r => Entity.ObservableScheduleRestrictedDistrictRuleItems.Add(
                    new ScheduleRestrictedDistrictRuleItem {
                DeliveryPrice              = 0,
                DeliveryPriceRule          = r,
                ScheduleRestrictedDistrict = Entity
            }
                    )
                );

            MainClass.progressBarWin.ProgressAdd();
            logger.Info("Ок");
            MainClass.progressBarWin.ProgressClose();
        }
示例#4
0
 void DocTypesJournal_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     if (e.Subject is TypeOfEntity selectedObject)
     {
         Entity.ObservableDocumentTypes.Add(selectedObject);
     }
 }
示例#5
0
        void SelectDriverCar_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var driver = e.Tag as AtWorkDriver;
            var car    = e.Subject as Car;

            driversAtDay.Where(x => x.Car != null && x.Car.Id == car.Id).ToList().ForEach(x => x.Car = null);
            driver.Car = car;
        }
示例#6
0
 void NomenclatureSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     items.Add(new ProductSpecificationMaterial {
         Material    = e.Subject as Nomenclature,
         Amount      = 1,
         ProductSpec = specificationUoW.Root
     });
 }
示例#7
0
		void SelectDialog_ObjectSelected (object sender, OrmReferenceObjectSectedEventArgs e)
		{
			var spec = e.Subject as ProductSpecification;
			UoWGeneric.Root.Product = spec.Product;
			UoWGeneric.Root.ObservableMaterials.Clear ();
			foreach (var material in spec.Materials) {
				UoWGeneric.Root.AddMaterial (material);
			}
		}
        void SelectUnusedEquipment_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var equipment = MyOrmDialog.UoW.GetById <Equipment>((e.Subject as Equipment).Id);

            equipmentToSetSerial.NewEquipment = equipment;
            equipmentToSetSerial.EquipmentId  = equipment.Id;
            equipmentToSetSerial.Returned     = true;
            //OnEquipmentListChanged();
        }
示例#9
0
 void NomenclatureSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     UoWGeneric.Root.ObservableServiceClaimItems.Add(new ServiceClaimItem {
         ServiceClaim = UoWGeneric.Root,
         Nomenclature = e.Subject as Nomenclature,
         Price        = (e.Subject as Nomenclature).GetPrice(1),
         Count        = 1
     });
 }
示例#10
0
 private void SelectGeographicGroups_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     foreach (var item in e.Subjects)
     {
         if (item is GeographicGroup group && ViewModel.Entity.ObservableGeographicGroups.All(x => x.Id != group.Id))
         {
             ViewModel.Entity.ObservableGeographicGroups.Add(group);
         }
     }
 }
        void NomenclatureSelectDlg_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var nomenclature = e.Subject as Nomenclature;

            if (DocumentUoW.Root.Items.Any(x => x.Nomenclature.Id == nomenclature.Id))
            {
                return;
            }

            DocumentUoW.Root.AddItem(nomenclature, 0, 0);
        }
        void NomenclatureSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            if ((e.Subject as Nomenclature).IsSerial)
            {
                ITdiTab mytab = DialogHelper.FindParentTab(this);
                if (mytab == null)
                {
                    logger.Warn("Родительская вкладка не найдена.");
                    return;
                }

                var invoices = DocumentUoW.Session.CreateCriteria(typeof(IncomingInvoice)).List <IncomingInvoice> ();
                //TODO FIXME !IMPORTANT! В этот фильтр следует добавлять
                //все возможные списки с оборудованием, которые будут появляться.
                //Чтобы исключить возможность добавления во входящую накладную
                //уже использующегося и зачисленного на предприятие оборудования.
                List <int> usedItems = new List <int> ();
                foreach (IncomingInvoice i in invoices)
                {
                    foreach (IncomingInvoiceItem item in i.Items)
                    {
                        if (item.Equipment != null)
                        {
                            usedItems.Add(item.Equipment.Id);
                        }
                    }
                }
                ICriteria ItemsCriteria = DocumentUoW.Session.CreateCriteria(typeof(Equipment))
                                          .Add(Restrictions.Eq("Nomenclature", e.Subject))
                                          .Add(Restrictions.Not(Restrictions.In("Id", usedItems)));

                OrmReference SelectDialog = new OrmReference(typeof(Equipment), DocumentUoW, ItemsCriteria);
                SelectDialog.Mode       = OrmReferenceMode.Select;
                SelectDialog.ButtonMode = ReferenceButtonMode.TreatEditAsOpen | ReferenceButtonMode.CanEdit;

                SelectDialog.ObjectSelected += (s, ev) => DocumentUoW.Root.AddItem(new IncomingInvoiceItem {
                    Nomenclature = (ev.Subject as Equipment).Nomenclature,
                    Equipment    = ev.Subject as Equipment,
                    Amount       = 1,
                    PrimeCost    = 0
                });

                mytab.TabParent.AddSlaveTab(mytab, SelectDialog);
            }
            else
            {
                DocumentUoW.Root.AddItem(new IncomingInvoiceItem {
                    Nomenclature = e.Subject as Nomenclature,
                    Equipment    = null,
                    Amount       = 0, PrimeCost = 0
                });
            }
        }
示例#13
0
        void SelectNewNomenclature_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var nomenclature = e.Subject as Nomenclature;

            if (!nomenclature.IsDefectiveBottle)
            {
                newRow.Source       = DefectSource.None;
                newRow.TypeOfDefect = null;
            }
            newRow.NomenclatureNew = nomenclature;
            DocumentUoW.Root.AddItem(newRow);
        }
示例#14
0
文件: CarsDlg.cs 项目: RoAr80/Vodovoz
 void SelectGeographicGroups_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     if (yTreeGeographicGroups.ItemsDataSource is GenericObservableList <GeographicGroup> ggList)
     {
         foreach (var item in e.Subjects)
         {
             if (item is GeographicGroup group && !ggList.Any(x => x.Id == group.Id))
             {
                 ggList.Add(group);
             }
         }
     }
 }
        void ChangeNewNomenclature_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var row = ytreeviewItems.GetSelectedObject <RegradingOfGoodsTemplateItem>();

            if (row == null)
            {
                return;
            }

            var nomenclature = e.Subject as Nomenclature;

            row.NomenclatureNew = nomenclature;
        }
示例#16
0
        void AddNewNomenclature_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            Nomenclature nomenclatureToAdd = e.Subject as Nomenclature;
            decimal      price             = 0;

            if (nomenclatureToAdd.DependsOnNomenclature != null)
            {
                var fixPrice = Entity.FixedPrices
                               .Where(p => p.Nomenclature.Id == nomenclatureToAdd.DependsOnNomenclature.Id)
                               .FirstOrDefault();
                price = fixPrice == null ? 0 : fixPrice.Price;
            }
            Entity.AddFixedPrice(e.Subject as Nomenclature, price);
        }
示例#17
0
        void SelectForwarder_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var addForwarder = e.GetEntities <Employee>();

            foreach (var forwarder in addForwarder)
            {
                if (forwardersAtDay.Any(x => x.Employee.Id == forwarder.Id))
                {
                    logger.Warn($"Экспедитор {forwarder.ShortName} пропущен так как уже присутствует в списке.");
                    continue;
                }
                forwardersAtDay.Add(new AtWorkForwarder(forwarder, DialogAtDate));
            }
            ForwardersAtDay = forwardersAtDay.OrderBy(x => x.Employee.ShortName).ToList();
        }
        void SelectOldNomenclature_ObjectSelected1(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var nomenclature = e.Subject as Nomenclature;

            newRow = new RegradingOfGoodsTemplateItem()
            {
                NomenclatureOld = nomenclature
            };

            var selectNewNomenclature = new OrmReference(Repositories.NomenclatureRepository.NomenclatureOfGoodsOnlyQuery());

            selectNewNomenclature.Mode            = OrmReferenceMode.Select;
            selectNewNomenclature.TabName         = "Выберите новую номенклатуру";
            selectNewNomenclature.ObjectSelected += SelectNewNomenclature_ObjectSelected;
            MyTab.TabParent.AddSlaveTab(MyTab, selectNewNomenclature);
        }
        void SelectSchedules_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var scheduleList = (ytreeSchedules.ItemsDataSource as GenericObservableList <DeliverySchedule>);

            if (scheduleList == null)
            {
                return;
            }
            foreach (var item in e.Subjects)
            {
                var schedule = (item as DeliverySchedule);
                if (schedule != null && !scheduleList.Any(x => x.Id == schedule.Id))
                {
                    scheduleList.Add(schedule);
                }
            }
        }
示例#20
0
        void RefWin_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            Nomenclature nomenclature = (e.Subject as Nomenclature);

            if (nomenclature == null)
            {
                return;
            }
            var node = new ReceptionNonSerialEquipmentItemNode()
            {
                NomenclatureCategory = nomenclature.Category,
                NomenclatureId       = nomenclature.Id,
                Name = nomenclature.Name
            };

            ReceptionNonSerialEquipmentList.Add(node);
        }
示例#21
0
        void SelectDrivers_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var addDrivers = e.GetEntities <Employee>().ToList();

            logger.Info("Получаем авто для водителей...");
            MainClass.progressBarWin.ProgressStart(2);
            var onlyNew = addDrivers.Where(x => driversAtDay.All(y => y.Employee.Id != x.Id)).ToList();
            var allCars = CarRepository.GetCarsbyDrivers(uow, onlyNew.Select(x => x.Id).ToArray());

            MainClass.progressBarWin.ProgressAdd();

            foreach (var driver in addDrivers)
            {
                if (driversAtDay.Any(x => x.Employee.Id == driver.Id))
                {
                    logger.Warn("Водитель {0} уже добавлен. Пропускаем...", driver.ShortName);
                    continue;
                }
                var atwork = new AtWorkDriver(driver, DialogAtDate,
                                              allCars.FirstOrDefault(x => x.Driver.Id == driver.Id)
                                              );
                if (driver.DefaultForwarder != null)
                {
                    var forwarder = ForwardersAtDay.FirstOrDefault(x => x.Employee.Id == driver.DefaultForwarder.Id);
                    if (forwarder == null)
                    {
                        if (MessageDialogWorks.RunQuestionDialog($"Водитель {driver.ShortName} обычно ездить с экспедитором {driver.DefaultForwarder.ShortName}. Он отсутствует в списке экспедиторов. Добавить его в список?"))
                        {
                            forwarder = new AtWorkForwarder(driver.DefaultForwarder, DialogAtDate);
                            observableForwardersAtDay.Add(forwarder);
                        }
                    }
                    if (forwarder != null && DriversAtDay.All(x => x.WithForwarder != forwarder))
                    {
                        atwork.WithForwarder = forwarder;
                    }
                }
                driversAtDay.Add(atwork);
            }
            MainClass.progressBarWin.ProgressAdd();
            DriversAtDay = driversAtDay.OrderBy(x => x.Employee.ShortName).ToList();
            logger.Info("Ок");
            MainClass.progressBarWin.ProgressClose();
        }
示例#22
0
        void RefWin_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            Nomenclature nomenclature = (e.Subject as Nomenclature);

            if (nomenclature == null)
            {
                return;
            }
            var node = new GoodsReceptionVMNode()
            {
                Category       = nomenclature.Category,
                NomenclatureId = nomenclature.Id,
                Name           = nomenclature.Name
            };

            if (!GoodsReceptionList.Any(n => n.NomenclatureId == node.NomenclatureId))
            {
                GoodsReceptionList.Add(node);
            }
        }
示例#23
0
        void RefWin_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            Nomenclature nomenclature = (e.Subject as Nomenclature);

            if (nomenclature == null)
            {
                return;
            }
            var node = new GoodsReceptionVMNode {
                Category       = nomenclature.Category,
                NomenclatureId = nomenclature.Id,
                Name           = nomenclature.Name
            };

            if (node.Category == NomenclatureCategory.equipment)
            {
                node.Direction = Domain.Orders.Direction.PickUp;
            }

            if (!GoodsReceptionList.Any(n => n.NomenclatureId == node.NomenclatureId))
            {
                GoodsReceptionList.Add(node);
            }
        }
        void DlgNewCabine_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var address = (sender as OrmReference).Tag as ContractLongLeaseAddress;

            address.AddCabine(e.GetEntities <Cabine>().ToArray());
        }
示例#25
0
 void AddNewNomenclature_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     Entity.AddEquipment(e.Subject as Nomenclature);
 }
 void SelectUnusedEquipment_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     var equipment = MyOrmDialog.UoW.GetById<Equipment>((e.Subject as Equipment).Id);
     equipmentToSetSerial.NewEquipment = equipment;
     equipmentToSetSerial.EquipmentId = equipment.Id;
     equipmentToSetSerial.Returned = true;
     //OnEquipmentListChanged();
 }
        void NomenclatureSelectDlg_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var nomenclature = e.Subject as Nomenclature;
            if (DocumentUoW.Root.Items.Any(x => x.Nomenclature.Id == nomenclature.Id))
                return;

            DocumentUoW.Root.AddItem(nomenclature, 0, 0);
        }
示例#28
0
 void SelectDialog_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     Entity.AddShift(e.Subject as DeliveryShift);
 }
 void SelectNomenclatureDlg_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     e.GetEntities<Nomenclature>().ToList().ForEach(IncomeDoc.AddItem);
     CalculateTotal();
 }
        void NomenclatureSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            if ((e.Subject as Nomenclature).Serial) {
                ITdiTab mytab = TdiHelper.FindMyTab (this);
                if (mytab == null) {
                    logger.Warn ("Родительская вкладка не найдена.");
                    return;
                }

                var invoices = DocumentUoW.Session.CreateCriteria (typeof(IncomingInvoice)).List<IncomingInvoice> ();
                //TODO FIXME !IMPORTANT! В этот фильтр следует добавлять
                //все возможные списки с оборудованием, которые будут появляться.
                //Чтобы исключить возможность добавления во входящую накладную
                //уже использующегося и зачисленного на предприятие оборудования.
                List<int> usedItems = new List<int> ();
                foreach (IncomingInvoice i in invoices) {
                    foreach (IncomingInvoiceItem item in i.Items) {
                        if (item.Equipment != null)
                            usedItems.Add (item.Equipment.Id);
                    }
                }
                ICriteria ItemsCriteria = DocumentUoW.Session.CreateCriteria (typeof(Equipment))
                    .Add (Restrictions.Eq ("Nomenclature", e.Subject))
                    .Add (Restrictions.Not (Restrictions.In ("Id", usedItems)));

                OrmReference SelectDialog = new OrmReference (typeof(Equipment), DocumentUoW, ItemsCriteria);
                SelectDialog.Mode = OrmReferenceMode.Select;
                SelectDialog.ButtonMode = ReferenceButtonMode.TreatEditAsOpen | ReferenceButtonMode.CanEdit;

                SelectDialog.ObjectSelected += (s, ev) => DocumentUoW.Root.AddItem (new IncomingInvoiceItem {
                    Nomenclature = (ev.Subject as Equipment).Nomenclature,
                    Equipment = ev.Subject as Equipment,
                    Amount = 1,
                    Price = 0
                });

                mytab.TabParent.AddSlaveTab (mytab, SelectDialog);

            } else {
                DocumentUoW.Root.AddItem (new IncomingInvoiceItem {
                    Nomenclature = e.Subject as Nomenclature,
                    Equipment = null,
                    Amount = 0, Price = 0
                });
            }
        }
        void EquipmentSelected(object sender, OrmReferenceObjectSectedEventArgs e)
        {
            var selectedEquipment = (Equipment)e.Subject;

            var rentPackage = RentPackageRepository.GetFreeRentPackage(AgreementUoW, selectedEquipment.Nomenclature.Type);
            if (rentPackage == null)
            {
                MessageDialogWorks.RunErrorDialog("Для выбранного типа оборудования нет пакета бесплатной аренды.");
                return;
            }

            FreeRentEquipment eq = new FreeRentEquipment ();
            eq.Equipment = selectedEquipment;
            eq.Deposit = rentPackage.Deposit;
            eq.FreeRentPackage = rentPackage;
            eq.WaterAmount = rentPackage.MinWaterAmount;
            equipments.Add (eq);
            UpdateTotalLabels ();
        }
示例#32
0
 private void DocTypesJournal_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     ViewModel.AddDocumentTypeCommand.Execute(e.Subject as TypeOfEntity);
 }
 void NomenclatureSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     items.Add (new ProductSpecificationMaterial {
         Material = e.Subject as Nomenclature,
         Amount = 1
     });
 }
示例#34
0
 void SelectDriverCar_ObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     ViewModel.SelectCarForDriver(e.Tag as AtWorkDriver, e.Subject as Car);
 }
示例#35
0
 void OnSelectDialogObjectSelected(object sender, OrmReferenceObjectSectedEventArgs e)
 {
     EntitySelected?.Invoke(this, new EntitySelectedEventArgs(e.Subject));
 }