public async Task <ActionResult <Rating> > Delete(int id) { // Request a new token var token = await webAPIToken.New(); // Get rating by id var rating = await webAPI.GetOneAsync <Rating>(ApiURL.RATING_BY_ID + id, token); // Get user by id rating.User = await webAPI.GetOneAsync <User>(ApiURL.USER_BY_ID + rating.UserId, token); // Get product by id var product = await webAPI.GetOneAsync <AllProductsViewModel>(ApiURL.PRODUCTS + rating.ProductId, token); rating.Product = new Product { Name = product.Name, Category = new Category { Name = product.Name }, Brand = new Brand { Name = product.BrandName }, Photo = product.Photo }; return(View(rating)); }
public async Task <IActionResult> Index() { var cartId = HttpContext.Session.GetString(_cartSessionCookie); // Does user have a shoppingcart Id? if (cartId == null) { return(RedirectToAction("Index", "Home")); } // Are there any products in the cart?? var content = await webAPI.GetAllAsync <OrderItemsModel>(ApiURL.CARTS_CONTENT + cartId); if (content.Count == 0) { return(RedirectToAction("Index", "ShoppingCart")); } // Is user logged in? if (User.Identity.IsAuthenticated) { orderviewmodel = await webAPI.GetOneAsync <OrderViewModel>(ApiURL.CARTS_CONTENT_PAY + $"{cartId}/{User.Identity.Name}"); // Does user have a complete shippingaddress? if (!orderviewmodel.AddressComplete) { TempData["Address Null"] = "Vänligen ange din adressinformation"; } // Check if order contains products out of stock if (orderviewmodel.Products.Any(x => x.QuantityInStock - x.Amount < 0)) { TempData["QuantityOverload"] = "Din order innehåller ett större antal produkter än vad vi har på lager vilket påverkar leveranstiden."; } } else { TempData["LoginNeeded"] = "Du måste vara inloggad för att kunna handla..."; return(RedirectToAction("Index", "ShoppingCart")); } OrderAndPaymentMethods.OrderViewModel = orderviewmodel; var token = await webAPIToken.New(); OrderAndPaymentMethods.User = await webAPI.GetOneAsync <User>(ApiURL.USERS + User.Identity.Name, token); return(View(OrderAndPaymentMethods)); }
// Get all products based on category Id public async Task <ActionResult <List <AllProductsViewModel> > > Index(int catid) { // Get all products by category id List <AllProductsViewModel> categoryViewList = await webAPI.GetAllAsync <AllProductsViewModel>(ApiURL.PRODUCTS_IN_CAT + catid); // Get categoryname var category = await webAPI.GetOneAsync <Category>(ApiURL.CATEGORIES + catid); ViewBag.CategoryName = category.Name; return(View(categoryViewList)); }
public async Task <ActionResult> OrderDetails(int id) { // TODO: Add customer e-mail to API request for added security var token = await webAPIToken.New(); var orderDetails = await webAPI.GetOneAsync <OrderViewModel>(ApiURL.ORDER_BY_ID + id, token); if (orderDetails != null) { return(View(orderDetails)); } else { TempData["OrderEmpty"] = "Ordern du försöker komma åt finns inte i vårt system."; return(RedirectToAction("Index")); } }
public async Task <ActionResult> EditUser() { var email = User.Identity.Name; var token = await webAPIToken.New(); var user = await webAPI.GetOneAsync <User>(ApiURL.USERS + email, token); var editUserInfoModel = new EditUserInfoModel() { Email = user.Email, FirstName = user.FirstName, LastName = user.LastName, PhoneNumber = user.PhoneNumber, StreetAddress = user.StreetAddress, ZipCode = user.ZipCode, City = user.City }; return(View(editUserInfoModel)); }
// Get Brand by Id private async Task <Brand> GetBrandById(int id) => await webAPI.GetOneAsync <Brand>(ApiURL.BRANDS + id);
private async Task <News> GetArticleById(int id) => await webAPI.GetOneAsync <News>(ApiURL.NEWS + id);
public async Task <CartButtonInfoModel> GetCartContent() { var result = await webAPI.GetOneAsync <CartButtonInfoModel>("https://localhost:44305/api/carts/" + HttpContext.Session.GetString(_cartSessionCookie)); return((result != null) ? result : new CartButtonInfoModel()); }
// Get Brand by Id private async Task <Category> GetCategoryById(int id) => await webAPI.GetOneAsync <Category>(ApiURL.CATEGORIES + id);