public async Task <ActionResult> ConfirmPayment(int?id) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Account")); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Invoice invoice = await db.Invoices.FindAsync(id); if (invoice == null) { return(HttpNotFound()); } invoice.InvoiceStatus = (InvoiceStatus)2; db.Entry(invoice).State = EntityState.Modified; await db.SaveChangesAsync(); InvoicesHub.BroadcastData(); return(RedirectToAction("Index")); }
public async Task <ActionResult> ConfirmShipment(int?id) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Account")); } if (User.IsInRole("Validated User") || User.IsInRole("Unvalidated User")) { return(RedirectToAction("Warning", "Home", new { message = "ACCESS DENIED" })); } if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Invoice invoice = await db.Invoices.FindAsync(id); if (invoice == null) { return(HttpNotFound()); } invoice.InvoiceStatus = (InvoiceStatus)1; db.Entry(invoice).State = EntityState.Modified; await db.SaveChangesAsync(); InvoicesHub.BroadcastData(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Create(int?orderID) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Account")); } Order order = await db.Orders.FindAsync(orderID); if (order == null) { return(HttpNotFound()); } var products = db.ProductInOrders.Where(x => x.OrderID == order.OrderID).Include(x => x.Product.ProductCategory.VatCategory); if (products.Count() == 0) { return(RedirectToAction("Warning", "Home", new { message = "No products added in this order. Click Continue Order to add products." })); } // Check if products are available! if (!UpdateProducts(order)) { return(RedirectToAction("Warning", "Home", new { message = "Not all products are available. Click View Order to see details. " })); } decimal totalPrice = 0; foreach (var item in products) { totalPrice += (item.Product.ProductPrice + Convert.ToDecimal(item.Product.ProductCategory.VatCategory.VatPercentage) * item.Product.ProductPrice / 100.0m) * item.Quantity; } // If products are available, reduce all stocks then complete the rest order.OrderStatus = (OrderStatus)1; Invoice invoice = new Invoice(); invoice.OrderID = (int)orderID; invoice.DateCreated = DateTime.Now; invoice.PaymentDueDate = DateTime.Now.AddMonths(2); invoice.InvoiceStatus = (InvoiceStatus)0; invoice.TotalPrice = totalPrice; db.Invoices.Add(invoice); await db.SaveChangesAsync(); InvoicesHub.BroadcastData(); return(RedirectToAction("Index")); }
public async Task <ActionResult> DeleteConfirmed(int id) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Account")); } if (User.IsInRole("Validated User") || User.IsInRole("Unvalidated User")) { return(RedirectToAction("Warning", "Home", new { message = "ACCESS DENIED" })); } Invoice invoice = await db.Invoices.FindAsync(id); db.Invoices.Remove(invoice); await db.SaveChangesAsync(); InvoicesHub.BroadcastData(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Create([Bind(Include = "InvoiceID,OrderID,InvoiceStatus,PaymentDueDate,DateCreated")] Invoice invoice) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Account")); } if (ModelState.IsValid) { db.Invoices.Add(invoice); await db.SaveChangesAsync(); InvoicesHub.BroadcastData(); return(RedirectToAction("Index")); } ViewBag.OrderID = new SelectList(db.Orders, "OrderID", "UserId", invoice.OrderID); return(View(invoice)); }
public async Task <ActionResult> Edit([Bind(Include = "InvoiceID,OrderID,InvoiceStatus,PaymentDueDate,DateCreated,TotalPrice")] Invoice invoice) { if (!User.Identity.IsAuthenticated) { return(RedirectToAction("Login", "Account")); } if (User.IsInRole("Validated User") || User.IsInRole("Unvalidated User")) { return(RedirectToAction("Warning", "Home", new { message = "ACCESS DENIED" })); } if (ModelState.IsValid) { db.Entry(invoice).State = EntityState.Modified; await db.SaveChangesAsync(); InvoicesHub.BroadcastData(); return(RedirectToAction("Index")); } ViewBag.OrderID = new SelectList(db.Orders, "OrderID", "UserId", invoice.OrderID); return(View(invoice)); }