public int AddToCart(int productId, string name, decimal price) { var userId = GetUserId(); if (userId != 0) { using (var entities = new AngularBootcampEntities()) { var existingCartItem = entities.UserCartItems.FirstOrDefault(x => x.UserId == userId && x.ProductId == productId); if (existingCartItem == null) { UserCartItem cartItem = new UserCartItem { ProductId = productId, UserId = userId, ProductName = name, Price = price, Count = 1 }; entities.UserCartItems.Add(cartItem); } else { existingCartItem.Count++; } entities.SaveChanges(); } } return userId; }
public void EmptyCart() { var userId = GetUserId(); if (userId != 0) { using (var entities = new AngularBootcampEntities()) { var remove = entities.UserCartItems.Where(x => x.UserId == userId); entities.UserCartItems.RemoveRange(remove); entities.SaveChanges(); } } }
public static User GetUserByUsername(string username) { User user = null; using (var model = new AngularBootcampEntities()) { user = (from users in model.Users where users.Username == username select new User { UserName = users.Username, Password = users.Password, UserId = users.Id } ).FirstOrDefault(); } return user; }
public JsonResult GetCartItems() { JsonResult result; List<Product> items; var userId = GetUserId(); using (var model = new AngularBootcampEntities()) { items = (from cart in model.UserCartItems where cart.UserId == userId select new Product { Id = cart.Id, ProductId = cart.ProductId, Name = cart.ProductName, UserId = cart.UserId, Price = cart.Price, Count = cart.Count }).ToList(); } result = new JsonResult { Data = items }; return result; }
public void UpdateCartItem(int productId, int count) { var userId = GetUserId(); if (userId != 0) { using (var entities = new AngularBootcampEntities()) { var existingCartItem = entities.UserCartItems.FirstOrDefault(x => x.ProductId == productId); if (existingCartItem != null) { if (count < 1) { entities.UserCartItems.Remove(existingCartItem); } else { existingCartItem.Count = count; } } entities.SaveChanges(); } } }
public int RemoveFromCart(int productId) { var userId = GetUserId(); if (userId != 0) { using (var entities = new AngularBootcampEntities()) { var existingCartItem = entities.UserCartItems.FirstOrDefault(x => x.UserId == userId && x.ProductId == productId); entities.UserCartItems.Remove(existingCartItem); entities.SaveChanges(); } } return userId; }
//List<UserPurchaseHistoryItem> items) public JsonResult PlaceOrder(OrderDetail customerOrder, List<Product> items) { var success = true; List<UserPurchaseHistoryItem> purchaseItems = new List<UserPurchaseHistoryItem>(); try { var userId = GetUserId(); if (userId != 0) { using (var entities = new AngularBootcampEntities()) { customerOrder.UserId = userId; var user = entities.Users.FirstOrDefault(x => x.Id == userId); entities.OrderDetails.Add(customerOrder); UserPurchaseHistoryItem item; items.ForEach(x => { item = new UserPurchaseHistoryItem { Date = DateTime.Now, UserId = userId, OrderId = customerOrder.OrderId, ProductId = x.ProductId, Name = x.Name, Price = x.Price, OrderDetail = customerOrder, User = user, }; for(int i=0; i<x.Count; i++) { purchaseItems.Add(item); } }); entities.UserPurchaseHistoryItems.AddRange(purchaseItems); entities.SaveChanges(); } } } catch { success = false; } return new JsonResult { Data = success }; }
public JsonResult GetPurchaseHistoryItems() { JsonResult result; List<Product> items; var userId = GetUserId(); using (var model = new AngularBootcampEntities()) { items = (from purchases in model.UserPurchaseHistoryItems where purchases.UserId == userId select new Product { Id = purchases.Id, ProductId = purchases.ProductId, Name = purchases.Name, UserId = purchases.UserId, Price = purchases.Price, Date = purchases.Date }).ToList(); items.ForEach(x => x.DateString = x.Date.ToString()); } result = new JsonResult { Data = items }; return result; }