public IActionResult Update(ConfirmInvoiceViewModel confirmInvoiceViewModel, int[] RemoveWorkTimeIDs) { List <Worktime> RemoveList = new List <Worktime>(); Invoice updatedInvoice = context.Invoices .Include(inv => inv.Project.Client) .Include(inv => inv.Worktimes) .Single(inv => inv.InvoiceID == confirmInvoiceViewModel.InvoiceID); foreach (int i in RemoveWorkTimeIDs) { foreach (Worktime aWorktime in updatedInvoice.Worktimes) { if (aWorktime.WorktimeID == i) { RemoveList.Add(aWorktime); } } } foreach (Worktime aWorktime in RemoveList) { updatedInvoice.Worktimes.Remove(aWorktime); updatedInvoice.TotalAmount -= aWorktime.Amount; aWorktime.OpenStatus = true; } context.SaveChanges(); ConfirmInvoiceViewModel confirmInvoiceViewModel2 = new ConfirmInvoiceViewModel(updatedInvoice); return(View("ConfirmInvoice", confirmInvoiceViewModel2)); }
public async Task <ActionResult> LockInvoice(ConfirmInvoiceViewModel confirmModel) { string userId = User.Identity.GetUserId(); ShoppingCart sessionCart = GetCartFromSession(userId); int orderNumber = sessionCart.Order.OrderNumber; if (ModelState.IsValid) { using (FreeMarketEntities db = new FreeMarketEntities()) { OrderHeader order = db.OrderHeaders.Find(orderNumber); if (order != null) { order.OrderStatus = "Invoiced"; db.Entry(order).State = System.Data.Entity.EntityState.Modified; db.SaveChanges(); OrderHeader.SendInvoice(userId, order.OrderNumber); AuditUser.LogAudit(28, string.Format("Order Number: {0}", order.OrderNumber), User.Identity.GetUserId()); sessionCart.Initialize(User.Identity.GetUserId()); } } return(RedirectToAction("PayInvoice", new { orderNumber = orderNumber })); } ConfirmInvoiceViewModel model = new ConfirmInvoiceViewModel(sessionCart); model.TermsAndConditions = confirmModel.TermsAndConditions; return(View("ConfirmInvoice", model)); }
public ActionResult ConfirmInvoice() { string userId = User.Identity.GetUserId(); ShoppingCart sessionCart = GetCartFromSession(userId); // EFT sessionCart.Order.PaymentOption = 1; ConfirmInvoiceViewModel model = new ConfirmInvoiceViewModel(sessionCart); return(View("ConfirmInvoice", model)); }
public IActionResult Generator(InvoiceViewModel invoiceViewModel) { if (ModelState.IsValid) { Project newProject = context.Projects .Include(p => p.Client) .Single(p => p.ProjectID == invoiceViewModel.ProjectID); Invoice newInvoice = new Invoice { CurrentDate = DateTime.Today.ToString("d"), Project = newProject }; IList <Worktime> openWorktimes = context.Worktimes .Where(w => w.ProjectID == invoiceViewModel.ProjectID) .Where(w => w.OpenStatus == true) .Include(w => w.Project) .Include(w => w.Project.Client) .ToList(); if (openWorktimes.Count == 0) { return(Redirect("/")); } newInvoice.Worktimes = openWorktimes; foreach (Worktime aWorktime in openWorktimes) { newInvoice.TotalAmount += aWorktime.Amount; aWorktime.OpenStatus = false; } context.Invoices.Add(newInvoice); context.SaveChanges(); ConfirmInvoiceViewModel confirmInvoiceViewModel = new ConfirmInvoiceViewModel(newInvoice); return(View("ConfirmInvoice", confirmInvoiceViewModel)); } return(View("Invoice", invoiceViewModel)); }
public IActionResult Cancel(ConfirmInvoiceViewModel confirmInvoiceViewModel) { Invoice RemoveInvoice = context.Invoices .Include(inv => inv.Project.Client) .Include(inv => inv.Worktimes) .Single(inv => inv.InvoiceID == confirmInvoiceViewModel.InvoiceID); List <Worktime> restoreTimes = RemoveInvoice.Worktimes.ToList(); foreach (Worktime aWorktime in restoreTimes) { aWorktime.OpenStatus = true; } context.Remove(RemoveInvoice); context.SaveChanges(); return(Redirect("/")); }