public override ServiceResult <ProductEntity> Add(ProductEntity item) { var result = base.Add(item); if (result.HasViolation) { return(result); } if (item.ProductTags != null) { _productTagService.BeginBulkSave(); foreach (var tag in item.ProductTags.Where(m => m.Selected)) { _productTagService.Add(new ProductTag { ProductId = item.ID, TagId = tag.ID }); } _productTagService.SaveChanges(); } if (item.ProductImages != null) { item.ProductImages.Each(m => { m.ProductId = item.ID; if (m.ActionType == ActionType.Create) { _productImageService.Add(m); } }); } return(result); }
public override ServiceResult <ProductEntity> Add(ProductEntity item) { ServiceResult <ProductEntity> result = new ServiceResult <ProductEntity>(); if (item.Url.IsNotNullAndWhiteSpace()) { if (GetByUrl(item.Url) != null) { result.RuleViolations.Add(new RuleViolation("Url", _localize.Get("URL already exists"))); return(result); } } _eventManager.Trigger(Events.OnProductAdding, item); BeginTransaction(() => { result = base.Add(item); if (!result.HasViolation) { if (item.ProductTags != null) { _productTagService.BeginBulkSave(); foreach (var tag in item.ProductTags.Where(m => m.Selected)) { _productTagService.Add(new ProductTag { ProductId = item.ID, TagId = tag.ID }); } _productTagService.SaveChanges(); } if (item.ProductImages != null) { item.ProductImages.Each(m => { m.ProductId = item.ID; if (m.ActionType == ActionType.Create) { _productImageService.Add(m); } }); } } }); _eventManager.Trigger(Events.OnProductAdded, item); return(result); }
public async Task <IActionResult> Create(Product viewModel, string[] ProductShopCategories, string[] ProductTags, ICollection <IFormFile> files, IFormFile file) { if (User.IsInRole(Roles.Client) || !User.Identity.IsAuthenticated) { return(NotFound()); } if (ProductShopCategories.Count() == 0) { ModelState.AddModelError("ProductShopCategories", "Select at least one category"); } if (ModelState.IsValid) { await _productService.AddFile(viewModel, file); await _productShopCategoryService.Add(viewModel, ProductShopCategories); await _productMediaService.Add(viewModel, files); await _productTagService.Add(viewModel, ProductTags); var Id = await _productService.Add(viewModel); if (!String.IsNullOrEmpty(Request.Form["continue"])) { return(RedirectToAction("Edit", new { Id = Id })); } if (!String.IsNullOrEmpty(Request.Form["new"])) { return(RedirectToAction(nameof(Create))); } return(RedirectToAction(nameof(Index))); } var products = await _productService.GetAll(); ViewBag.Products = new SelectList(products.ToList(), "Id", "Title", viewModel.ParentId); ViewBag.Brands = new SelectList(await _brandService.GetAll(), "Id", "Title", viewModel.BrandId); viewModel.SelectedCategories = viewModel.ProductShopCategories.Select(c => c.ShopCategoryId).AsEnumerable(); ViewBag.SelectedCategories = new SelectList(await _shopCategoryService.GetAll(), "Id", "Title", viewModel.SelectedCategories); viewModel.SelectedTags = viewModel.ProductTags.Select(c => c.TagId).AsEnumerable(); ViewBag.SelectedTags = new SelectList(await _tagService.GetAll(), "Id", "Title", viewModel.SelectedTags); return(View(viewModel)); }
public override ServiceResult <ProductEntity> Add(ProductEntity item) { if (item.Url.IsNotNullAndWhiteSpace()) { if (GetByUrl(item.Url) != null) { var re = new ServiceResult <ProductEntity>(); re.RuleViolations.Add(new RuleViolation("Url", "UrlÒÑ´æÔÚ")); return(re); } } var result = base.Add(item); if (result.HasViolation) { return(result); } if (item.ProductTags != null) { _productTagService.BeginBulkSave(); foreach (var tag in item.ProductTags.Where(m => m.Selected)) { _productTagService.Add(new ProductTag { ProductId = item.ID, TagId = tag.ID }); } _productTagService.SaveChanges(); } if (item.ProductImages != null) { item.ProductImages.Each(m => { m.ProductId = item.ID; if (m.ActionType == ActionType.Create) { _productImageService.Add(m); } }); } return(result); }
public override void Add(ProductEntity item) { base.Add(item); if (item.ProductTags != null) { foreach (var tag in item.ProductTags.Where(m => m.Selected)) { _productTagService.Add(new ProductTag { ProductId = item.ID, TagId = tag.ID }); } } if (item.ProductImages != null) { item.ProductImages.Each(m => { m.ProductId = item.ID; if (m.ActionType == ActionType.Create) { _productImageService.Add(m); } }); } }
public async Task Edit(Product product, string galleryFiles, string tags) { //-------------------Tags--------------------- await _productTagService.DeleteByProductId(product.ProductId); if (!string.IsNullOrEmpty(tags)) { List <ProductTag> productTags = new List <ProductTag>(); foreach (string tag in tags.Split('-')) { productTags.Add(new ProductTag { ProductId = product.ProductId, TagTitle = tag.ToLowerInvariant().Trim() }); } _productTagService.Add(productTags); } ; //------------Create Gallery Product -------------- if (!string.IsNullOrEmpty(galleryFiles)) { List <ProductGallery> productGalleries = new List <ProductGallery>(); foreach (var Gallery in galleryFiles.Split(',')) { if (string.IsNullOrEmpty(Gallery)) { break; } productGalleries.Add(new ProductGallery { ProductId = product.ProductId, ImageName = Gallery, }); } await _productGalleryService.Add(productGalleries); } product.ModifiedDate = DateTime.Now; Update(product); await SaveAsync(); }
public HttpResponseMessage Post(HttpRequestMessage request, ProductTagViewModel productTagVm) { return(CreateHttpResponse(request, () => { HttpResponseMessage response = null; if (!ModelState.IsValid) { request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState); } else { ProductTag newProductTag = new ProductTag(); newProductTag.UpdateProductTag(productTagVm); var category = _productTagService.Add(newProductTag); _productTagService.SaveChanges(); response = request.CreateResponse(HttpStatusCode.Created, category); } return response; })); }