public async Task <ActionResult> CreateApiAsync([FromBody] ApiCreate api) { var getSubDomainRequest = new GetSubDomain() { Name = api.SubDomainName }; var subDomainResonse = await _mediator.Send(getSubDomainRequest); if (subDomainResonse.Result == GetResult.NotFound) { return(BadRequest("No business sub domain was found with the supplied name")); } var createApi = new CreateApi() { BusinessOwner = api.BusinessOwner, BusinessSubDomainId = subDomainResonse.Data.Id, Description = api.Description, Name = api.Name, TechnicalOwner = api.TechnicalOwner, Title = api.Title, Tags = api.Tags }; var response = await _mediator.Send(createApi); if (response.Result == CreateResult.Created) { return(Created($"api/v1/apis/{api.Name}", api)); } else { return(StatusCode(500)); } }
public async Task <ActionResult> GetAsync([FromRoute] string subDomainName) { var getRequest = new GetSubDomain() { Name = subDomainName }; var response = await _mediator.Send(getRequest); if (response.Result == GetResult.NotFound) { return(NotFound()); } var externalResult = Map.ToExternal(response.Data); return(Ok(externalResult)); }
public async Task <GetResponse <BusinessSubDomain> > Handle(GetSubDomain request) { var subDomain = await _context.BusinessSubDomains .Include(x => x.Parent) .FirstOrDefaultAsync(x => x.Name.Equals(request.Name)); if (subDomain == null) { return new GetResponse <BusinessSubDomain>() { Result = GetResult.NotFound } } ; return(new GetResponse <BusinessSubDomain>() { Result = GetResult.Retrieved, Data = subDomain }); } }