コード例 #1
0
        public ActionResult AddDelivery(int CementID)
        {
            DeliveryPaymentViewModel dpVM = new DeliveryPaymentViewModel();

            ViewBag.CementID = CementID;
            return(View(dpVM));
        }
コード例 #2
0
        public ActionResult AddDelivery(DeliveryPaymentViewModel delivery, int CementID, int TransactionID)
        {
            // Create Individiual Instance.
            Transaction    transaction = new Transaction();
            Delivery       Deliveries  = new Delivery();
            Payment        Payments    = new Payment();
            Expense        Expenses    = new Expense();
            Cement         Cements     = new Cement();
            List <Expense> expenseList = new List <Expense>();

            // Delivery Instantiate
            Deliveries.CementID          = CementID;
            Deliveries.DateOfArrival     = delivery.DeliveryModel.DateOfArrival;
            Deliveries.DateofCreation    = DateTime.Now;
            Deliveries.DeliveryTo        = delivery.DeliveryModel.DeliveryTo;
            Deliveries.Destination       = delivery.DeliveryModel.Destination;
            Deliveries.DriverName        = delivery.DeliveryModel.DriverName;
            Deliveries.DRNumber          = delivery.DeliveryModel.DRNumber;
            Deliveries.HaulerCompany     = delivery.DeliveryModel.HaulerCompany;
            Deliveries.DestinationTo     = delivery.DeliveryModel.DestinationTo;
            Deliveries.Hauling           = delivery.DeliveryModel.Hauling;
            Deliveries.PlateNumber       = delivery.DeliveryModel.PlateNumber;
            Deliveries.QuantityToDeliver = delivery.DeliveryModel.QuantityToDeliver;
            Deliveries.TransactionID     = TransactionID;


            db.Deliveries.Add(Deliveries);
            db.SaveChanges();
            transaction.DeliveryID = delivery.DeliveryModel.DeliveryID;



            //if (!db.Transactions.Any(t => t.CementID == CementID))
            //{
            //    transaction.CementID = CementID;
            //    transaction.DeliveryID = delivery.DeliveryModel.DeliveryID;

            //    db.Transactions.Add(transaction);
            //    db.SaveChanges();

            //    Deliveries.TransactionID = transaction.TransactionID;
            //    db.Deliveries.Attach(Deliveries);
            //    var entry = db.Entry(Deliveries);
            //    entry.Property(e => e.TransactionID).IsModified = true;
            //    // Transaction Creation + Delivery ID added completed

            //    Cements = db.Cements.Find(Deliveries.CementID);
            //    Cements.TransactionID = transaction.TransactionID;
            //    db.Cements.Attach(Cements);
            //    var entry2 = db.Entry(Cements);
            //    entry2.Property(e => e.TransactionID).IsModified = true;

            //}
            //else
            //{
            //    transaction = db.Transactions.Where(t => t.CementID == CementID).First();
            //    Deliveries.TransactionID = transaction.TransactionID;
            //    db.Deliveries.Attach(Deliveries);
            //    var entry = db.Entry(Deliveries);
            //    entry.Property(e => e.TransactionID).IsModified = true;
            //    // Updated Transaction added delivery entity with The transaction ID


            //    // other changed properties

            //}


            //Checking if Payment DR Number is not null Save Payment
            if (!String.IsNullOrEmpty(delivery.PaymentModel.Name) || !String.IsNullOrEmpty(delivery.PaymentModel.BankName))
            {
                Payments.BankName       = delivery.PaymentModel.BankName;
                Payments.Name           = delivery.PaymentModel.Name;
                Payments.Branch         = delivery.PaymentModel.Branch;
                Payments.DateofCheque   = delivery.PaymentModel.DateofCheque;
                Payments.DRNumber       = delivery.DeliveryModel.DRNumber;
                Payments.PricePHP       = delivery.PaymentModel.PricePHP;
                Payments.ChequeNumber   = delivery.PaymentModel.ChequeNumber;
                Payments.TermsOfPayment = delivery.PaymentModel.TermsOfPayment;
                Payments.TransactionID  = TransactionID;
                Payments.DeliveryID     = Deliveries.DeliveryID;
                db.Payments.Add(Payments);
                db.SaveChanges();
                //Save Transactions PaymentID;

                //transaction.PaymentID = Payments.PaymentID;
                //db.Transactions.Attach(transaction);
                //var entry = db.Entry(transaction);
                //entry.Property(e => e.PaymentID).IsModified = true;

                // Expese Checking.
                if (delivery.PaymentModel.Expenses != null)
                {
                    foreach (Expense exp in delivery.PaymentModel.Expenses)
                    {
                        exp.PaymentID = Payments.PaymentID;

                        db.Expenses.Add(exp);
                    }
                }
            }

            db.SaveChanges();
            Cements = db.Cements.Find(CementID);
            return(RedirectToAction("Index", "SummaryTransaction", new { SOnumberPass = Cements.SOnumber }));
        }