private void addIngredientToTempDB(remaining_inventory ri, decimal bagsUsed,int rowNumber, decimal totalWeightForLotCode,decimal totalWeightForRecipe,decimal dcmlTotalBagForRecipe) { Dry_Ingredient_Use_Temp ingredientToSave = new Dry_Ingredient_Use_Temp(); ingredientToSave.ingredient = ri.ingredient; ingredientToSave.Lot_Code = ri.lot_code; ingredientToSave.mix_date = today.Date; ingredientToSave.recipe_ID = recipe_id; ingredientToSave.recipe_name = cmbRecipeName.Text.ToString(); ingredientToSave.total_amount = dcmlTotalKG; ingredientToSave.bags_used = bagsUsed; ingredientToSave.PT_Number = Convert.ToInt32(this.txtPtNumber.Value); ingredientToSave.rowNumber = rowNumber; ingredientToSave.totalWeightForLotCode = totalWeightForLotCode; ingredientToSave.totalWeightForRecipe = totalWeightForRecipe; ingredientToSave.totalBagsForRecipe = dcmlTotalBagForRecipe; listOfIngredients.Add(ingredientToSave); }
//,int position) private void checkAvailableStock(RawMixRecipe r, decimal dcmlValue) { //db operations go here to retrieve lot codes for ingredients to use Dry_Ingredient_Use_Temp ingredientToSave = new Dry_Ingredient_Use_Temp(); List<remaining_inventory> list = null; decimal totalWeightForLotCode = dcmlValue; decimal dcmlBagsUsedForRecipe = 0m; decimal dcmlUnitSize = 0m; decimal dcmlnumberOfBags = 0m; //decimal dcmlRunninTotal = 0m; bool firstRun = true; // int intLotCodeCounter = 1; int roundingDigits = 1; try { list = ctx.remaining_inventory.Where(o => o.ingredient == r.Ingredient).ToList(); } catch (Exception ex) { MessageBox.Show("something went wrong \nwhile retrieving available inventory", "Error", MessageBoxButtons.OK); Console.WriteLine(ex); } if(list.Count == 0) { //this means that the invonetory does not have this ingredient... //allow the user to use the ingredient only if it's cream... } foreach (remaining_inventory ri in list) { if (ri.ingredient.Equals("Egg Yellow")) { roundingDigits = 3; } dcmlUnitSize = Convert.ToDecimal(ri.unit_size); dcmlBagsUsedForRecipe = decimal.Divide(totalWeightForLotCode, dcmlUnitSize); dcmlnumberOfBags = decimal.Divide(dcmlValue, dcmlUnitSize); //there is enough stock fron one lot code if ((ri.remaining_bags >= dcmlnumberOfBags) & firstRun) { //this.addLabelToForm(locationOnTheForm++ // , ri.ingredient // , Math.Round(dcmlValue, roundingDigits).ToString() // , Math.Round(dcmlnumberOfBags, 2).ToString() // , ri.lot_code); this.addIngredientToTempDB(ri, dcmlnumberOfBags, 1,dcmlValue,dcmlValue, dcmlBagsUsedForRecipe); //int ingredientLength = 40 - ri.ingredient.Length; //int valueLength = 40 - Math.Round(dcmlValue, roundingDigits).ToString().Length; //int numberOfBagLength = 40 - Math.Round(dcmlnumberOfBags, 2).ToString().Length; //int lotCodeLength = 40 - ri.lot_code.Length; //StringBuilder sb = new StringBuilder(); //sb.Append(ri.ingredient.PadRight(ingredientLength)); //sb.Append(Math.Round(dcmlValue, roundingDigits).ToString().PadRight(valueLength)); //sb.Append(Math.Round(dcmlnumberOfBags, 2).ToString().PadRight(numberOfBagLength)); //sb.Append(ri.lot_code); //listToPrint.Add(sb.ToString()); break; } //need to use more than one lot code for an ingredient if (ri.remaining_bags < dcmlnumberOfBags || ((ri.remaining_bags >= dcmlnumberOfBags) & !firstRun)) { if (firstRun) { //this.addLabelToForm(locationOnTheForm++ // , ri.ingredient // , Math.Round(dcmlValue, roundingDigits).ToString() // , Math.Round(dcmlnumberOfBags, 2).ToString() // , ri.lot_code); firstRun = false; if (ri.remaining_bags >= dcmlnumberOfBags) { this.addIngredientToTempDB(ri, dcmlnumberOfBags, 1,dcmlValue,totalWeightForLotCode, dcmlBagsUsedForRecipe); } if (ri.remaining_bags < dcmlnumberOfBags) { decimal dcmlUsed = decimal.Multiply(Convert.ToDecimal(ri.remaining_bags), dcmlUnitSize); dcmlValue = decimal.Subtract(dcmlValue, dcmlUsed); this.addIngredientToTempDB(ri, Convert.ToDecimal(ri.remaining_bags), 1,dcmlUsed, totalWeightForLotCode, dcmlBagsUsedForRecipe); } //int ingredientLength = 40 - ri.ingredient.Length; //int valueLength = 40 - Math.Round(dcmlValue, roundingDigits).ToString().Length; //int numberOfBagLength = 40 - Math.Round(dcmlnumberOfBags, 2).ToString().Length; //int lotCodeLength = 40 - ri.lot_code.Length; //StringBuilder sb = new StringBuilder(); //sb.Append(ri.ingredient.PadRight(ingredientLength)); //sb.Append(Math.Round(dcmlValue, roundingDigits).ToString().PadRight(valueLength)); //sb.Append(Math.Round(dcmlnumberOfBags, 2).ToString().PadRight(numberOfBagLength)); //sb.Append(ri.lot_code); //listToPrint.Add(sb.ToString()); } else { //this.addLabelToForm(locationOnTheForm++ // , null//ri.ingredient // , null//Math.Round(dcmlValue, 2).ToString() // , null//Math.Round(dcmlnumberOfBags, 2).ToString() // , ri.lot_code); if (ri.remaining_bags >= dcmlnumberOfBags) { decimal dcmlUsed = decimal.Multiply(Convert.ToDecimal(dcmlnumberOfBags), dcmlUnitSize); this.addIngredientToTempDB(ri, dcmlnumberOfBags, 2, dcmlUsed, totalWeightForLotCode, dcmlBagsUsedForRecipe); break; } if (ri.remaining_bags < dcmlnumberOfBags) { decimal dcmlUsed = decimal.Multiply(Convert.ToDecimal(ri.remaining_bags), dcmlUnitSize); dcmlValue = decimal.Subtract(dcmlValue, dcmlUsed); this.addIngredientToTempDB(ri, Convert.ToDecimal(ri.remaining_bags), 2,dcmlValue, totalWeightForLotCode, dcmlBagsUsedForRecipe); } //StringBuilder sb = new StringBuilder(); //sb.Append(ri.lot_code.PadLeft(120)); //listToPrint.Add(sb.ToString()); } } } }
//private void clearOldTempDryMixUse() //{ // if (diut != null) // { // foreach (Dry_Ingredient_Use_Temp dt in diut) // { // ctx.Dry_Ingredient_Use_Temp.Remove(dt); // } // try // { // ctx.SaveChanges(); // } // catch (Exception ex) // { // Console.WriteLine(ex); // } // } //} //private void addPrintButton() //{ // Button btnPrint = new Button(); // btnPrint.Text = "Print"; // btnPrint.Size = new System.Drawing.Size(75, 23); // btnPrint.TabIndex = 8; // btnPrint.Name = "btnPrint"; // btnPrint.Click += new System.EventHandler(this.BtnPrint_Click); // System.Drawing.Point location = this.btnConfirm.Location; // location.X = location.X + 80; // btnPrint.Location = location; // this.Controls.Add(btnPrint); //} private void addWaterToDB() { Dry_Ingredient_Use_Temp water = new Dry_Ingredient_Use_Temp(); water.ingredient = "Water"; water.Lot_Code = null; water.bags_used = dcmlWater; water.mix_date = today.Date; water.recipe_ID = recipe_id; water.recipe_name = cmbRecipeName.Text.ToString(); water.total_amount = dcmlTotalKG; water.totalWeightForLotCode = dcmlWater; water.PT_Number = Convert.ToInt32(this.txtPtNumber.Value); water.rowNumber = 1; water.totalWeightForRecipe = dcmlWater; water.totalBagsForRecipe = dcmlWater; listOfIngredients.Add(water); }
private void btnAdd_Click(object sender, EventArgs e) { if (txtBagsUsed.Value != 0) { Dry_Ingredient_Use_Temp ingredientToSave = new Dry_Ingredient_Use_Temp(); ingredientToSave.ingredient = cmbIngredientUseIngredient.Text.ToString(); ingredientToSave.Lot_Code = cmbLotCode.Text.ToString(); ingredientToSave.mix_date = today.Date; ingredientToSave.recipe_ID = recipe_id; ingredientToSave.recipe_name = cmbRecipeName.Text.ToString(); ingredientToSave.total_amount = dcmlTotalKG; ingredientToSave.bags_used = Convert.ToDecimal(txtBagsUsed.Text); ingredientToSave.PT_Number = Convert.ToInt32(this.txtPtNumber.Value); ingredientToSave.rowNumber = 999; ingredientToSave.totalWeightForLotCode = Convert.ToDecimal(txtBagsUsed.Text); ingredientToSave.totalWeightForRecipe = Convert.ToDecimal(txtBagsUsed.Text); ingredientToSave.totalBagsForRecipe = Convert.ToDecimal(txtBagsUsed.Text); ingredientToSave.litresToProduce = this.txtAmount.Value; ingredientToSave.butterFat = this.txtButterFat.Value; ingredientToSave.snf = this.txtSNF.Value; try { ctx.Dry_Ingredient_Use_Temp.Add(ingredientToSave); } catch (Exception ex) { ErrorLog log = new ErrorLog(); log.createLogFile(ex); } try { ctx.SaveChanges(); lblNotification.Text = "Done"; lblNotification.ForeColor = Color.Green; } catch (Exception ex) { ErrorLog log = new ErrorLog(); log.createLogFile(ex); } this.btnLoad_Click(null, null); } }
/// <summary> /// this is called to save to temp table /// </summary> /// <param name="ing"></param> /// <param name="l"></param> private void createDryIngredientUseTemp(RawMixIngredient ing, LotCode l) { Dry_Ingredient_Use_Temp d = new Dry_Ingredient_Use_Temp(); if (l != null) { d.Lot_Code = l.lotCode; d.bags_used = l.quantity; } else { d.bags_used = ing.quantity; d.totalWeightForLotCode = ing.weight; } //d.bags_used = ing.quantity;//l.quantity; d.mix_date = DateTime.Today; d.litresToProduce = txtAmount.Value; d.flavour = cmbRecipeName.Text; d.PT_Number = Convert.ToInt32(txtPtNumber.Value); d.ingredient = ing.name; d.total_amount = ing.totalVolume; d.butterFat = txtButterFat.Value; d.snf = txtSNF.Value; d.ptWashDate = dtPtWashDate.Value; d.ptWashTime = dtPtWashTime.Value.ToShortTimeString(); d.sanitizedDate = dtSanitizedDate.Value; d.sanitizedTime = dtSanitizedTime.Value.ToShortTimeString(); d.agiatorVerification = Convert.ToBoolean(cmbAgitatorVerification.SelectedValue); d.coolingVerification = Convert.ToBoolean(cmbCoolingVerification.SelectedValue); d.creamTank = Convert.ToInt32(cmbCreamTank.SelectedValue); d.mixMaker = txtMixMaker.Text; d.purchase_order_number = ing.purchaseOrderNumber; //switch (ing.name) //{ // case "Cream": // d.ord = 1; // break; // case "Glucose": // d.ord = 2; // break; // case "Whey": // d.ord = 3; // break; // case "Skim Powder": // d.ord = 3; // break; // case "Sugar": // d.ord = 4; // break; // case "DI 15 Stabilizer": // d.ord = 5; // break; // case "CCC360 Stabilizer": // d.ord = 5; // break; // case "Annatto Yellow #170": // d.ord = 5; // break; // case "Egg Yellow": // d.ord = 5; // break; // case "CP5303 Cocoa": // d.ord = 5; // break; // case "CP5171 Cocoa": // d.ord= 5; // break; // case "Water": // d.ord = 6; // break; // default: // d.ord = 5; // break; //} ctx.Dry_Ingredient_Use_Temp.Add(d); }