public ActionResult ManageProductView() { List <ProductModel> productModels = new List <ProductModel>(); ProductService productService = new ProductService(); productModels = productService.GetProducts(); List <ManageProductViewModel> manageProductViewModels = new List <ManageProductViewModel>(); foreach (var item in productModels) { var manageProductViewModel = new ManageProductViewModel(); manageProductViewModel.Id = item.Id; manageProductViewModel.Title = item.Title; manageProductViewModel.Author = item.Author; manageProductViewModel.CategoryName = item.CategoryName; manageProductViewModel.Price = item.Price; manageProductViewModel.Balance = item.Balance; manageProductViewModel.IsActive = item.IsActive; manageProductViewModels.Add(manageProductViewModel); } return(View("ManageProductView", manageProductViewModels)); }
public async Task <ActionResult> Edit(int?id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } Product product = await db.Products.FindAsync(id); if (product == null) { return(HttpNotFound()); } var viewModel = new ManageProductViewModel { Categories = await categoryService.GetCategoriesAsync(db), Product = product, }; // Set the categories var mainCategory = product.Categories.FirstOrDefault(); if (mainCategory != null) { var secondCategory = product.Categories.FirstOrDefault(c => c.Id != mainCategory.Id); viewModel.MainCategory = mainCategory?.Id; viewModel.SecondaryCategory = secondCategory?.Id; } return(View(viewModel)); }
public async Task <ActionResult> Create(ManageProductViewModel viewModel) { // Product defaults var product = viewModel.Product; product.Added = DateTime.Now; // Manage categories product.Categories = new List <Category>(); if (viewModel.MainCategory != null) { product.Categories.Add(categoryService.GetCategory(viewModel.MainCategory.Value, db)); } if (viewModel.SecondaryCategory != null) { product.Categories.Add(categoryService.GetCategory(viewModel.SecondaryCategory.Value, db)); } if (ModelState.IsValid) { db.Products.Add(product); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public IActionResult AddProductAction([FromForm] ManageProductViewModel manageProductViewModel) { var product = new Product { Name = manageProductViewModel.Product.Name, Description = manageProductViewModel.Product.Description, Price = manageProductViewModel.Product.Price, ImageUrl = manageProductViewModel.Product.ImageUrl, IsProductOfTheWeek = manageProductViewModel.Product.IsProductOfTheWeek, CategoryId = manageProductViewModel.Product.CategoryId }; HttpClient client = new HttpClient(); client.BaseAddress = new Uri("https://localhost:5001/api/Administration/AddProduct/" + product); // Add an Accept header for JSON format. client.DefaultRequestHeaders.Accept.Add( new MediaTypeWithQualityHeaderValue("application/json")); var json = JsonConvert.SerializeObject(product); HttpResponseMessage response = client.PostAsync(client.BaseAddress, new StringContent(json, Encoding.UTF8, "application/json")).Result; if (response.IsSuccessStatusCode) { return(View("Submit")); } else { return(RedirectToAction("AddProduct", "Management")); } }
public async Task <ActionResult> Create() { var viewModel = new ManageProductViewModel { Categories = await categoryService.GetCategoriesAsync(db) }; return(View(viewModel)); }
public IActionResult Create(ManageProductViewModel manageProductViewModel) { if (!ModelState.IsValid) { return(View(manageProductViewModel)); } _productRepository.Create(manageProductViewModel.Product); return(RedirectToAction(nameof(List))); }
public async Task <ActionResult> Edit(ManageProductViewModel viewModel) { var product = viewModel.Product; // Manage product categories product.Categories = new List <Category>(); if (viewModel.MainCategory != null) { product.Categories.Add(categoryService.GetCategory(viewModel.MainCategory.Value, db)); } if (viewModel.SecondaryCategory != null) { product.Categories.Add(categoryService.GetCategory(viewModel.SecondaryCategory.Value, db)); } if (ModelState.IsValid) { db.Products.AddOrUpdate(p => p.Id, product); await db.SaveChangesAsync(); return(RedirectToAction("Index")); } return(View(viewModel)); }
public IActionResult Update(ManageProductViewModel manageProductViewModel) { _productRepository.Update(manageProductViewModel.Product); return(RedirectToAction(nameof(List))); }