private void CalculateAmount(ReceptionItemNode node)
 {
     if (node.Name == "Терминал для оплаты" && node.Amount > node.ExpectedAmount && UoW.IsNew)
     {
         node.Amount = node.ExpectedAmount;
     }
 }
Beispiel #2
0
        void LoadReception()
        {
            foreach (var item in Entity.Items)
            {
                var bottle = bottlereceptionview1.Items.FirstOrDefault(x => x.NomenclatureId == item.MovementOperation.Nomenclature.Id);
                if (bottle != null)
                {
                    bottle.Amount = (int)item.MovementOperation.Amount;
                    continue;
                }

                if (defectiveitemsreceptionview1.Items.Any(x => x.NomenclatureId == item.MovementOperation.Nomenclature.Id))
                {
                    continue;
                }

                var returned = item.MovementOperation.Equipment != null
                                        ? returnsreceptionview1.Items.FirstOrDefault(x => x.EquipmentId == item.MovementOperation.Equipment.Id)
                                        : returnsreceptionview1.Items.FirstOrDefault(x => x.NomenclatureId == item.MovementOperation.Nomenclature.Id);

                if (returned != null)
                {
                    returned.Amount  = (int)item.MovementOperation.Amount;
                    returned.Redhead = item.Redhead;
                    continue;
                }

                if (item.ReciveType == ReciveTypes.Equipment)
                {
                    var equipmentByNomenclature = nonserialequipmentreceptionview1.Items.FirstOrDefault(x => x.NomenclatureId == item.MovementOperation.Nomenclature.Id);
                    if (equipmentByNomenclature != null)
                    {
                        equipmentByNomenclature.Amount = (int)item.MovementOperation.Amount;
                        continue;
                    }
                    else
                    {
                        nonserialequipmentreceptionview1.Items.Add(new ReceptionNonSerialEquipmentItemNode {
                            NomenclatureCategory = NomenclatureCategory.equipment,
                            NomenclatureId       = item.MovementOperation.Nomenclature.Id,
                            Amount = (int)item.MovementOperation.Amount,
                            Name   = item.MovementOperation.Nomenclature.Name
                        });
                        continue;
                    }
                }

                logger.Warn("Номенклатура {0} не найдена в заказа мл, добавляем отдельно...", item.MovementOperation.Nomenclature);
                var newItem = new ReceptionItemNode(item);
                if (item.MovementOperation.Equipment != null)
                {
                    newItem.EquipmentId = item.MovementOperation.Equipment.Id;
                }
                returnsreceptionview1.AddItem(newItem);
            }

            foreach (var item in bottlereceptionview1.Items)
            {
                var returned = Entity.Items.FirstOrDefault(x => x.MovementOperation.Nomenclature.Id == item.NomenclatureId);
                item.Amount = returned != null ? (int)returned.MovementOperation.Amount : 0;
            }
        }
 public void AddItem(ReceptionItemNode item) => ReceptionReturnsList.Add(item);
        void LoadReception()
        {
            foreach (var item in Entity.Items)
            {
                if (Entity.IsDefaultBottle(item))
                {
                    continue;
                }

                if (defectiveitemsreceptionview1.Items.Any(x => x.NomenclatureId == item.WarehouseMovementOperation.Nomenclature.Id))
                {
                    continue;
                }

                var returned = item.WarehouseMovementOperation.Equipment != null
                                        ? returnsreceptionview.Items.FirstOrDefault(x => x.EquipmentId == item.WarehouseMovementOperation.Equipment.Id)
                                        : returnsreceptionview.Items.FirstOrDefault(x => x.NomenclatureId == item.WarehouseMovementOperation.Nomenclature.Id);

                if (returned != null)
                {
                    returned.Amount  = (int)item.WarehouseMovementOperation.Amount;
                    returned.Redhead = item.Redhead;
                    continue;
                }

                switch (item.ReciveType)
                {
                case ReciveTypes.Equipment:
                    var equipmentByNomenclature = nonserialequipmentreceptionview1.Items.FirstOrDefault(x => x.NomenclatureId == item.WarehouseMovementOperation.Nomenclature.Id);
                    if (equipmentByNomenclature != null)
                    {
                        equipmentByNomenclature.Amount = (int)item.WarehouseMovementOperation.Amount;
                        continue;
                    }
                    nonserialequipmentreceptionview1.Items.Add(
                        new ReceptionNonSerialEquipmentItemNode {
                        NomenclatureCategory = NomenclatureCategory.equipment,
                        NomenclatureId       = item.WarehouseMovementOperation.Nomenclature.Id,
                        Amount = (int)item.WarehouseMovementOperation.Amount,
                        Name   = item.WarehouseMovementOperation.Nomenclature.Name
                    }
                        );
                    continue;

                case ReciveTypes.Bottle:
                case ReciveTypes.Returnes:
                case ReciveTypes.ReturnCashEquipment:
                    break;

                case ReciveTypes.Defective:
                    var defective = defectiveitemsreceptionview1.Items.FirstOrDefault(x => x.NomenclatureId == item.WarehouseMovementOperation.Nomenclature.Id);
                    if (defective != null)
                    {
                        defective.Amount = (int)item.WarehouseMovementOperation.Amount;
                        continue;
                    }
                    defectiveitemsreceptionview1.Items.Add(
                        new DefectiveItemNode {
                        NomenclatureCategory = item.WarehouseMovementOperation.Nomenclature.Category,
                        NomenclatureId       = item.WarehouseMovementOperation.Nomenclature.Id,
                        Amount       = (int)item.WarehouseMovementOperation.Amount,
                        Name         = item.WarehouseMovementOperation.Nomenclature.Name,
                        Source       = item.DefectSource,
                        TypeOfDefect = item.TypeOfDefect
                    }
                        );
                    continue;
                }

                logger.Warn("Номенклатура {0} не найдена в заказа мл, добавляем отдельно...", item.WarehouseMovementOperation.Nomenclature);
                var newItem = new ReceptionItemNode(item);
                if (item.WarehouseMovementOperation.Equipment != null)
                {
                    newItem.EquipmentId = item.WarehouseMovementOperation.Equipment.Id;
                }
                returnsreceptionview.AddItem(newItem);
            }
        }