예제 #1
0
        private void addIngredient(Dry_Ingredient ingredient)
        {
            //this is an afterthought that all ingredients must be received ON HOLD
            ctx.Dry_Ingredient.Add(ingredient);
            if (ingredient.ingredient != "Cream")
            {
                ingredient_hold_log hold = new ingredient_hold_log();
                hold.lot_code = ingredient.lot_code;
                hold.ingredient = ingredient.ingredient;
                hold.reason_for_hold = "Initial Receiving Of Ingredient";
                hold.date_set_hold = DateTime.Now;
                hold.on_hold = true;
                ingredient.on_hold = true;
                ctx.ingredient_hold_log.Add(hold);
            }

            try
            {
                ctx.SaveChanges();
                StringBuilder sb = new StringBuilder();
                sb.Append(ingredient.number_of_bags.ToString());
                if(ingredient.ingredient.ToString().Equals("Cream"))
                {
                    sb.Append(" litres of ");
                }
                else
                {
                    sb.Append(" Bags of ");
                }
                sb.Append(ingredient.ingredient.ToString());
                sb.Append(" added to inventory");
                MessageBox.Show(sb.ToString(),"Inventory Count Updated", MessageBoxButtons.OK, MessageBoxIcon.Information);
                this.clearSelections();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Could not save to the database. See log for details");
                this.createLogFile(ex);
            }

            //dgvDryIngredient.DataSource = ctx.Dry_Ingredient.ToList();
            //cmbLotCode.DataSource = ctx.Dry_Ingredient.Select(u => u.lot_code).ToList();

            this.populateDryIngredientReceivingTable();
            //this.loadLotCodesOnUsePage();
        }
예제 #2
0
        private void getHoldOnIngredient(Dry_Ingredient ingred)
        {
            List<ingredient_hold_log> list = null;
            List<ingredient_hold_log> listOfIngredientsOnHold = null;
            try
            {
                list = ctx.ingredient_hold_log.Where(o => o.lot_code == ingred.lot_code ).ToList();
            }
            catch(Exception ex)
            {
                //somethingWentWrong
            }
            try
            {
                listOfIngredientsOnHold = ctx.ingredient_hold_log.Where(o => o.lot_code == ingred.lot_code && o.on_hold == true).ToList();//
            }
            catch (Exception ex)
            {
                //somethingWentWrong
            }

            if(listOfIngredientsOnHold.Count > 0)
            {
               //the ingredient is in this table. This means that it is being un-held
                if (listOfIngredientsOnHold.Count > 1)
                {
                    //This should not happen. There should only be one reason at a time.
                }
                hold = listOfIngredientsOnHold.ElementAt(0);
                this.txtReasonForHold.Text = hold.reason_for_hold;
                this.txtReasonForHold.ReadOnly = true;
                settingHold = false;
            }
            else
            {
                hold = new ingredient_hold_log();
                hold.lot_code = ingred.lot_code;
                hold.ingredient = ingred.ingredient;
                settingHold = true;
            }
        }
예제 #3
0
 private void HoldIngredient_Load(object sender, EventArgs e)
 {
     this.ctx = new PWIC_TEST_ONEEntities();
     dryIngredient = this.getIngredient();
     this.populateIngredientLabel();
     this.populateLotCode();
     this.getHoldOnIngredient(dryIngredient);
 }
예제 #4
0
 private Dry_Ingredient getIngredient()
 {
     Dry_Ingredient dryIngredient = null;
     int intIngredientID = Convert.ToInt32(this.strIngredientID);
     try
     {
         dryIngredient = ctx.Dry_Ingredient.Where(o => o.id == intIngredientID).First();
     }
     catch(Exception e)
     {
         Console.WriteLine(e);
     }
     return dryIngredient;
 }
예제 #5
0
        private void btnAddIngredient_Click(object sender, EventArgs e)
        {
            //addNewIngredientDescription();
            addNewSupplier();

            Dry_Ingredient ingredient = new Dry_Ingredient();
            try
            {
                ingredient.lot_code = this.txtLotCode.Text.ToString();
                ingredient.sub_code = this.txtSubCode.Text.ToString();
                ingredient.purchase_order_number = this.txtPoNumber.Text.ToString();
                ingredient.date_received = this.dtReceivedDate.Value;
                ingredient.Approved_Product = cmbApprovedProduct.Text.ToString();
                ingredient.Quarantined_Product = cmbQuarantine.Text.ToString();
                ingredient.COA_Received = cmbCOAReceived.Text.ToString();
                ingredient.Supplier = cmbSupplier.Text.ToString();
                ingredient.Allergen_Tartarzine_Sticker = cmbAllergen.Text.ToString();
                ingredient.Storage_Location = cmbStorageLocation.Text.ToString();
                ingredient.Trailer_Temperature = txtTrailerTemp.Value;
                ingredient.Trailer_Condition = cmbTrailerCondition.Text.ToString();
                ingredient.Initials = txtInitials.Text.ToString();

                //I think that cream has no expiry date, therefore the FIFO rule will apply only on receiving date.
                if (cmbIngredient.Text.ToString().Equals("Cream"))
                {
                    ingredient.date_of_expiry = null;
                    //ingredient.number_of_bags = Convert.ToInt32(this.txtQuantity.Text.ToString());

                    //cream is received in kilograms and converted into liters
                    decimal kilogramsOfCream = Convert.ToDecimal(this.txtQuantity.Text.ToString());
                    decimal litersOfCream = Decimal.Divide(kilogramsOfCream, 0.9853m);
                    ingredient.number_of_bags = Convert.ToInt32(litersOfCream);
                }
                else
                {
                    ingredient.date_of_expiry = dtExpiryDate.Value;
                    ingredient.number_of_bags = Convert.ToInt32(this.txtQuantity.Text.ToString());
                }

                ingredient.ingredient = this.cmbIngredient.Text.ToString();
                ingredient.unit_size = Convert.ToDecimal(this.txtUnitSize.Text.ToString());
                this.addIngredient(ingredient);
            }
            catch (Exception ex)
            {
                MessageBox.Show("Wrong Input");
                this.createLogFile(ex);
            }
        }