public async Task <IActionResult> UpdateTenant( [HttpTrigger(AuthorizationLevel.Function, "put", Route = "tenant/{id}")] HttpRequest req, [FromRoute(Name = "id")] string id, ILogger log) { var parseResult = Guid.TryParse(id, out Guid tenantId); if (!parseResult) { return(new BadRequestObjectResult("Invalid tenantId")); } var body = await req.GetBodyAsync <TenantRequestModel>(); if (!body.IsValid) { return(new BadRequestObjectResult(body.ValidationMessage)); } var tenantRequestModel = body.Value; var existingTenant = await tenantStoreService.GetTenantAsync(tenantId); if (existingTenant == null) { return(new NotFoundObjectResult("Tenant not found")); } TenantMapper.Map(tenantRequestModel, existingTenant); await tenantStoreService.UpdateTenantAsync(existingTenant); return(new NoContentResult()); }
public async Task <IActionResult> CreateTenant( [HttpTrigger(AuthorizationLevel.Function, "post", Route = "tenant")] HttpRequest req, ILogger log) { var body = await req.GetBodyAsync <TenantRequestModel>(); if (!body.IsValid) { return(new BadRequestObjectResult(body.ValidationMessage)); } var tenant = TenantMapper.Map(body.Value); await tenantStoreService.CreateTenantAsync(tenant); return(new CreatedResult(new Uri($"api/tenant/{tenant.id}", UriKind.Relative), tenant.id)); }