コード例 #1
0
        public ActionResult InvoiceCheckOut(Guid Doctor_Id, Guid Patient_Id, long OrderNumber)
        {
            InvoiceCheckoutViewModel InvoiceCheckoutViewModel = new InvoiceCheckoutViewModel();

            InvoiceCheckoutViewModel.Doctor_Id      = Doctor_Id;
            InvoiceCheckoutViewModel.Patient_Id     = Patient_Id;
            InvoiceCheckoutViewModel.OrderNumber    = OrderNumber;
            InvoiceCheckoutViewModel.Branch_Id      = Guid.Parse(User.Identity.GetUserBranchId());
            InvoiceCheckoutViewModel.Bill_Generator = Guid.Parse(User.Identity.GetUser_Id());
            InvoiceCheckoutViewModel.TotalBill      = (from T in db.Tests
                                                       join O in db.Orders on T.Id equals O.TestId
                                                       where O.PatientId == Patient_Id && O.OrderCode == OrderNumber &&
                                                       O.DoctorId == Doctor_Id
                                                       select T.Price).Sum();

            /// To Do Individual Test Discount not considered
            InvoiceCheckoutViewModel.TotalPayable = InvoiceCheckoutViewModel.TotalBill;
            ViewBag.ReferelLabId = new SelectList(db.ReferelLabs, "Id", "ReferelLabName");
            return(View(InvoiceCheckoutViewModel));
        }
コード例 #2
0
        public ActionResult InvoiceCheckOut(InvoiceCheckoutViewModel InvoiceCheckoutViewModel)
        {
            if (InvoiceCheckoutViewModel != null)
            {
                var data = db.InvoiceCheckouts.FirstOrDefault(x => x.OrderNumber == InvoiceCheckoutViewModel.OrderNumber);

                if (data != null)
                {
                    db.InvoiceCheckouts.Remove(data);
                    db.SaveChanges();
                }

                InvoiceCheckout invoiceCheckout = new InvoiceCheckout();
                invoiceCheckout.Id = Guid.NewGuid();

                invoiceCheckout.Doctor_Id    = InvoiceCheckoutViewModel.Doctor_Id;
                invoiceCheckout.Patient_Id   = InvoiceCheckoutViewModel.Patient_Id;
                invoiceCheckout.OrderNumber  = InvoiceCheckoutViewModel.OrderNumber;
                invoiceCheckout.TotalPayable = InvoiceCheckoutViewModel.TotalPayable;
                invoiceCheckout.Branch_Id    = InvoiceCheckoutViewModel.Branch_Id;

                invoiceCheckout.Bill_Generator = InvoiceCheckoutViewModel.Bill_Generator;

                invoiceCheckout.InvoiceDate = InvoiceCheckoutViewModel.InvoiceDate;

                invoiceCheckout.PaymentMode = InvoiceCheckoutViewModel.PaymentMode;

                invoiceCheckout.PaymentMethod = InvoiceCheckoutViewModel.PaymentMethod;

                invoiceCheckout.TotalBill = InvoiceCheckoutViewModel.TotalBill;
                invoiceCheckout.Discount  = InvoiceCheckoutViewModel.Discount;

                invoiceCheckout.SampleReceiveDate = InvoiceCheckoutViewModel.SampleReceiveDate;
                invoiceCheckout.SampleReceiveTime = InvoiceCheckoutViewModel.SampleReceiveTime;

                invoiceCheckout.IsCorporateCustomer = InvoiceCheckoutViewModel.IsCorporateCustomer;


                invoiceCheckout.ReferelLabId = InvoiceCheckoutViewModel.ReferelLabId;


                invoiceCheckout.Remarks = InvoiceCheckoutViewModel.Remarks;

                invoiceCheckout.ReportDeliveryDate = InvoiceCheckoutViewModel.ReportDeliveryDate;

                invoiceCheckout.ReportDeliveryTime = InvoiceCheckoutViewModel.ReportDeliveryTime;

                db.InvoiceCheckouts.Add(invoiceCheckout);
                db.SaveChanges();


                var ExistData = db.BillTransactions.FirstOrDefault(x => x.OrderNumber == InvoiceCheckoutViewModel.OrderNumber);

                if (ExistData != null)
                {
                    db.BillTransactions.Remove(ExistData);
                    db.SaveChanges();
                }


                BillTransaction billTransaction = new BillTransaction();
                billTransaction.Id          = Guid.NewGuid();
                billTransaction.OrderNumber = InvoiceCheckoutViewModel.OrderNumber;
                billTransaction.Patient_Id  = InvoiceCheckoutViewModel.Patient_Id;
                billTransaction.Doctor_Id   = InvoiceCheckoutViewModel.Doctor_Id;
                billTransaction.Branch_Id   = InvoiceCheckoutViewModel.Branch_Id;
                billTransaction.BillDate    = InvoiceCheckoutViewModel.InvoiceDate;
                billTransaction.Transtype   = "Bill";

                billTransaction.BillAmount = InvoiceCheckoutViewModel.TotalPayable;
                db.BillTransactions.Add(billTransaction);
                db.SaveChanges();


                var existingDataPaymentTrans = db.PaymentTransactions.Where(x => x.OrderNumber == InvoiceCheckoutViewModel.OrderNumber);
                if (existingDataPaymentTrans.Count() != 0)
                {
                    db.ExecuteNonQuery("Delete from PaymentTransactions where OrderNumber='" + InvoiceCheckoutViewModel.OrderNumber + "'");
                }
                if (InvoiceCheckoutViewModel.AmountReceived > 0)
                {
                    PaymentTransaction PaymentTransaction = new PaymentTransaction();
                    PaymentTransaction.Id          = Guid.NewGuid();
                    PaymentTransaction.OrderNumber = InvoiceCheckoutViewModel.OrderNumber;
                    PaymentTransaction.Patient_Id  = InvoiceCheckoutViewModel.Patient_Id;
                    PaymentTransaction.Doctor_Id   = InvoiceCheckoutViewModel.Doctor_Id;
                    PaymentTransaction.Branch_Id   = InvoiceCheckoutViewModel.Branch_Id;
                    PaymentTransaction.PaymentDate = InvoiceCheckoutViewModel.InvoiceDate;
                    PaymentTransaction.Transtype   = "Payment";
                    PaymentTransaction.TransAmount = InvoiceCheckoutViewModel.AmountReceived;
                    db.PaymentTransactions.Add(PaymentTransaction);
                    db.SaveChanges();
                }

                return(RedirectToAction("InvoiceCheckOut", new
                {
                    Doctor_Id = InvoiceCheckoutViewModel.Doctor_Id,
                    Patient_Id = InvoiceCheckoutViewModel.Patient_Id,
                    OrderNumber = InvoiceCheckoutViewModel.OrderNumber
                }));
            }
            ViewBag.ReferelLabId = new SelectList(db.ReferelLabs, "Id", "ReferelLabName");
            return(View(InvoiceCheckoutViewModel));
        }