Beispiel #1
0
        public ActionResult EditForm(int?id)
        {
            var obj = new ProductAttributeItem();

            var listGroup = productGroupAttributeRepository.GetListForTree <object>();

            if (id.HasValue)
            {
                obj = productAttributeRepository.GetItemById <ProductAttributeItem>(id.Value);
            }

            return(Json(new
            {
                data = obj,
                listGroup = listGroup
            }, JsonRequestBehavior.AllowGet));
        }
Beispiel #2
0
        public async Task <ProductAttributeItemServiceModel> CreateProductAttributeItemAsync(CreateUpdateProductAttributeItemServiceModel model)
        {
            var existingProductItemAttribute = this.context.ProductAttributeItems.FirstOrDefault(x => x.ProductAttributeItemTranslations.Any(y => y.Name == model.Name) && x.ProductAttributeId == model.ProductAttributeId && x.SellerId == model.OrganisationId && x.IsActive);

            if (existingProductItemAttribute != null)
            {
                throw new CustomException(this.productLocalizer.GetString("ProductAttributeItemConflict"), (int)HttpStatusCode.Conflict);
            }

            var productAttributeItem = new ProductAttributeItem
            {
                ProductAttributeId = model.ProductAttributeId.Value,
                Order    = model.Order,
                SellerId = model.OrganisationId.Value
            };

            this.context.ProductAttributeItems.Add(productAttributeItem.FillCommonProperties());

            var productAttributeItemTranslation = new ProductAttributeItemTranslation
            {
                ProductAttributeItemId = productAttributeItem.Id,
                Name     = model.Name,
                Language = model.Language
            };

            this.context.ProductAttributeItemTranslations.Add(productAttributeItemTranslation.FillCommonProperties());

            await this.context.SaveChangesAsync();

            await this.RebuildCategorySchemasAsync(
                model.OrganisationId.Value,
                model.Language,
                model.Username);

            return(await this.GetProductAttributeItemByIdAsync(new GetProductAttributeItemByIdServiceModel
            {
                Id = productAttributeItem.Id,
                Language = model.Language,
                OrganisationId = model.OrganisationId,
                Username = model.Username
            }));
        }