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(); }
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; } }
private void HoldIngredient_Load(object sender, EventArgs e) { this.ctx = new PWIC_TEST_ONEEntities(); dryIngredient = this.getIngredient(); this.populateIngredientLabel(); this.populateLotCode(); this.getHoldOnIngredient(dryIngredient); }
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; }
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); } }