public bool AddPurchaseDetail(string deliveryOrderNo, string itemCode, int qty, string remarks, decimal price) { using (StationeryModel Entity = new StationeryModel()) { int maxOrderNo = 0; //to obtain highest order number List <Purchase_Order_Record> pds = Entity.Purchase_Order_Records.ToList(); foreach (Purchase_Order_Record p in pds) { maxOrderNo = 1; if (p.orderNo > maxOrderNo) { maxOrderNo = p.orderNo; } } Purchase_Detail pd = new Purchase_Detail(); pd.orderNo = maxOrderNo + 1; pd.deliveryOrderNo = deliveryOrderNo; pd.itemCode = itemCode; pd.qty = qty; pd.remarks = remarks; pd.price = price; Entity.Purchase_Detail.Add(pd); Entity.SaveChanges(); return(true); } }
public bool AddPurchaseDetail(Purchase_Detail pd) { using (StationeryModel Entity = new StationeryModel()) { Entity.Purchase_Detail.Add(pd); Entity.SaveChanges(); return(true); } }
public ActionResult GeneratePO(int?page) { string loggedInUser = HttpContext.User.Identity.Name; int orderNo = findNextOrderNo(); List <Purchase_Detail> po = details.Keys.ToList <Purchase_Detail>(); details = (Dictionary <Purchase_Detail, string>)Session["detailsBundle"]; if (details == null) { TempData["ErrorMessage"] = "No PO to generate."; return(RedirectToAction("RaisePurchaseOrder")); } else { List <string> suppliers = details.Values.Distinct().ToList(); for (int i = 0; i < suppliers.Count; i++) { Purchase_Order_Record p = new Purchase_Order_Record(); p.clerkID = loggedInUser; p.date = DateTime.Now; p.orderNo = orderNo + i; p.status = "incomplete"; //the default starting status p.supplierCode = suppliers[i]; p.expectedDeliveryDate = DateTime.Now.AddDays(14); //HARD CODED currently pos.AddNewPurchaseOrder(p); foreach (KeyValuePair <Purchase_Detail, string> entry in details) { Purchase_Detail pd = entry.Key; string supplierCode = entry.Value; //find the orderNo matching supplier and create the purchase detail if (supplierCode == suppliers[i]) { pd.orderNo = orderNo + i; pos.AddPurchaseDetail(pd); } } } Session["detailsBundle"] = null; //clear the orderCart List <Purchase_Order_Record> model = pos.GetAllPurchaseOrder(); //return View("ListPurchaseOrders", model); int pageSize = 6; int pageNumber = (page ?? 1); return(View("ListPurchaseOrders", model.ToPagedList(pageNumber, pageSize))); } }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { if (Request.QueryString["id"] != null) { A1 = new Purchase_Detail(); int ID = Convert.ToInt32(Request.QueryString["id"]); show_data(ID); } //my.FillCombo(ddlBook_id, "Book_Master", "Title", "Book_id", ""); } }
public int UpdatePurchaseDetailsInfo(Purchase_Detail pd) { using (StationeryModel Entity = new StationeryModel()) { Purchase_Detail purchd = (from x in Entity.Purchase_Detail where x.orderNo == pd.orderNo && x.itemCode == pd.itemCode select x).FirstOrDefault(); purchd.fulfilledQty = pd.fulfilledQty; purchd.price = pd.price; purchd.deliveryOrderNo += " /" + pd.deliveryOrderNo; purchd.remarks = pd.remarks; int rowAffected = Entity.SaveChanges(); return(rowAffected); } }
public ActionResult RaisePurchaseOrder([Bind(Include = "orderNo, itemCode, qty, remarks, price")] Purchase_Detail pd, string supplierCode) { int orderNo = findNextOrderNo(); ViewBag.orderNo = orderNo; List <Purchase_Detail> model = new List <Purchase_Detail>(); Dictionary <Purchase_Detail, string> details = new Dictionary <Purchase_Detail, string>(); ViewBag.itemCodeList = new SelectList(ss.GetAllStationery(), "itemCode", "description"); ViewBag.supplierList = null; if (Session["detailsBundle"] != null) { details = (Dictionary <Purchase_Detail, string>)Session["detailsBundle"]; model = details.Keys.ToList <Purchase_Detail>(); } //only save to session if itemcode, price and qty are entered if (pd.price > 0 && pd.qty > 0 && pd.itemCode != ("--Select--") && supplierCode != ("--Select--")) { //check for pre-exisiting pd with same itemcode if (model.Exists(x => x.itemCode == pd.itemCode)) { TempData["DuplicateEntryMessage"] = "An order for the same item already exists in the list."; } //save else { //pd.price = ctx.Stationeries.Where(x => x.itemCode == pd.itemCode).First().price; details.Add(pd, supplierCode); model.Add(pd); Session["detailsBundle"] = details; } ModelState.Clear(); return(View("RaisePurchaseOrder", model)); } ModelState.Clear(); return(View(model)); }
private ReportViewModel ConvertToReportViewModel(Purchase_Detail detail) { Stationery stationery = stationeryService.FindStationeryByItemCode(detail.itemCode); Purchase_Order_Record record = detail.Purchase_Order_Record; ReportViewModel vm = new ReportViewModel(); vm.CategoryName = stationery.Category.categoryName; vm.Cost = detail.price; vm.ItemCode = stationery.itemCode; vm.ItemDescription = stationery.description; vm.Month = record.date.Month; vm.OrderQuantity = detail.qty; vm.Status = record.status; vm.Supplier = record.supplierCode; vm.Year = record.date.Year; return(vm); }
public ActionResult DeletePD(string delItemCode) { Dictionary <Purchase_Detail, string> details = (Dictionary <Purchase_Detail, string>)Session["detailsBundle"]; List <Purchase_Detail> model = details.Keys.ToList <Purchase_Detail>(); ViewBag.itemCodeList = new SelectList(ss.GetAllStationery(), "itemCode", "description"); ViewBag.supplierList = null; Purchase_Detail pd = model.Where(x => x.itemCode == delItemCode).First(); //remove from model model.Remove(pd); //remove from sessions state details.Remove(pd); Session["detailsBundle"] = details; return(View("RaisePurchaseOrder", model)); }
public void show_data(int ID) { A_Handler = new Purchase_DetailHandler(); A1 = new Purchase_Detail(); A1 = A_Handler.GetPurchase_DetailDetails(ID); txtPd_id.Text = A1.Pd_id.ToString(); ddlReg_id.SelectedValue = A1.Reg_id.ToString(); ddlPm_id.SelectedValue = A1.Pm_id.ToString(); ddlBook_id.SelectedValue = A1.Book_id.ToString(); txtQty.Text = A1.Qty.ToString(); txtRate.Text = A1.Rate.ToString(); txtAmount.Text = A1.Amount.ToString(); btnSubmit.Text = "Update"; btnReset.Text = "Cancel"; if (Request.QueryString["action"] == "del") { Label1.Text = "Are U Sure, U want to Delete a Record ?"; txtPd_id.ReadOnly = false; ddlReg_id.Enabled = false; ddlPm_id.Enabled = false; ddlBook_id.Enabled = false; txtQty.ReadOnly = false; txtRate.ReadOnly = false; txtAmount.ReadOnly = false; btnSubmit.Text = "Delete"; } }
protected void btnSubmit_Click(object sender, EventArgs e) { A_Handler = new Purchase_DetailHandler(); A1 = new Purchase_Detail(); //A1.Pd_id = Convert.ToInt32(txtPd_id.Text); A1.Reg_id = Convert.ToInt32(ddlReg_id.SelectedValue); A1.Pm_id = Convert.ToInt32(ddlPm_id.SelectedValue); A1.Book_id = Convert.ToInt32(ddlBook_id.SelectedValue); A1.Qty = Convert.ToInt32(txtQty.Text); A1.Rate = Convert.ToDecimal(txtRate.Text); A1.Amount = Convert.ToDecimal(txtAmount.Text); if (btnSubmit.Text == "Submit") { bool B = A_Handler.AddNewPurchase_Detail(A1); if (B == true) { Label1.Text = "Record Inserted"; MSG = "Record Inserted"; } else { Label1.Text = "Record Not Inserted"; MSG = "Record Not Inserted"; } } else if (btnSubmit.Text == "Update") { A1.Pd_id = Convert.ToInt32(txtPd_id.Text); bool B = A_Handler.UpdatePurchase_Detail(A1); if (B == true) { Label1.Text = "Record Updated"; MSG = "Record Not Updated"; } else { Label1.Text = "Record Not Updated"; MSG = "Record Not Updated"; } } else if (btnSubmit.Text == "Delete") { A1.Pd_id = Convert.ToInt32(txtPd_id.Text); bool B = A_Handler.DeletePurchase_Detail(A1); if (B == true) { Label1.Text = "Record Deleted"; MSG = "Record Deleted"; } else { Label1.Text = "Record Not Deleted"; MSG = "Record Not Deleted"; } } //Response.Redirect("~/ADMIN/Purchase_Detail_list.aspx?msg="+MSG); }
public ActionResult AddSelected(string checker) { List <string> itemCodes = new List <string>(); List <Purchase_Detail> model = new List <Purchase_Detail>(); Dictionary <string, string> kv = new Dictionary <string, string>(); //kv pair of itemcode and sggestedqty List <StationeryViewModel> modelAll = shortFallList(); // used if generate all is chosen if (checker == "addAll") //add all { foreach (StationeryViewModel svm in modelAll) { itemCodes.Add(svm.ItemCode); } } else { //list of itemCodes to be reordered itemCodes = Request.QueryString.AllKeys.ToList(); foreach (string s in itemCodes) { string v = Request.QueryString.GetValues(s).First(); kv.Add(s, v); } } ////might need to remove //if (Session["detailsBundle"] != null) //{ // details = (Dictionary<Purchase_Detail, string>)Session["detailsBundle"]; // model = details.Keys.ToList<Purchase_Detail>(); //} foreach (string i in itemCodes) { //takes the price of the first/default supplier Stationery s = ctx.Stationeries.Where(x => x.itemCode == i).First(); decimal price = s.price; int qtyToReorder; //find qty to reorder if (checker == "addAll") { StationeryViewModel svm = modelAll.Where(x => x.ItemCode == i).First(); qtyToReorder = svm.Suggested; } else { qtyToReorder = Int32.Parse(kv[i]); } Purchase_Detail pd = new Purchase_Detail(); pd.orderNo = findNextOrderNo(); pd.itemCode = i; pd.qty = qtyToReorder; pd.price = price; pd.remarks = String.Format("autogenerated from shortfall list on {0}", DateTime.Now.ToString()); model.Add(pd); //find the default supplier string defaultSupplier = ctx.Stationeries.Where(x => x.itemCode == i).First().firstSupplierCode; details.Add(pd, defaultSupplier); } Session["detailsBundle"] = details; //to obtain latest order number int orderNo = findNextOrderNo(); ViewBag.orderNo = orderNo; ViewBag.itemCodeList = stationeryService.GetAllItemCodes(); //return View("~/Views/Purchase/RaisePurchaseOrder.cshtml", model); return(RedirectToAction("RaisePurchaseOrder", "Purchase", model)); }
public int UpdatePurchaseDetailsInfo(Purchase_Detail pd) { return(dao.UpdatePurchaseDetailsInfo(pd)); }
public bool AddPurchaseDetail(Purchase_Detail pd) { return(dao.AddPurchaseDetail(pd)); }
// This fuction does not contain any business logic, it simply returns the // list of purchase_details, we can put some logic here if needed public bool AddNewPurchase_Detail(Purchase_Detail b1) { return(purchase_detailDb.AddNewPurchase_Detail(b1)); }
// This fuction does not contain any business logic, it simply returns the // list of purchase_details, we can put some logic here if needed public bool DeletePurchase_Detail(Purchase_Detail b1) { return(purchase_detailDb.DeletePurchase_Detail(b1)); }
// This fuction does not contain any business logic, it simply returns the // list of purchase_details, we can put some logic here if needed public bool UpdatePurchase_Detail(Purchase_Detail b1) { return(purchase_detailDb.UpdatePurchase_Detail(b1)); }