protected void BtnAddItem_Click(object sender, EventArgs e) { try { List <PORecordDetail> poRecordDetailsList = new List <PORecordDetail>(); foreach (GridViewRow r in GridViewPO.Rows) { PORecordDetail poRecordDetails = new PORecordDetail(); poRecordDetails.ItemID = (r.FindControl("Txtitemid") as TextBox).Text; poRecordDetails.UOM = PurchasingLogic.GetUOM(poRecordDetails.ItemID, DdlSli.SelectedValue); poRecordDetails.Quantity = int.Parse((r.FindControl("Txtquantity") as TextBox).Text); poRecordDetails.UnitPrice = PurchasingLogic.GetUnitPrice(poRecordDetails.ItemID, DdlSli.SelectedValue); poRecordDetailsList.Add(poRecordDetails); } PORecordDetail poRecordDetailsNew = new PORecordDetail(); poRecordDetailsList.Add(poRecordDetailsNew); GridViewPO.DataSource = poRecordDetailsList; GridViewPO.DataBind(); } //In the event when a wrong Supplier was selected or Invalid Item ID is entered. catch (Exception) { statusMessage.Text = "Error! Please check that the correct Supplier and ItemID has been selected."; statusMessage.ForeColor = System.Drawing.Color.Red; statusMessage.Visible = true; } }
// Creating a single PODetails entry public static bool CreateSinglePODetails(ReorderRecord r) { using (SA45Team12AD context = new SA45Team12AD()) { try { // Finding the newly created PO record PORecord pr = context.PORecords.OrderByDescending(x => x.PONumber).First(); // Req to populate the values for the new entry InventoryCatalogue iv = context.InventoryCatalogues.Where(x => x.ItemID.Equals(r.ItemID)).First(); // To retrieve UOM SupplierCatalogue sc = context.SupplierCatalogues.Where(x => x.ItemID.Equals(r.ItemID)).Where(y => y.SupplierID.Equals(r.SupplierID)).First(); // TO retrieve price // Creating our new entry... PORecordDetail pd = new PORecordDetail(); pd.PONumber = pr.PONumber; pd.ItemID = r.ItemID; pd.Quantity = r.OrderedQuantity; pd.UOM = iv.UOM; pd.UnitPrice = sc.Price; context.PORecordDetails.Add(pd); context.SaveChanges(); return(true); } catch (Exception) { return(false); } } }
protected void DisplayEmptyGrid() { List <PORecordDetail> emptyList = new List <PORecordDetail>(); PORecordDetail n = new PORecordDetail(); emptyList.Add(n); GridViewGR.DataSource = emptyList; GridViewGR.DataBind(); }
protected void BindGrid() { PORecordDetail poRecordDetails = new PORecordDetail(); List <PORecordDetail> poRecordDetailsList = new List <PORecordDetail>(); poRecordDetailsList.Add(poRecordDetails); GridViewPO.DataSource = poRecordDetailsList; GridViewPO.DataBind(); }
protected void GridViewPO_SelectedIndexChanged(object sender, EventArgs e) { if (!IsPostBack) { List <PORecordDetail> emptyPO = new List <PORecordDetail>(); PORecordDetail p = new PORecordDetail(); emptyPO.Add(p); GridViewPO.DataSource = emptyPO; GridViewPO.DataBind(); } }
public static void AddItem(string ItemID, int Quantity, string UOM, double UnitPrice) { using (SA45Team12AD entities = new SA45Team12AD()) { PORecordDetail poRecordDetails = new PORecordDetail(); poRecordDetails.ItemID = ItemID; poRecordDetails.Quantity = Quantity; poRecordDetails.UOM = UOM; poRecordDetails.UnitPrice = UnitPrice; entities.PORecordDetails.Add(poRecordDetails); entities.SaveChanges(); } }
private PORecordDetail CheckForGRQuantity(dynamic grRecords, PORecordDetail orderedItem) { //for each GR record, check if the ItemID matches with the Order item ItemID foreach (var received in grRecords) { if (orderedItem.ItemID == received.ItemID) { //Minus ordered quantity with received quantity int qty = (int)orderedItem.Quantity - (int)received.Quantity; orderedItem.Quantity = qty; } } return(orderedItem); }
protected void OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow && ((PORecordDetail)e.Row.DataItem).ItemID != null) { PORecordDetail pR = (PORecordDetail)e.Row.DataItem; string itemId = pR.ItemID; string itemName = InventoryLogic.GetItemName(itemId); Label LblDesc = (e.Row.FindControl("LblDesc") as Label); if (LblDesc != null) { LblDesc.Text = itemName; } } }
public void CreatePurchaseOrderDetails(int poNumber, string itemId, int quantity, string uom, double unitPrice) { using (SA45Team12AD entities = new SA45Team12AD()) { PORecordDetail poRecordDetail = new PORecordDetail { PONumber = poNumber, ItemID = itemId, Quantity = quantity, UOM = uom, UnitPrice = unitPrice, }; entities.PORecordDetails.Add(poRecordDetail); entities.SaveChanges(); } }
//------------ Lim Chang Siang's Code Start Here-------------------------------// //This method Returns a list of PO details for Goods Receipt public List <PORecordDetail> GetPurchaseOrdersForGR(int POnumber) { using (SA45Team12AD ctx = new SA45Team12AD()) { //Get a existing list of Order details List <PORecordDetail> poDetailList = ctx.PORecordDetails.Where(x => x.PONumber == POnumber).ToList(); //fresh list to record updated list of Order details List <PORecordDetail> poDetailListWithGR = new List <PORecordDetail>(); //Create a joined table GoodReceipt with GoodsReceiptDetails to check if the item has existing GR record var grRecords = ctx.GoodReceipts.Join(ctx.GoodReceiptDetails, gr => gr.GRNumber, grd => grd.GRNumber, (gr, grd) => new { PONumber = gr.PONumber, ItemID = grd.ItemID, Quantity = grd.Quantity, GRNumber = gr.GRNumber, }).Where(x => x.PONumber == POnumber).ToList(); //Check for remaiaing GR quantity foreach (PORecordDetail orderedItem in poDetailList) { //Add the updated Order detail into the fresh list. PORecordDetail prd = CheckForGRQuantity(grRecords, orderedItem); if (prd.Quantity > 0) { poDetailListWithGR.Add(prd); } } try { //Check for PO completion and if yes, change the PO Status IsPOCompleted(poDetailListWithGR.Count, POnumber); } catch (Exception ex) { //Exception will be thrown if an invalid PO number is entered, returning null value; Console.WriteLine(ex.ToString()); } //Return the Order list that has the updated reamining quantity. return(poDetailListWithGR); } }
protected void OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow && ((PORecordDetail)e.Row.DataItem).ItemID != null) { PORecordDetail poR = (PORecordDetail)e.Row.DataItem; string itemId = poR.ItemID; double poRPrice = (double)(poR.UnitPrice * poR.Quantity); Label LblDesc = (e.Row.FindControl("LblDesc") as Label); if (LblDesc != null) { LblDesc.Text = InventoryLogic.GetItemName(itemId); } Label PriceLbl = (e.Row.FindControl("LblPrice") as Label); if (PriceLbl != null) { PriceLbl.Text = ((double)(poR.UnitPrice * poR.Quantity)).ToString("c"); } } }
protected void OnRowDeleting(object sender, GridViewDeleteEventArgs e) { Label LblSn = GridViewPO.Rows[e.RowIndex].Cells[0].FindControl("LblSn") as Label; int sN = int.Parse(LblSn.Text); List <PORecordDetail> poRecordDetailList = new List <PORecordDetail>(); foreach (GridViewRow r in GridViewPO.Rows) { PORecordDetail poRecordDetails = new PORecordDetail(); poRecordDetails.ItemID = (r.FindControl("Txtitemid") as TextBox).Text; poRecordDetails.Quantity = Convert.ToInt32((r.FindControl("Txtquantity") as TextBox).Text.ToString()); poRecordDetails.UOM = PurchasingLogic.GetUOM(poRecordDetails.ItemID, DdlSli.SelectedValue); poRecordDetails.UnitPrice = (double)(PurchasingLogic.GetUnitPrice(poRecordDetails.ItemID, DdlSli.SelectedValue)); poRecordDetailList.Add(poRecordDetails); } poRecordDetailList.RemoveAt(sN - 1); GridViewPO.DataSource = poRecordDetailList; GridViewPO.DataBind(); }
protected void OnRowDataBound(object sender, GridViewRowEventArgs e) { if (e.Row.RowType == DataControlRowType.DataRow && ((PORecordDetail)e.Row.DataItem).ItemID != null) { PORecordDetail poR = (PORecordDetail)e.Row.DataItem; string itemId = poR.ItemID; double poRPrice = (double)(PurchasingLogic.GetUnitPrice(itemId, DdlSli.SelectedValue) * poR.Quantity); Label DesLbl = (e.Row.FindControl("LblDes") as Label); if (DesLbl != null) { DesLbl.Text = InventoryLogic.GetItemName(itemId); } Label UnpLbl = (e.Row.FindControl("LblUnp") as Label); if (UnpLbl != null) { UnpLbl.Text = PurchasingLogic.GetUnitPrice(itemId, DdlSli.SelectedValue).ToString("c"); } Label LblUOM = (e.Row.FindControl("LblUOM") as Label); if (LblUOM != null) { LblUOM.Text = PurchasingLogic.GetUOM(itemId, DdlSli.SelectedValue); } Label LblPrice = (e.Row.FindControl("LblPrice") as Label); if (LblPrice != null) { LblPrice.Text = ((double)(poR.Quantity * PurchasingLogic.GetUnitPrice(itemId, DdlSli.SelectedValue))).ToString("c"); } TextBox Txtquantity = e.Row.FindControl("Txtquantity") as TextBox; int Quantity = int.Parse(Txtquantity.Text); total += (PurchasingLogic.GetUnitPrice(itemId, DdlSli.SelectedValue) * Quantity); LblTotal.Text = total.ToString("c"); } }