public object AddLayaway(IRepository <Layaway> layawayContext, string customerId) { try { Layaway layaway = new Layaway() { CustomerId = customerId, AgreementDate = DateTime.Now, DueDate = DateTime.Now.AddDays(90) }; layawayContext.Insert(layaway); layawayContext.Commit(); // send response object return(new { Successful = true, Message = "Layaway added." }); } catch (Exception ex) { // log error; Console.WriteLine(ex); // send response object error return(new { Successful = false, Message = "Layaway failed to add." }); } }
public object UpdateLayaway(IRepository <Layaway> layawayContext, string data) { try { Layaway layaway = JsonConvert.DeserializeObject <Layaway>(data); string Id = layaway.Id; Layaway retrievedLayaway = layawayContext.Find(Id); if (retrievedLayaway != null) { retrievedLayaway.CustomerId = layaway.CustomerId; retrievedLayaway.AgreementDate = layaway.AgreementDate; retrievedLayaway.DueDate = layaway.DueDate; retrievedLayaway.DownPayment = layaway.DownPayment; retrievedLayaway.ServiceFee = layaway.ServiceFee; retrievedLayaway.CancellationFee = layaway.CancellationFee; retrievedLayaway.OrderStatus = layaway.OrderStatus; } layawayContext.Update(retrievedLayaway); layawayContext.Commit(); // send response object return(new { Successful = true, Message = "Layaway updated." }); } catch (Exception ex) { // log error; Console.WriteLine(ex); // send response object error return(new { Successful = false, Message = "Layaway failed to update." }); } }
public void AddToLayaway(HttpContextBase httpContext, string productId) { Layaway layaway = GetLayaway(httpContext, true); LayawayItem item = layaway.LayawayItems.FirstOrDefault(p => p.ProductId == productId); if (item == null) { item = new LayawayItem() { LayawayId = layaway.Id, ProductId = productId, Quantity = 1, ModifiedAt = DateTime.Now }; layaway.LayawayItems.Add(item); } else { ++item.Quantity; item.ModifiedAt = DateTime.Now; } layawayContext.Commit(); }
private Layaway GetLayaway(HttpContextBase httpContext, bool createIfNull) { HttpCookie cookie = httpContext.Request.Cookies.Get(LayawaySessionName); Layaway layaway = new Layaway(); if (cookie != null) { string LayawayId = cookie.Value; if (!string.IsNullOrEmpty(LayawayId)) { layaway = layawayContext.Find(LayawayId); } else { if (createIfNull) { layaway = CreateNewLayaway(httpContext); } } } else { if (createIfNull) { layaway = CreateNewLayaway(httpContext); } } return(layaway); }
public ActionResult Edit(Layaway layaway, string Id, HttpPostedFileBase file) { Layaway layawayToEdit = layawayContext.Find(Id); if (layawayToEdit == null) { return(HttpNotFound()); } else { if (!ModelState.IsValid) { return(View(layaway)); } layawayToEdit.CustomerId = layaway.CustomerId; layawayToEdit.AgreementDate = layaway.AgreementDate; layawayToEdit.DueDate = layaway.DueDate; layawayToEdit.DownPayment = layaway.DownPayment; layawayToEdit.ServiceFee = layaway.ServiceFee; layawayToEdit.CancellationFee = layaway.CancellationFee; layawayToEdit.OrderStatus = layaway.OrderStatus; layawayToEdit.CreatedAt = layaway.CreatedAt; layawayContext.Commit(); return(RedirectToAction("Index")); } }
public void ClearLayaway(HttpContextBase httpContext) { Layaway layaway = GetLayaway(httpContext, false); layaway.LayawayItems.Clear(); layawayContext.Commit(); }
public List <LayawayItemViewModel> GetLayawayItems(HttpContextBase httpContext) { Layaway layaway = GetLayaway(httpContext, false); if (layaway != null) { var result = (from b in layaway.LayawayItems join p in productContext.Collection() on b.ProductId equals p.Id orderby b.ModifiedAt descending select new LayawayItemViewModel() { Id = b.Id, Quantity = b.Quantity, ModifiedAt = b.ModifiedAt, ProductId = b.ProductId, ProductName = p.Name, UPC = p.UPC, ProductCode = p.ProductCode, Image = p.Image, Price = p.Price }).ToList(); return(result); } else { return(new List <LayawayItemViewModel>()); } }
// GET: /LayawayManager/Edit Page public ActionResult Edit(string Id) { Layaway layaway = layawayContext.Find(Id); if (layaway == null) { return(HttpNotFound()); } else { return(View(layaway)); } }
public ActionResult Create(Layaway layaway, HttpPostedFileBase file) { if (!ModelState.IsValid) { return(View(layaway)); } else { layawayContext.Insert(layaway); layawayContext.Commit(); return(RedirectToAction("Index")); } }
// GET: /LayawayManager/Delete Page public ActionResult Delete(string Id) { Layaway layawayToDelete = layawayContext.Find(Id); if (layawayToDelete == null) { return(HttpNotFound()); } else { return(View(layawayToDelete)); } }
private Layaway CreateNewLayaway(HttpContextBase httpContext) { Layaway layaway = new Layaway(); layawayContext.Insert(layaway); layawayContext.Commit(); HttpCookie cookie = new HttpCookie(LayawaySessionName); cookie.Value = layaway.Id; cookie.Expires = DateTime.Now.AddDays(1); httpContext.Response.Cookies.Add(cookie); return(layaway); }
public ActionResult ConfirmDelete(string Id) { Layaway layawayToDelete = layawayContext.Find(Id); if (layawayToDelete == null) { return(HttpNotFound()); } else { layawayContext.Delete(Id); layawayContext.Commit(); return(RedirectToAction("Index")); } }
public LayawaySummaryViewModel GetLayawaySummary(HttpContextBase httpContext) { Layaway layaway = GetLayaway(httpContext, false); LayawaySummaryViewModel model = new LayawaySummaryViewModel(0, 0); if (layaway != null) { int?layawayCount = (from item in layaway.LayawayItems select item.Quantity).Sum(); decimal?layawayTotal = (from bi in layaway.LayawayItems join p in productContext.Collection() on bi.ProductId equals p.Id select bi.Quantity *p.Price).Sum(); model.LayawayCount = layawayCount ?? 0; model.LayawayTotal = layawayTotal ?? decimal.Zero; } return(model); }
public void RemoveFromLayaway(HttpContextBase httpContext, string itemId) { Layaway layaway = GetLayaway(httpContext, true); LayawayItem item = layaway.LayawayItems.FirstOrDefault(p => p.Id == itemId); if (item != null) { if (item.Quantity > 1) { --item.Quantity; layawayContext.Commit(); } else { layaway.LayawayItems.Remove(item); layawayContext.Commit(); } } }
// GET: /LayawayManager/Create Page public ActionResult Create() { Layaway layaway = new Layaway(); return(View(layaway)); }