Exemplo n.º 1
0
        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." });
            }
        }
Exemplo n.º 2
0
        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." });
            }
        }
Exemplo n.º 3
0
        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();
        }
Exemplo n.º 4
0
        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"));
            }
        }
Exemplo n.º 6
0
        public void ClearLayaway(HttpContextBase httpContext)
        {
            Layaway layaway = GetLayaway(httpContext, false);

            layaway.LayawayItems.Clear();
            layawayContext.Commit();
        }
Exemplo n.º 7
0
        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));
            }
        }
Exemplo n.º 11
0
        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"));
            }
        }
Exemplo n.º 13
0
        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);
        }
Exemplo n.º 14
0
        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));
        }