Example #1
0
        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));
        }
Example #2
0
        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));
        }
Example #3
0
        // 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));
        }
Example #4
0
        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"));
            }
        }
Example #5
0
        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));
        }
Example #6
0
 // Get Brand by Id
 private async Task <Brand> GetBrandById(int id)
 => await webAPI.GetOneAsync <Brand>(ApiURL.BRANDS + id);
Example #7
0
 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());
        }
Example #9
0
 // Get Brand by Id
 private async Task <Category> GetCategoryById(int id)
 => await webAPI.GetOneAsync <Category>(ApiURL.CATEGORIES + id);