public async Task <Response <CreateResult> > Handle(CreateSubDomain request) { var businessDomain = await _context.BusinessDomains.SingleOrDefaultAsync(x => x.Name.Equals(request.ParentDomainName)); if (businessDomain == null) { return(new Response <CreateResult>(CreateResult.DependentObjectNotFound)); } var businessSubDomain = new BusinessSubDomain() { Id = Guid.NewGuid(), Name = request.Name, Description = request.Description, ParentId = businessDomain.Id }; await _context.AddAsync(businessSubDomain); await _context.SaveChangesAsync(); return(new Response <CreateResult>(CreateResult.Created)); }
public async Task <ActionResult> CreateDomainAsync([FromBody] BusinessSubDomain subDomain) { var createSubDomain = new CreateSubDomain() { Name = subDomain.Name, Description = subDomain.Description, ParentDomainName = subDomain.ParentBusinessDomain }; var response = await _mediator.Send(createSubDomain); if (response.Result == CreateResult.DependentObjectNotFound) { return(BadRequest()); } else if (response.Result == CreateResult.Created) { return(Created($"api/v1/business-sub-domains/{subDomain.Name}", null)); } else { return(StatusCode(500)); // result not contemplated } }