public ActionResult AddNewInvoice(AddNewInvoice addNewInvoice) { //add to details table RepoProcurement <Models.Invoice> invoice = new RepoProcurement <Models.Invoice>(); RepoProcurement <Models.InvoiceDetail> invoiceDetails = new RepoProcurement <Models.InvoiceDetail>(); //if (Session["InvoiceNumber"] == null) //{ // db.Invoice.Add(addNewInvoice.invoice); // db.SaveChanges(); // Session["InvoiceNumber"] = addNewInvoice.invoice.Id; //} var invoiceexists = db.Invoice.FirstOrDefault(e => e.InvoiceNo == addNewInvoice.invoice.InvoiceNo); if (invoiceexists == null) { var SupplierId = db.supplier.FirstOrDefault(e => e.Supplier_Name == addNewInvoice.invoice.SupplierName); addNewInvoice.invoice.SupplierId = SupplierId.Supplier_Code; db.Invoice.Add(addNewInvoice.invoice); db.SaveChanges(); invoiceexists = db.Invoice.FirstOrDefault(e => e.InvoiceNo == addNewInvoice.invoice.InvoiceNo); Session["InvoiceNumber"] = addNewInvoice.invoice.Id; } //make the last invoice the invoice number for the invoice detail addNewInvoice.invoiceDetails.InvoiceNo = invoiceexists.Id; var drugid = db.Drug.Where(p => p.Name.Contains(addNewInvoice.invoiceDetails.Item)).FirstOrDefault().Id; addNewInvoice.invoiceDetails.DrugId = drugid; if (invoiceexists == null) { //add new invoice detail if invoice db.InvoiceDetail.Add(addNewInvoice.invoiceDetails); db.SaveChanges(); } else if (invoiceexists != null && !invoiceexists.FinalApproval) { //add new invoice detail if invoice hasent been authorized db.InvoiceDetail.Add(addNewInvoice.invoiceDetails); db.SaveChanges(); } int invNo = Convert.ToInt32(Session["InvoiceNumber"]); var model = db.InvoiceDetail.Where(p => p.InvoiceNo == invoiceexists.Id).OrderByDescending(p => p.Id).ToList(); return(PartialView("~/Areas/Procurement/Views/ProcurementPurchase/_InvoiceList.cshtml", model)); }
public ActionResult AddNewGenericDrug(string name) { //first trial of the repository pattern RepoProcurement <GenericDrugName> repoProcurement = new RepoProcurement <GenericDrugName>(); GenericDrugName drugName = new GenericDrugName() { Name = name }; if (ModelState.IsValid) { repoProcurement.Add(drugName); return(Json("")); } else { return(View()); } }