public List <Purchase_Order_Details> addPurchaseDetailsItem() { foreach (GridViewRow row in GridView1.Rows) { string qty = ((Label)row.FindControl("qty")).Text; totalqtyorder[qtyindex] = Convert.ToInt32(qty); qtyindex++; } foreach (string v in su) { sunameorder[suppnameorderindex] = v; suppnameorderindex++; } List <Purchase_Order_Details> podList = new List <Purchase_Order_Details>(); foreach (Stationery_Catalogue Scat in st) { string suppname = sunameorder[k]; int qtyorder = totalqtyorder[k]; string suuid = model.Suppliers.Where(x => x.Supplier_Name == suppname).Select(x => x.Supplier_ID).First(); Purchase_Order_Details pod = new Purchase_Order_Details(); pod.Item_Number = Scat.Item_Number; pod.Quantity = qtyorder; pod.Supplier_ID = suuid; pod.Status = "Pending"; podList.Add(pod); k++; } return(podList); }
protected void Page_Load(object sender, EventArgs e) { String supplierID = Request.QueryString["supplier_id"]; item_number = Request.QueryString["item_Number"]; orderid = Request.QueryString["order_id"]; string sts = Request.QueryString["status"]; ord = Convert.ToInt32(orderid); Supplier s = model.Suppliers.Where(x => x.Supplier_ID == supplierID).First(); lblsupname.Text = s.Supplier_Name; lblfax.Text = s.Fax_Number.ToString(); lblcontanct.Text = s.Contact_Number.ToString(); lblorderID.Text = orderid; lblstatus.Text = sts; var podetail = model.Purchase_Order_Details.Where(x => x.Order_ID == ord && x.Item_Number == item_number).Select(x => x.Quantity).First(); lblqty.Text = podetail.ToString(); iteminfo = model.Stationery_Catalogue.Where(x => x.Item_Number == item_number).First(); lblcategory.Text = iteminfo.Category; lbldescription.Text = iteminfo.Description; lblunitprice.Text = iteminfo.Price.ToString(); int qty = Convert.ToInt32(iteminfo.Reorder_Quantity); Double unitprice = ((double)podetail / (double)qty); Double total = (Double)((Double)iteminfo.Price * (double)unitprice); lbltotal.Text = total.ToString(); DateTime today = DateTime.Today; if (today.DayOfWeek == DayOfWeek.Monday) { lbldelivery.Text = today.ToString(); } else { int daysmonday = ((int)DayOfWeek.Monday - (int)today.DayOfWeek + 7) % 7; DateTime monday = today.AddDays(daysmonday); lbldelivery.Text = DeliveryDate.getDeliveryDate(); /*monday.ToString();*/ } orderdetail = model.Purchase_Order_Details.Where(x => x.Order_ID == ord && x.Item_Number == item_number).First(); string status = orderdetail.Status; if (status.Equals("Purchased") || status.Equals("Forwarded")) { btnSendInvoice.Visible = false; btnAddtoStock.Visible = false; } orderdetail = model.Purchase_Order_Details.Where(x => x.Order_ID == ord && x.Item_Number == item_number).First(); Random r = new Random(); int invoicenp = r.Next(1000000, 9999999); lblInvoice.Text = invoicenp.ToString(); }
protected void delete_OrderItem(object sender, EventArgs e) { Button btn = (Button)sender; GridViewRow gvr = (GridViewRow)btn.NamingContainer; int orderDetailId = Convert.ToInt32(((Label)gvr.FindControl("Label_OrderDetailId")).Text); Purchase_Order_Details order = context.Purchase_Order_Details.Where(x => x.order_details_id == orderDetailId).First(); order.deleted = "Y"; context.SaveChanges(); Response.Redirect("~/Views/StoreClerk/EditOrder.aspx"); }
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e) { GridViewRow row = GridView1.SelectedRow; String item = row.Cells[2].Text; String supplierid = row.Cells[1].Text; Purchase_Order_Details update = model.Purchase_Order_Details.Where(x => x.Order_ID == order_ID && x.Item_Number == item).First(); if (update != null) { update.Supplier_ID = supplierid; update.Status = "Pending"; model.SaveChanges(); } Purchase_Order order = model.Purchase_Order.Where(x => x.Order_ID == order_ID).First(); var date = order.Order_Date; var user = order.User_ID; Response.Redirect("Store_ChangePurchaseOrderDetails.aspx?Order_ID=" + order_ID + "&Order_Date=" + date + "&user_id=" + user); }
protected void MakeOrder(object sender, EventArgs e) { HashSet <OrderDetailsView> orderList = (HashSet <OrderDetailsView>)Session["tender"]; IEnumerable <IGrouping <string, OrderDetailsView> > groups = orderList.GroupBy(k => k.SupplierId); // Create new Order foreach (var o in groups) { Purchase_Order po = new Purchase_Order(); po.supplier_id = o.Key; po.clerk_user = User.Identity.Name; po.delivery_by = DateTime.Parse(deliverydate.Text); po.order_date = DateTime.Today; po.deliver_address = "1 University Road, #01-00 Store Warehouse, Singapore 786541"; po.deleted = "N"; s.Purchase_Order.Add(po); s.SaveChanges(); // Get OrderID Purchase_Order createdorder = s.Purchase_Order.Where(x => x.clerk_user == User.Identity.Name).OrderBy(x => x.order_id).ToList().Last(); foreach (var item in o) { Purchase_Order_Details orderDetail = new Purchase_Order_Details(); orderDetail.order_id = createdorder.order_id; orderDetail.tender_id = item.TenderId; orderDetail.quantity = item.Quantity; orderDetail.status = "Pending"; orderDetail.cancelled = "N"; orderDetail.deleted = "N"; s.Purchase_Order_Details.Add(orderDetail); s.SaveChanges(); } } UserModel currentUserModel = new UserModel(User.Identity.Name); /* Email logic */ string fromEmail = currentUserModel.Email; string fromName = currentUserModel.Fullname; UserModel deptHead = currentUserModel.FindDelegateOrDeptHead(); string toEmail = deptHead.Email; string toName = deptHead.Fullname; string subject = string.Format("Your purchase order confirmation, {0}", fromName); StringBuilder sb = new StringBuilder(); sb.AppendLine("Dear " + fromName + ","); sb.AppendLine("<br />"); sb.AppendLine("<br />"); sb.AppendLine(string.Format("You have sent a purchase order.")); sb.AppendLine("<br />"); sb.AppendLine("<br />"); sb.AppendLine(string.Format("Please <a href=\"{0}\">follow this link to view the request</a>.", "https://rebrand.ly/ssis-store-receiveorder")); sb.AppendLine("<br />"); sb.AppendLine("<br />"); sb.AppendLine("Thank you."); sb.AppendLine("<br />"); sb.AppendLine("<br />"); sb.AppendLine("<i>This message was auto-generated by the Stationery Store Inventory System.</i>"); string body = sb.ToString(); new Emailer(fromEmail, fromName).SendEmail(fromEmail, fromName, subject, body); /* End of email logic */ Session["tender"] = null; Session["item"] = null; Response.Redirect("~/Views/StoreClerk/PurchaseOrderSuccess.aspx"); }
protected void Confirm(object sender, EventArgs e) { int orderID = Convert.ToInt32(Session["order"]); Delivery_Orders d = new Delivery_Orders(); d.clerk_user = User.Identity.Name; d.deleted = "N"; d.order_id = orderID; d.receive_date = DateTime.Parse(deliverydate.Text); context.Delivery_Orders.Add(d); context.SaveChanges(); List <Purchase_Order_Details> podList = context.Purchase_Order_Details.Where(x => x.order_id == orderID).ToList <Purchase_Order_Details>(); foreach (Purchase_Order_Details pod in podList) { pod.status = "Completed"; context.SaveChanges(); } //Get DeliveryOrderID Delivery_Orders order = context.Delivery_Orders.Where(x => x.clerk_user == User.Identity.Name).OrderBy(x => x.delivery_id).ToList().Last(); foreach (GridViewRow rows in GridView1.Rows) { TextBox qty = (TextBox)rows.FindControl("quantity"); TextBox r = (TextBox)rows.FindControl("remark"); Label exp_quantity = (Label)rows.FindControl("Label_quantity"); int exp_qty = Convert.ToInt32(exp_quantity.Text); Label itemdesc = (Label)rows.FindControl("Label_itemDesc"); Label orderdetailid = (Label)rows.FindControl("Label_OrderDetailId"); string itemName = itemdesc.Text; int quantity = Convert.ToInt32(qty.Text); string remarks = r.Text; int orderDetail = Convert.ToInt32(orderdetailid.Text); Stock_Inventory item = context.Stock_Inventory.Where(x => x.item_description == itemName).First(); int currentQuantity = item.current_qty; item.current_qty = currentQuantity + quantity; context.SaveChanges(); Purchase_Order_Details pod = context.Purchase_Order_Details.Where(x => x.order_details_id == orderDetail).First(); Delivery_Details dd = new Delivery_Details(); dd.delivery_id = order.delivery_id; dd.deleted = "N"; dd.tender_id = pod.tender_id; dd.quantity = quantity; dd.remarks = remarks; context.Delivery_Details.Add(dd); context.SaveChanges(); } Response.Redirect("~/views/storeclerk/viewpendingorder.aspx"); }