Exemplo n.º 1
0
        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));
        }
Exemplo n.º 3
0
        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
            });
        }
    }