Ejemplo n.º 1
0
        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 {
            });
        }
Ejemplo n.º 2
0
        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(),
            });
        }
Ejemplo n.º 3
0
        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());
        }