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 GetOptionsBySpecificationAttributeId(int id, string fields = "") { if (id <= 0) { return(Error(HttpStatusCode.BadRequest, "id", "invalid id")); } var specificationAttributeOptions = _specificationAttributeService.GetSpecificationAttributeOptionsBySpecificationAttribute(id); if (specificationAttributeOptions == null) { return(Error(HttpStatusCode.NotFound, "specification attribute options", "not found")); } IList <SpecificationAttributeOptionDto> attributesOptionAsDtos = specificationAttributeOptions.Select(specificAttribute => { return(_dtoHelper.PrepareSpecificationAttributeOptionDTO(specificAttribute)); }).ToList(); var productAttributesRootObject = new SpecificationAttributesOptionRootObjectDto() { SpecificationAttributeOptions = attributesOptionAsDtos }; var json = JsonFieldsSerializer.Serialize(productAttributesRootObject, fields); 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)); }
public IActionResult GetOptions() { var specificationAttributeOptions = _productAttributesApiService.GetSpecificationAttributeOptions(); if (specificationAttributeOptions == null) { return(Error(HttpStatusCode.NotFound, "No specification attribute options found", "not found")); } IList <SpecificationAttributeOptionDto> attributesOptionAsDtos = specificationAttributeOptions.Select(specificAttribute => { return(_dtoHelper.PrepareSpecificationAttributeOptionDTO(specificAttribute)); }).ToList(); var productAttributesRootObject = new SpecificationAttributesOptionRootObjectDto() { SpecificationAttributeOptions = attributesOptionAsDtos }; var json = JsonFieldsSerializer.Serialize(productAttributesRootObject, null); return(new RawJsonActionResult(json)); }