// perfumeId is used in asp-route-perfumeId public RedirectToActionResult AddToShoppingCart(int perfumeId) { var selectedPerfume = _perfumeRepository.GetAllPerfumes().FirstOrDefault(p => p.Id == perfumeId); if (selectedPerfume != null) { _shoppingCart.AddToCart(selectedPerfume, 1); } return(RedirectToAction("Index")); }
public async Task <PerfumeResponse> GetAllPerfumes() { string code = string.Empty; string message = string.Empty; // string requestId = string.Empty; string requestId = _utilities.RandomGuid(); string ipAddress = _utilities.GetCustomerIP(requestId); PerfumeResponse perfumeResponse = new PerfumeResponse(); try { _logger.Info($"_requestId=>{requestId}=> getting all perfumes for Client With IpAddress => {ipAddress}"); perfumeResponse.code = "00"; perfumeResponse.message = "Successful"; perfumeResponse.requestId = requestId; perfumeResponse.PerfumeModel = _perfumeRepository.GetAllPerfumes(); } catch (Exception ex) { _logger.Error($"_requestId=>{requestId}=> getting all perfumes for Client With IpAddress => {ipAddress} failed with Exception=> {ex}"); perfumeResponse.code = "99"; perfumeResponse.message = "UnSuccessful"; perfumeResponse.requestId = requestId; perfumeResponse.PerfumeModel = null; } return(perfumeResponse); }
//public ViewResult List() //{ // PerfumesListViewModel perfumesListViewModel = new PerfumesListViewModel // { // Perfumes = _perfumeRepository.GetAllPerfumes(), // CurrentCategory = "For Her & For Him" // }; // return View(perfumesListViewModel); //} public ViewResult List(string category, string searchString, string sortOrder) { IEnumerable <Perfume> perfumes; string currentCategory; perfumes = _perfumeRepository.GetAllPerfumes(); currentCategory = "All Perfumes"; if (string.IsNullOrEmpty(category)) { perfumes = _perfumeRepository.GetAllPerfumes(); currentCategory = "All Perfumes"; } else { perfumes = _perfumeRepository.GetAllPerfumes() .Where(p => p.Category.CategoryName == category); currentCategory = _categoryRepository.GetAllCategories() .FirstOrDefault(c => c.CategoryName == category).CategoryName; } if (!string.IsNullOrEmpty(searchString)) { perfumes = _perfumeRepository.GetAllPerfumesByName(searchString); } ViewBag.NameSortParam = String.IsNullOrEmpty(sortOrder) ? "name_desc" : ""; ViewBag.PriceSortParam = sortOrder == "price_desc" ? "price_asc" : "price_desc"; ViewBag.BrandSortParam = sortOrder == "brand_desc" ? "brand_asc" : "brand_desc"; ViewBag.CapacitySortParam = sortOrder == "capacity_desc" ? "capacity_asc" : "capacity_desc"; switch (sortOrder) { case "name_desc": perfumes = perfumes.OrderByDescending(p => p.Name); break; case "price_asc": perfumes = perfumes.OrderBy(p => p.Price); break; case "price_desc": perfumes = perfumes.OrderByDescending(p => p.Price); break; case "brand_asc": perfumes = perfumes.OrderBy(p => p.Brand); break; case "brand_desc": perfumes = perfumes.OrderByDescending(p => p.Brand); break; case "capacity_asc": perfumes = perfumes.OrderBy(p => p.Capacity); break; case "capacity_desc": perfumes = perfumes.OrderByDescending(p => p.Capacity); break; default: perfumes = perfumes.OrderBy(p => p.Name); break; } var perfumeListViewModel = new PerfumesListViewModel { Perfumes = perfumes, SearchString = searchString, CurrentCategory = currentCategory }; return(View(perfumeListViewModel)); }