public async Task <IActionResult> SaveCategorySchema(CategorySchemaRequestModel request) { var sellerClaim = this.User.Claims.FirstOrDefault(x => x.Type == AccountConstants.Claims.OrganisationIdClaim); var serviceModel = new UpdateCategorySchemaServiceModel { CategoryId = request.CategoryId, Schema = request.Schema, UiSchema = request.UiSchema, Language = CultureInfo.CurrentCulture.Name, Username = this.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value, OrganisationId = GuidHelper.ParseNullable(sellerClaim?.Value) }; var validator = new UpdateCategorySchemaModelValidator(); var validationResult = await validator.ValidateAsync(serviceModel); if (validationResult.IsValid) { var categorySchema = await this.categoryService.UpdateCategorySchemaAsync(serviceModel); if (categorySchema != null) { var response = new CategorySchemaResponseModel { Id = categorySchema.Id, CategoryId = categorySchema.CategoryId, Schema = categorySchema.Schema, UiSchema = categorySchema.UiSchema, LastModifiedDate = categorySchema.LastModifiedDate, CreatedDate = categorySchema.CreatedDate }; return(this.StatusCode((int)HttpStatusCode.OK, response)); } } throw new CustomException(string.Join(ErrorConstants.ErrorMessagesSeparator, validationResult.Errors.Select(x => x.ErrorMessage)), (int)HttpStatusCode.UnprocessableEntity); }
public async Task <IActionResult> GetCategorySchemaByCategoryId(Guid?categoryId) { var serviceModel = new GetCategorySchemaServiceModel { CategoryId = categoryId, Language = CultureInfo.CurrentCulture.Name }; var validator = new GetCategorySchemaModelValidator(); var validationResult = await validator.ValidateAsync(serviceModel); if (validationResult.IsValid) { var categorySchema = await this.categoryService.GetCategorySchemaAsync(serviceModel); if (categorySchema != null) { var response = new CategorySchemaResponseModel { Id = categorySchema.Id, CategoryId = categorySchema.CategoryId, Schema = categorySchema.Schema, UiSchema = categorySchema.UiSchema, LastModifiedDate = categorySchema.LastModifiedDate, CreatedDate = categorySchema.CreatedDate }; return(this.StatusCode((int)HttpStatusCode.OK, response)); } else { return(this.StatusCode((int)HttpStatusCode.NotFound)); } } throw new CustomException(string.Join(ErrorConstants.ErrorMessagesSeparator, validationResult.Errors.Select(x => x.ErrorMessage)), (int)HttpStatusCode.UnprocessableEntity); }