public async Task <ShoppingCartDisplay> GetShoppingCartAsync() { var userId = httpContextAccessor.HttpContext.User.FindFirst(ClaimTypes.NameIdentifier).Value; var request = await manager.FindByIdAsync(userId); var requestedUser = await manager.FindByNameAsync(request.UserName); var shoppingCart = (from i in context.ShoppingCarts where i.UserId.Equals(requestedUser.Id) select i).ToList().First(); var phones = from i in context.Phones where i.ShoppingCartId == shoppingCart.Id select new PhoneDisplay() { Brand = i.Brand, Model = i.Model, Price = (i.Price - (i.Price * i.Sale / 100)), Id = i.Id, Sale = i.Sale }; double sum = phones.Sum(b => b.Price); var shoppingCartDisplay = new ShoppingCartDisplay() { TotalPrice = sum, Phones = phones.ToList() }; return(shoppingCartDisplay); }
public IActionResult Get() { var shoppingcarts = _context.ShoppingCart.ToList(); List <ShoppingCartDisplay> shoppingCartDisplays = new List <ShoppingCartDisplay>(); if (shoppingcarts == null) { return(NotFound()); } // foreach is taking data from shopping cart and putting in shopping cart display for proper formatting in JSON foreach (var shoppingCart in shoppingcarts) { ShoppingCart shoppingcart = _context.ShoppingCart .Include(s => s.OrderedProducts) .ThenInclude(p => p.Product) .Single(g => g.ShoppingCartId == shoppingCart.ShoppingCartId); ShoppingCartDisplay shoppingcartdisplay = new ShoppingCartDisplay(); shoppingcartdisplay.CustomerId = shoppingcart.CustomerId; shoppingcartdisplay.DateCreated = shoppingcart.DateCreated; shoppingcartdisplay.DateOrdered = shoppingcart.DateOrdered; shoppingcartdisplay.PaymentTypeId = shoppingcart.PaymentTypeId; shoppingcartdisplay.ShoppingCartId = shoppingcart.ShoppingCartId; shoppingcartdisplay.Products = new List <Product>(); foreach (OrderedProduct op in shoppingcart.OrderedProducts) { shoppingcartdisplay.Products.Add(_context.Product.Single(p => p.ProductId == op.ProductId)); } shoppingCartDisplays.Add(shoppingcartdisplay); } return(Ok(shoppingCartDisplays)); }
public IActionResult Get(int id) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { ShoppingCart shoppingcart = _context.ShoppingCart .Include(s => s.OrderedProducts) .ThenInclude(p => p.Product) .Single(g => g.ShoppingCartId == id); ShoppingCartDisplay shoppingcartdisplay = new ShoppingCartDisplay(); shoppingcartdisplay.CustomerId = shoppingcart.CustomerId; shoppingcartdisplay.DateCreated = shoppingcart.DateCreated; shoppingcartdisplay.DateOrdered = shoppingcart.DateOrdered; shoppingcartdisplay.PaymentTypeId = shoppingcart.PaymentTypeId; shoppingcartdisplay.ShoppingCartId = shoppingcart.ShoppingCartId; shoppingcartdisplay.Products = new List <Product>(); foreach (OrderedProduct op in shoppingcart.OrderedProducts) { shoppingcartdisplay.Products.Add(_context.Product.Single(p => p.ProductId == op.ProductId)); } if (shoppingcart == null) { return(NotFound()); } return(Ok(shoppingcartdisplay)); } catch (System.InvalidOperationException ex) { return(NotFound()); } }