public override async Task <AddUserToDomainResponse> AddUserToDomain(AddUserToDomainRequest request, ServerCallContext context) { var domain = await dbContext.Domains.FindIfNullThrowAsync(request.DomainId); var user = await dbContext.Users.FindIfNullThrowAsync(request.UserId); dbContext.UserDomainAssignments.Add(new UserDomainAssignment(Guid.Parse(request.UserDomainAssignmentId), domain, user)); await dbContext.SaveChangesAsync(); return(new AddUserToDomainResponse { }); }
public override async Task <AddUserToDomainResponse> AddUserToDomain(AddUserToDomainRequest request, ServerCallContext context) { var user = await dbContext.Users.FindIfNullThrowAsync(request.UserId); var domain = await dbContext.Domains.FindIfNullThrowAsync(request.DomainId); var assignment = new UserDomainAssignment(Guid.NewGuid(), user, domain, (Domain.ValueObjects.UserRole)request.Role); dbContext.UserDomainAssignments.Add(assignment); await dbContext.SaveChangesAsync(); return(new AddUserToDomainResponse { UserDomainAssignmentId = assignment.Id.ToString(), }); }
public async Task <ActionResult> AddUserToDomain([FromRoute] string domainId, [FromBody] AddUserToDomainRequest request) { // Add in the expenses var resp = await(await factory.GetDomainsClientAsync()) .AddUserToDomainAsync(new AcademyCloud.Identity.Protos.Domains.AddUserToDomainRequest { DomainId = domainId, UserId = request.UserId, Role = (AcademyCloud.Identity.Protos.Common.UserRole)request.Role, }); // add user to domain in expenses await(await factory.GetExpensesIdentityClient()) .AddUserToDomainAsync(new AcademyCloud.Expenses.Protos.Identity.AddUserToDomainRequest { DomainId = domainId, UserId = request.UserId, UserDomainAssignmentId = resp.UserDomainAssignmentId, }); return(NoContent()); }