public async Task <IActionResult> Save([FromBody] OrganisationRequestModel request) { var sellerClaim = this.User.Claims.FirstOrDefault(x => x.Type == AccountConstants.Claims.OrganisationIdClaim); if (!request.Id.HasValue) { var serviceModel = new CreateOrganisationServiceModel { Name = request.Name, Email = request.Email, CommunicationsLanguage = request.CommunicationLanguage, Language = CultureInfo.CurrentCulture.Name, Username = this.User.Claims.FirstOrDefault(x => x.Type == ClaimTypes.Email)?.Value, OrganisationId = GuidHelper.ParseNullable(sellerClaim?.Value) }; var validator = new CreateOrganisationModelValidator(); var validationResult = await validator.ValidateAsync(serviceModel); if (validationResult.IsValid) { var organisation = await this.organisationService.CreateAsync(serviceModel); if (organisation != null) { var response = new OrganisationResponseModel { Id = organisation.Id, Description = organisation.Description, Name = organisation.Name, Files = organisation.Files, Images = organisation.Images, Videos = organisation.Videos }; return(this.StatusCode((int)HttpStatusCode.Created, response)); } } throw new CustomException(string.Join(ErrorConstants.ErrorMessagesSeparator, validationResult.Errors.Select(x => x.ErrorMessage)), (int)HttpStatusCode.UnprocessableEntity); } return(this.StatusCode((int)HttpStatusCode.BadRequest)); }
public async Task <IActionResult> Get(Guid?id) { var serviceModel = new GetSellerModel { Id = id, Language = CultureInfo.CurrentCulture.Name }; var validator = new GetSellerModelValidator(); var validationResult = await validator.ValidateAsync(serviceModel); if (validationResult.IsValid) { var seller = await this.organisationService.GetAsync(serviceModel); if (seller != null) { var response = new OrganisationResponseModel { Id = seller.Id, Name = seller.Name, Description = seller.Description, Files = seller.Files, Images = seller.Images, Videos = seller.Videos }; return(this.StatusCode((int)HttpStatusCode.OK, response)); } else { return(this.StatusCode((int)HttpStatusCode.NotFound)); } } return(this.StatusCode((int)HttpStatusCode.UnprocessableEntity)); }
public async Task <IActionResult> Get(string email) { var serviceModel = new GetOrganisationModel { Email = email, Language = CultureInfo.CurrentCulture.Name }; var validator = new GetOrganisationModelValidator(); var validationResult = await validator.ValidateAsync(serviceModel); if (validationResult.IsValid) { var organisation = await this.organisationService.GetAsync(serviceModel); if (organisation != null) { var response = new OrganisationResponseModel { Id = organisation.Id, Name = organisation.Name, Description = organisation.Description, Files = organisation.Files, Images = organisation.Images, Videos = organisation.Videos }; return(this.StatusCode((int)HttpStatusCode.OK, response)); } else { return(this.StatusCode((int)HttpStatusCode.NotFound)); } } return(this.StatusCode((int)HttpStatusCode.UnprocessableEntity)); }