public ActionResult Save(Product product) { HttpPostedFileBase file = Request.Files["ImageData"]; product.Image = ConvertToBytes(file); if (!ModelState.IsValid) { var vm = new NewProductsViewModel(product) { Categories = _context.Categories.ToList() }; return(View("Create", vm)); } if (product.Id == 0) { _context.Products.Add(product); } else { var prodInDb = _context.Products.Single(p => p.Id == product.Id); prodInDb.Name = product.Name; prodInDb.Price = product.Price; prodInDb.ShadeColour = product.ShadeColour; prodInDb.Image = product.Image; prodInDb.CID = product.CID; } _context.SaveChanges(); return(RedirectToAction("Index", "Product")); }
public ActionResult Create() { HttpResponseMessage response1 = GlobalVar.webApiClient.GetAsync("Category").Result; var viewModel = new NewProductsViewModel { Categories = response1.Content.ReadAsAsync<IEnumerable<Category>>().Result }; return View(viewModel); }
public ActionResult Create() { var categories = _context.Categories.ToList(); var vm = new NewProductsViewModel { Categories = categories }; return(View(vm)); }
public ActionResult NewProducts() { var products = dbContext.Products.Where(k => !k.Hidden).OrderByDescending(k => k.DateOfAddition).Take(4).ToList(); var viewModel = new NewProductsViewModel() { Products = products }; return(PartialView(viewModel)); }
public ActionResult Edit(int id) { Product product; HttpResponseMessage response = GlobalVar.webApiClient.GetAsync($"Product/{id}").Result; product = response.Content.ReadAsAsync<Product>().Result; HttpResponseMessage response1 = GlobalVar.webApiClient.GetAsync("Category").Result; var viewModel = new NewProductsViewModel(product) { Categories = response1.Content.ReadAsAsync<IEnumerable<Category>>().Result }; return View("Create", viewModel); }
public ActionResult Edit(int id) { var product = _context.Products.SingleOrDefault(p => p.Id == id); if (product == null) { return(HttpNotFound()); } var vm = new NewProductsViewModel(product) { Categories = _context.Categories.ToList() }; return(View("Create", vm)); }
public ActionResult Save(Product product) { if (!ModelState.IsValid) { HttpResponseMessage response1 = GlobalVar.webApiClient.GetAsync("Category").Result; var viewModel = new NewProductsViewModel(product) { Categories = response1.Content.ReadAsAsync<IEnumerable<Category>>().Result }; return View("Create", viewModel); } if (product.Id == 0) { HttpResponseMessage response = GlobalVar.webApiClient.PostAsJsonAsync("Product", product).Result; } else { HttpResponseMessage response = GlobalVar.webApiClient.PutAsJsonAsync($"Product/{product.Id}", product).Result; } return RedirectToAction("Index", "Product"); }
public ActionResult NewProducts(string filterText = "", string sortOrder = "", int page = 1, int pageSize = 36) { var model = new NewProductsViewModel(); try { // Set meta data ViewBag.MetaDescription = "Memory Audio - Sản phẩm mới"; ViewBag.MetaKeywords = "memory audio,new products,san pham moi,audiophile,sound,hifi,stereo,hi-end,hd,ultra-hd,dts,dts-hd"; using (var db = new DBContext()) { model.FilterText = filterText.Trim(); model.SortOrder = sortOrder; // Select products var query = from p in db.Products join c in db.Categories on p.CategoryId equals c.CategoryId into pc join b in db.Brands on p.BrandId equals b.BrandId into pb from j1 in pc.DefaultIfEmpty() from j2 in pb.DefaultIfEmpty() where p.Display == 3 select new ProductInfo { ProductId = p.ProductId, ProductName = p.ProductName, CategoryId = p.CategoryId, CategoryName = j1.CategoryName, BrandId = p.BrandId, BrandName = j2.BrandName, Specification = p.Specification, TotalInStock = p.TotalInStock, Price = p.Price, Discount = p.Discount, Image1 = p.Image1, Image2 = p.Image2, Image3 = p.Image3, Image4 = p.Image4, Image5 = p.Image5, Image6 = p.Image6, CreationDate = p.CreationDate, Display = p.Display, SortIdx = p.SortIdx }; // Filter if (!string.IsNullOrWhiteSpace(filterText)) { query = query.Where(r => r.ProductName.Contains(filterText) || r.CategoryName.Contains(filterText)); } // Sorting switch (sortOrder) { case "price": query = query.OrderBy(p => p.Price); break; case "price_desc": query = query.OrderByDescending(p => p.Price); break; case "name": query = query.OrderBy(p => p.ProductName); break; case "name_desc": query = query.OrderByDescending(p => p.ProductName); break; default: query = query.OrderByDescending(p => p.SortIdx); break; } var products = query.ToList(); var pageCount = (products.Count() / pageSize) + (products.Count() % pageSize > 0 ? 1 : 0); if (page > pageCount) { page = pageCount; } model.Products = query.ToPagedList <ProductInfo>(page == 0 ? 1 : page, pageSize); } model.PageIndex = model.Products.PageNumber; model.PageSize = model.Products.PageSize; return(View(model)); } catch (Exception ex) { // Write event logs EventLogs.Write("HomeController - NewProducts: " + ex.ToString(), EventLogEntryType.Error); // Redirect to error page return(RedirectToAction("Index", "Error")); } }