public ActionResult AddDelivery(int CementID) { DeliveryPaymentViewModel dpVM = new DeliveryPaymentViewModel(); ViewBag.CementID = CementID; return(View(dpVM)); }
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 })); }