Example #1
0
        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());
            }
        }