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)); }
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)); }