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); }
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; }
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); }
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(); }
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); } }
/// <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(); }
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(); } }
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; } } }