示例#1
0
        private bool getBoxes(long nomenclatureId, int units, out NomenclatureData tare)
        {
            var nomenclature = new Nomenclature() { ReadingId = nomenclatureId };

            if (nomenclature.IsKeg() || nomenclature.BoxType.Empty)
                {
                tare = null;
                return false;
                }

            tare = new NomenclatureData();
            tare.Description = new ObjectValue(nomenclature.BoxType.Description, nomenclature.BoxType.Id);
            tare.Quantity = units / nomenclature.UnitsQuantityPerPack;

            return true;
        }
示例#2
0
 private void addTrays(Dictionary<long, NomenclatureData> tareDictionary, int standartTrays, Nomenclature nomenclatureTray)
 {
     if (standartTrays < 1) return;
     NomenclatureData tare;
     if (tareDictionary.TryGetValue(nomenclatureTray.Id, out tare))
         {
         tare.Quantity += standartTrays;
         }
     else
         {
         tare = new NomenclatureData
             {
                 Description = new ObjectValue(nomenclatureTray.Description, nomenclatureTray.Id),
                 Quantity = standartTrays
             };
         tareDictionary.Add(nomenclatureTray.Id, tare);
         }
 }
示例#3
0
        private void fillEditableTable(WaresTypes waresTypes)
        {
            var isTare = waresTypes == WaresTypes.Tare;
            var table = isTare ? Document.TareInfo : Document.NomenclatureInfo;

            list = new List<NomenclatureData>();

            if (table.Rows.Count > 0)
                {
                foreach (DataRow row in table.Rows)
                    {
                    long nomemclatureId = (long)row[isTare ? Document.Tare : Document.Nomenclature];

                    string nomenclatureDescription = null;
                    bool withoutTray = false;
                    var shelfLifeDays = 0;
                    var unitsQuantityPerPallet = 0;

                    if (isTare)
                        {
                        nomenclatureDescription =
                            FastInputDataCache.GetCashedData(typeof(Nomenclature).Name).GetDescription(nomemclatureId);
                        }
                    else
                        {
                        var nomenclature = new Nomenclature() { ReadingId = nomemclatureId };
                        nomenclatureDescription = nomenclature.Description;
                        shelfLifeDays = nomenclature.ShelfLife;
                        unitsQuantityPerPallet = nomenclature.UnitsQuantityPerPallet;
                        withoutTray = nomenclature.WithoutTray;
                        }

                    NomenclatureData element = new NomenclatureData
                        {
                            LineNumber = Convert.ToInt64(row["LineNumber"]),
                            Description = new ObjectValue(nomenclatureDescription, nomemclatureId),
                            ShelfLifeDays = shelfLifeDays,
                            UnitsAmountInOneStandartPallet = unitsQuantityPerPallet,
                            WithoutTray = withoutTray
                        };

                    element.Quantity = Convert.ToInt32(row[isTare ? Document.TareCount : Document.NomenclatureCount]);

                    if (!isTare)
                        {
                        Parties party = new Parties() { ReadingId = row[Document.NomenclatureParty] };
                        element.Date = party.DateOfManufacture;
                        element.UpdatePalletQuantity();
                        }

                    list.Add(element);
                    }
                }
            else if (isTare)
                {
                computeTare();
                }
        }
示例#4
0
        private List<Tuple<int, int, long, int>> buildNonStandartQuantitiesList(NomenclatureData nomenclatureData, int countInOnePack, long trayId)
        {
            var pallets = new List<Tuple<int, int, long, int>>();

            for (int stickerIndex = 0; stickerIndex < nomenclatureData.StandartPalletsCount; stickerIndex++)
                {
                pallets.Add(new Tuple<int, int, long, int>(nomenclatureData.UnitsAmountInOneStandartPallet / countInOnePack, nomenclatureData.UnitsAmountInOneStandartPallet, trayId, nomenclatureData.UnitsAmountInOneStandartPallet));
                }

            if (nomenclatureData.UnitsOnNotFullPallet > 0)
                {
                pallets.Add(new Tuple<int, int, long, int>(nomenclatureData.UnitsOnNotFullPallet / countInOnePack, nomenclatureData.UnitsOnNotFullPallet, trayId, nomenclatureData.UnitsAmountInOneStandartPallet));
                }

            for (int stickerIndex = 0; stickerIndex < nomenclatureData.NonStandartPalletsCount; stickerIndex++)
                {
                pallets.Add(new Tuple<int, int, long, int>(nomenclatureData.UnitsAmountInOneNonStandartPallet / countInOnePack, nomenclatureData.UnitsAmountInOneNonStandartPallet, trayId, nomenclatureData.UnitsAmountInOneNonStandartPallet));
                }

            if (nomenclatureData.UnitsOnNotFullNonStandartPallet > 0)
                {
                pallets.Add(new Tuple<int, int, long, int>(nomenclatureData.UnitsOnNotFullNonStandartPallet / countInOnePack, nomenclatureData.UnitsOnNotFullNonStandartPallet, trayId, nomenclatureData.UnitsAmountInOneNonStandartPallet));
                }

            return pallets;
        }