public override async Task <IActionResult> Create(ProductViewModel model) { if (!ModelState.IsValid) { ModelState.AddCommerceError(CommerceErrorKeys.InvalidModel); return(View(model)); } await Context.Products.AddAsync(model); await Context.ProductPrices.AddAsync(new ProductPrice { Product = model, Price = model.Price }); var dbResult = await Context.PushAsync(); if (dbResult.IsSuccess) { if (model.ProductImagesList != null && model.ProductImagesList.Any()) { await _galleryManager.AddImagesOnCreateAsync(model.Id, model.ProductImagesList); } return(RedirectToAction(nameof(Index))); } ModelState.AppendResultModelErrors(dbResult.Errors); return(View(model)); }
public async Task <JsonResult> GetPriceByVariation(ProductPriceVariationViewModel model) { if (ModelState.IsValid) { return(await JsonAsync(_productService.GetPriceByVariationAsync(model))); } ModelState.AddCommerceError(CommerceErrorKeys.InvalidModel); return(Json(model)); }
public override async Task <IActionResult> Edit(ProductViewModel model) { if (!ModelState.IsValid || model.Id.Equals(Guid.Empty)) { ModelState.AddCommerceError(CommerceErrorKeys.InvalidModel); return(View(model)); } var dbModel = await Context.Products .Include(x => x.ProductPrices) .AsNoTracking() .FirstOrDefaultAsync(x => x.Id.Equals(model.Id)); dbModel.Name = model.Name; dbModel.DisplayName = model.DisplayName; dbModel.Description = model.Description; dbModel.IsPublished = model.IsPublished; dbModel.ShortDescription = model.ShortDescription; dbModel.Specification = model.Specification; dbModel.BrandId = model.BrandId; dbModel.ProductTypeId = model.ProductTypeId; if (model.ProductAttributesList != null && model.ProductImagesList.Any()) { dbModel.ProductImages = model.ProductImagesList.Select(async x => { var stream = new MemoryStream(); await x.CopyToAsync(stream); return(stream); }).Select(x => x.Result).Select(x => x.ToArray()).Select(x => new ProductImage { Image = x, ProductId = model.Id }).ToList(); } if (model.Price.Equals(dbModel.PriceWithoutDiscount).Negate()) { Context.ProductPrices.Add(new ProductPrice { Price = model.Price, ProductId = model.Id }); } Context.Products.Update(dbModel); var dbResult = await Context.PushAsync(); if (dbResult.IsSuccess) { return(RedirectToAction(nameof(Index))); } ModelState.AppendResultModelErrors(dbResult.Errors); return(View(model)); }
public async Task <JsonResult> AddToCard(AddToCartViewModel model) { if (!ModelState.IsValid) { ModelState.AddCommerceError(CommerceErrorKeys.InvalidModel); return(Json(model)); } var result = await _cartService.AddToCardAsync(model); return(Json(result, SerializerSettings)); }
public async Task <IActionResult> Create(DocumentTypeViewModel model) { if (!ModelState.IsValid) { ModelState.AddCommerceError(CommerceErrorKeys.InvalidModel); return(View(model)); } var result = await _documentTypeService.SaveDocumentTypeAsync(model); return(View(result.Result)); }
public virtual async Task <IActionResult> Edit(TViewModel model) { if (!ModelState.IsValid) { ModelState.AddCommerceError(CommerceErrorKeys.InvalidModel); return(View(model)); } Context.Update <TEntity>(model); var dbResult = await Context.PushAsync(); if (dbResult.IsSuccess) { return(RedirectToAction(nameof(Index))); } ModelState.AppendResultModelErrors(dbResult.Errors); return(View(model)); }