public async Task <IActionResult> Category(int id) { var products = await _linhkienRepo.Filter(searchCategory : id); if (products.Count() == 0) { return(View("~/Views/Error/404.cshtml")); } var result = new List <LinhKienDTO>(); foreach (var item in products) { item.DonGias = item.DonGias.Where(i => i.ApDung).ToList(); var dto = mapper.Map <LinhKienDTO>(item); result.Add(dto); } var list = new HtmlString(JsonConvert.SerializeObject(result, Formatting.None, new JsonSerializerSettings { ReferenceLoopHandling = ReferenceLoopHandling.Ignore })); var tenloai = (await _loailinhkienRepo.getById(id)).Ten; ViewData["list"] = list; ViewData["TenLoai"] = tenloai; return(View()); }
/* * searchString: Những kí tự muốn search * searchCategory: id Loại Linh Kiện của các sản phẩm muốn lấy ra * searchManu: id Nhà Cung Cấp của các sản phẩm muốn lấy ra * page: trang hiện tại */ public async Task <IActionResult> Index(string searchString = "", int searchCategory = 0, int searchManu = 0, int page = 1) { if (searchString == null) { searchString = ""; } //Get All LinhKien with search var linhkiens = await _linhKienRepository.Filter(searchString, searchCategory, searchManu); double count = linhkiens.Count(); int pageCount = (int)Math.Ceiling(count / itemPerPage); var LKPagination = linhkiens.Skip((page - 1) * itemPerPage).Take(itemPerPage); var dtos = _mapper.Map <List <LinhKienDTO> >(LKPagination); foreach (var dto in dtos) { var hinh = dto.Hinh.Split(',')[0]; dto.Hinh = hinh; } //pagination var pagination = PaginationServices <LinhKienDTO> .PaginationLinhKien(dtos, page, itemPerPage, pageCount, searchString, searchCategory, searchManu); //Get All Category var categorys = await _llkRepository.getAll(); var categoryDTO = _mapper.Map <List <LoaiLinhKienDTO> >(categorys); ViewBag.Category = categoryDTO; //Get All Manufactuer var manufactuers = await _nccRepository.getAll(); var manuDTO = _mapper.Map <List <NhaCungCapDTO> >(manufactuers); ViewBag.Manu = manuDTO; return(View("~/Views/Admin/Product/Index.cshtml", pagination)); }