Exemple #1
0
        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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #5
0
 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);
             }
         });
     }
 }
Exemple #6
0
        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;
     }));
 }