Exemplo n.º 1
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);
        }
Exemplo n.º 2
0
        private void updateSelectedRowInfo()
        {
            NomenclatureData selectedData = selectedRow;

            selectedRowInfo.Text = selectedData != null
                                       ? string.Format(
                "Обрано рядок №{0}\r\n{1} / {2} / {3}",
                selectedData.LineNumber,
                selectedData.Description,
                selectedData.Quantity,
                selectedData.Date.ToShortDateString())
                                       : string.Empty;

            currentNomenclatureLabel.Text = (selectedRow.Description ?? new ObjectValue(string.Empty, 0)).Description;
        }
Exemplo n.º 3
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);
        }
Exemplo n.º 4
0
        private void SelectNomenclatureValue(KeyValuePair <long, string> value)
        {
            NomenclatureData currentRow = selectedRow;

            if (currentRow.Description != null && currentRow.Description.Id == value.Key)
            {
                editControlsArea.Controls.Clear();
            }
            else
            {
                //foreach (NomenclatureData data in list)
                //    {
                //    if (data.Description != null &&
                //        data.Description.Id == value.Key &&
                //        data.LineNumber != currentRow.LineNumber)
                //        {
                //        string message = string.Format(
                //            "\r\nВ таблиці вже існує рядок №{0} з такою номенлатурою..", data.LineNumber);
                //        showMessage("Повторення номенклатури!", message);
                //        return;
                //        }
                //    }

                selectedRow.Description = new ObjectValue(value);

                var nomenclature = new Nomenclature()
                {
                    ReadingId = value.Key
                };
                selectedRow.UnitsAmountInOneStandartPallet = nomenclature.UnitsQuantityPerPallet;
                selectedRow.WithoutTray = nomenclature.WithoutTray;
                selectedRow.UnitsAmountInOneNonStandartPallet = 0;
                selectedRow.UpdatePalletQuantity();

                grid.RefreshDataSource();
                showMessage("Обрано нову номенклатуру!", value.Value);
            }

            updateSelectedRowInfo();
        }
Exemplo n.º 5
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);
            }
        }
Exemplo n.º 6
0
        /// <summary>Видалення обраного рядка</summary>
        private void deleteRow_Click(object sender, EventArgs e)
        {
            NomenclatureData selectedElement = selectedRow;

            //Якщо строка виділена
            if (selectedElement != null)
            {
                //Видалення
                list.Remove(selectedElement);
                //Оновлення номерів рядків
                long index = selectedElement.LineNumber;

                for (int i = (int)selectedElement.LineNumber - 1; i < list.Count; i++)
                {
                    NomenclatureData element = list[i];
                    element.LineNumber = index++;
                }

                //Оновлення дангих на формі
                grid.RefreshDataSource();
                updateSelectedRowInfo();
            }
            updateVerticalScrollVisibility();
        }
Exemplo n.º 7
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();
            }
        }
Exemplo n.º 8
0
        private void startCellValueEditig()
        {
            NomenclatureData currSelectedRow = selectedRow;

            if (currSelectedRow != null)
            {
                EditedColumns selectedColumn = (EditedColumns)mainView.FocusedColumn.VisibleIndex;

                switch (selectedColumn)
                {
                case EditedColumns.Description:
                    updateEditControl(changeNomenclatureData);
                    break;

                case EditedColumns.Quantity:
                    updateEditControl(() => installNumberEditEditior(selectedRow.Quantity, (enteredValue) =>
                    {
                        selectedRow.Quantity = enteredValue;
                        selectedRow.UpdatePalletQuantity();
                    }, "Кіль-сть змінено!"));
                    break;

                case EditedColumns.Date:
                    updateEditControl(installDateEditiors);
                    break;

                case EditedColumns.ShelfLife:
                    updateEditControl(() => installNumberEditEditior(selectedRow.ShelfLifeDays, (enteredValue) =>
                    {
                        selectedRow.ShelfLifeDays = enteredValue;
                    }, "Термін придатності змінено!"));
                    break;

                case EditedColumns.StandartPalletsCount:
                    updateEditControl(() => installNumberEditEditior(selectedRow.StandartPalletsCount, (enteredValue) =>
                    {
                        selectedRow.StandartPalletsCount = enteredValue;
                        selectedRow.UpdateQuantity();
                    }, "Кіль-сть стандартних палет змінено!"));
                    break;

                case EditedColumns.NonStandartPalletsCount:
                    updateEditControl(() => installNumberEditEditior(selectedRow.NonStandartPalletsCount, (enteredValue) =>
                    {
                        selectedRow.NonStandartPalletsCount = enteredValue;
                        selectedRow.UpdateQuantity();
                    }, "Кіль-сть нестандартних палет змінено!"));
                    break;

                case EditedColumns.StandartPalletCountPer1:
                    updateEditControl(() => installNumberEditEditior(selectedRow.UnitsAmountInOneStandartPallet, (enteredValue) =>
                    {
                        selectedRow.UnitsAmountInOneStandartPallet = enteredValue;
                        selectedRow.UpdateQuantity();
                    }, "Кількість од. на стандарт. пал. змінено!"));
                    break;

                case EditedColumns.NonStandartPalletCountPer1:
                    updateEditControl(() => installNumberEditEditior(selectedRow.UnitsAmountInOneNonStandartPallet, (enteredValue) =>
                    {
                        selectedRow.UnitsAmountInOneNonStandartPallet = enteredValue;
                        selectedRow.UpdateQuantity();
                    }, "Кількість од. на нестандарт. пал. змінено!"));
                    break;

                case EditedColumns.UnitsOnNotFullPallet:
                    updateEditControl(() => installNumberEditEditior(selectedRow.UnitsOnNotFullPallet, (enteredValue) =>
                    {
                        selectedRow.UnitsOnNotFullPallet = enteredValue;
                        selectedRow.UpdateQuantity();
                    }, "Кількість од. на неповній палеті змінено!"));
                    break;

                case EditedColumns.UnitsOnNotFullNonStandartPallet:
                    updateEditControl(() => installNumberEditEditior(selectedRow.UnitsOnNotFullNonStandartPallet, (enteredValue) =>
                    {
                        selectedRow.UnitsOnNotFullNonStandartPallet = enteredValue;
                        selectedRow.UpdateQuantity();
                    }, "Кіль-ть од. на неповній нестандартній пал. змінено!"));
                    break;
                }
            }
        }