Exemplo n.º 1
0
        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);
        }
Exemplo n.º 2
0
        //,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());
                    }
                }
            }
        }
Exemplo n.º 3
0
        //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);
        }
Exemplo n.º 4
0
        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);
            }
        }
Exemplo n.º 5
0
        /// <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);
        }