public async Task <IActionResult> CreateAsync(CreateEditProductViewModel model) { if (!ModelState.IsValid) { model.Categories = await this.GetCategoriesAsync(); return(View(model)); } var product = this.products.ExistsByName(model.Title); if (!product) { await this.products.CreateAsync( model.Title, model.ShortDescription, model.LongDescription, model.Price, model.Images, model.Thumbnail, model.CategoryId); } TempData.AddSuccessMessage($"Product {model.Title} created successfully!"); return(Redirect("/")); }
public async Task <IActionResult> Edit(CreateEditProductViewModel viewModel) { if (ModelState.IsValid) { try { var productCategory = _context.ProductCategories.Single(p => p.ProductCategoryId == viewModel.SelectedProductCategoryId); viewModel.Product.ProductCategory = productCategory; _context.Update(viewModel.Product); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductExists(viewModel.Product.ProductId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(viewModel)); }
public async Task <IActionResult> Edit(int id, CreateEditProductViewModel model) { if (id != model.Product.ProductId) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(model.Product); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductExists(model.Product.ProductId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(model)); }
public async Task <IActionResult> Create(CreateEditProductViewModel productModel) { //if (ModelState.IsValid) //{ if (productModel.Product.ImageUpload != null) { //Store the image in a temp location as it comes back from the uploader using (var memoryStream = new MemoryStream()) { await productModel.Product.ImageUpload.CopyToAsync(memoryStream); productModel.Product.Image = memoryStream.ToArray(); } productModel.Product.Producer = null; _context.Add(productModel.Product); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } //} AddDropdowns(productModel); return(View(productModel)); }
public virtual async Task OnGetAsync(Guid?categoryId) { ProductGroups = (await _service.GetProductGroupListAsync()).Items .Select(dto => new SelectListItem(dto.DisplayName, dto.Name)).ToList(); Categories = (await _categoryAppService.GetListAsync(new GetCategoryListDto { MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount }))?.Items .Select(dto => new SelectListItem(dto.DisplayName, dto.Id.ToString())).ToList(); Product = new CreateEditProductViewModel { StoreId = StoreId, ProductDetail = new CreateEditProductDetailViewModel { StoreId = StoreId } }; if (categoryId.HasValue) { Product.CategoryIds = new List <Guid>(new[] { categoryId.Value }); } }
public async Task <IActionResult> EditAsync(int id, CreateEditProductViewModel model) { if (!ModelState.IsValid) { return(View(model)); } var product = this.products.ExistsById(id); var categories = await this.GetCategoriesAsync(); if (categories == null || !product) { return(NotFound()); } await this.products.EditAsync( id, model.Title, model.ShortDescription, model.LongDescription, model.Price, model.Images, model.Thumbnail, model.CategoryId); TempData.AddSuccessMessage($"Product {model.Title} updated successfully!"); return(Redirect("/")); }
public virtual async Task OnGetAsync(Guid storeId, Guid?categoryId) { ProductGroups = (await _service.GetProductGroupListAsync()).Items .Select(dto => new SelectListItem(dto.DisplayName, dto.Name)).ToList(); Categories = (await _categoryAppService.GetListAsync(new GetCategoryListDto { MaxResultCount = LimitedResultRequestDto.MaxMaxResultCount }))?.Items .Select(dto => new SelectListItem(dto.DisplayName, dto.Id.ToString())).ToList(); Product = new CreateEditProductViewModel { StoreId = storeId, ProductDetail = new CreateEditProductDetailViewModel { StoreId = storeId } }; if (categoryId.HasValue) { Product.CategoryIds = new List <Guid>(new[] { categoryId.Value }); } var paymentExpireInString = await SettingProvider.GetOrNullAsync(ProductsConsts.DefaultPaymentExpireInSettingName); Product.PaymentExpireIn = !paymentExpireInString.IsNullOrEmpty() ? TimeSpan.Parse(paymentExpireInString) : null; }
// GET: Products/Create public IActionResult Create() { var model = new CreateEditProductViewModel(); model.ProductCategories = _productCategoryService.GetSelectList(); return(View(model)); }
// GET: Products/Create public IActionResult Create() { CreateEditProductViewModel productModel = new CreateEditProductViewModel(); AddDropdowns(productModel); return(View(productModel)); }
// GET: Product/Create public IActionResult Create() { var viewModel = new CreateEditProductViewModel() { Product = new Product(), AllProductCategories = _productCategoryService.GetProductCategories().ToList() }; return(View(viewModel)); }
public async Task <IActionResult> Create(CreateEditProductViewModel model) { if (ModelState.IsValid) { _context.Add(model.Product); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(model)); }
public async Task <IActionResult> Edit(int id, CreateEditProductViewModel productModel) { if (id != productModel.Product.ProductId) { return(NotFound()); } //if (ModelState.IsValid) //{ try { if (productModel.Product.ImageUpload != null) { //Store the image in a temp location as it comes back from the uploader using (var memoryStream = new MemoryStream()) { await productModel.Product.ImageUpload.CopyToAsync(memoryStream); productModel.Product.Image = memoryStream.ToArray(); } } else { var imageFromDatabase = await _context.Products.AsNoTracking() .FirstOrDefaultAsync(a => a.ProductId == id); productModel.Product.Image = imageFromDatabase.Image; } productModel.Product.Producer = null; _context.Update(productModel.Product); await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ProductExists(productModel.Product.ProductId)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); //} //AddDropdowns(productModel); //return View(productModel); }
public async Task <IActionResult> Create(CreateEditProductViewModel viewModel) { if (ModelState.IsValid) { var productCategory = _context.ProductCategories.Single(p => p.ProductCategoryId == viewModel.SelectedProductCategoryId); viewModel.Product.ProductCategory = productCategory; _context.Add(viewModel.Product); await _context.SaveChangesAsync(); return(RedirectToAction(nameof(Index))); } return(View(viewModel)); }
// GET: Product/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var viewModel = new CreateEditProductViewModel() { Product = await _context.Products.SingleOrDefaultAsync(m => m.ProductId == id), AllProductCategories = _productCategoryService.GetProductCategories().ToList() }; if (viewModel.Product == null) { return(NotFound()); } return(View(viewModel)); }
// GET: Products/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var product = await _context.Products.FindAsync(id); if (product == null) { return(NotFound()); } CreateEditProductViewModel productModel = new CreateEditProductViewModel(); productModel.Product = product; AddDropdowns(productModel); return(View(productModel)); }
// GET: Products/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var product = await _context.Product.SingleOrDefaultAsync(m => m.ProductId == id); if (product == null) { return(NotFound()); } var model = new CreateEditProductViewModel(); model.ProductCategories = _productCategoryService.GetSelectList(product.ProductCategoryId); model.Product = product; return(View(model)); }
public void AddDropdowns(CreateEditProductViewModel productModel) { productModel.Producers = Add0Dropdown(new SelectList(_context.Set <Producer>(), "ProducerId", "BusinessName"), "producer"); productModel.ProductTypes = Add0Dropdown(new SelectList(_context.Set <ProductType>(), "ProductTypeId", "Description"), "product type"); productModel.Shelves = Add0Dropdown(new SelectList(_context.Set <Shelf>(), "ShelfId", "Description"), "product location"); }
public async Task OnGetAsync() { var dto = await _service.GetAsync(Id); ViewModel = ObjectMapper.Map <ProductDto, CreateEditProductViewModel>(dto); }