Exemplo n.º 1
0
        public IActionResult UpdateSpecificationAttributeOption([ModelBinder(typeof(JsonModelBinder <SpecificationAttributeOptionDto>))] Delta <SpecificationAttributeOptionDto> specificationAttributeOptionDelta)
        {
            // Here we display the errors if the validation has failed at some point.
            if (!ModelState.IsValid)
            {
                return(Error());
            }

            // We do not need to validate the product attribute id, because this will happen in the model binder using the dto validator.
            int saoId = specificationAttributeOptionDelta.Dto.Id;

            SpecificationAttributeOption specificationAttributeOption = _specificationAttributeService.GetSpecificationAttributeOptionById(saoId);

            if (specificationAttributeOption == null)
            {
                return(Error(HttpStatusCode.NotFound, "specification attribute options", "not found"));
            }

            specificationAttributeOptionDelta.Merge(specificationAttributeOption);

            _specificationAttributeService.UpdateSpecificationAttributeOption(specificationAttributeOption);

            UpdateLocalesSpecificationAttributeOption(specificationAttributeOption, specificationAttributeOptionDelta.Dto.LocalizedNames);

            // Preparing the result dto of the new product attribute
            SpecificationAttributeOptionDto specificationAttributeOptionDto = _dtoHelper.PrepareSpecificationAttributeOptionDTO(specificationAttributeOption);

            var saoRootObjectDto = new SpecificationAttributesOptionRootObjectDto();

            saoRootObjectDto.SpecificationAttributeOptions.Add(specificationAttributeOptionDto);

            var json = JsonFieldsSerializer.Serialize(saoRootObjectDto, string.Empty);

            return(new RawJsonActionResult(json));
        }
Exemplo n.º 2
0
        public IActionResult CreateSpecificationAttributeOption([ModelBinder(typeof(JsonModelBinder <SpecificationAttributeOptionDto>))] Delta <SpecificationAttributeOptionDto> specificationAttributeOptionDelta)
        {
            // Here we display the errors if the validation has failed at some point.
            if (!ModelState.IsValid)
            {
                return(Error());
            }

            // Inserting the new product
            SpecificationAttributeOption sao = new SpecificationAttributeOption();

            specificationAttributeOptionDelta.Merge(sao);

            _specificationAttributeService.InsertSpecificationAttributeOption(sao);

            UpdateLocalesSpecificationAttributeOption(sao, specificationAttributeOptionDelta.Dto.LocalizedNames);


            // Preparing the result dto of the new product
            SpecificationAttributeOptionDto specificationAttributeOptionDto = _dtoHelper.PrepareSpecificationAttributeOptionDTO(sao);

            var saoRootObjectDto = new SpecificationAttributesOptionRootObjectDto();

            saoRootObjectDto.SpecificationAttributeOptions.Add(specificationAttributeOptionDto);

            var json = JsonFieldsSerializer.Serialize(saoRootObjectDto, string.Empty);

            return(new RawJsonActionResult(json));
        }