Example #1
0
        public async Task UnAssignManager(AssignManagerRequest req)
        {
            var userManager = await _db.GetUserManagerByIds(req.UserId, req.ManagerId);

            Check.Value(userManager).NotNull("Specified relationship could not be found");
            await _db.DeleteUserManager(userManager);
        }
Example #2
0
        public async Task AssignManager(AssignManagerRequest req)
        {
            var user = await _db.GetUserById(req.UserId);

            var manager = await _db.GetUserById(req.UserId);

            var managerRoles = await _db.GetRolesByUserId(req.ManagerId);

            Check.Value(user).NotNull(UserNotFoundMsg);
            Check.Value(manager).NotNull("Manager not found");
            var managerRole = managerRoles.FirstOrDefault(r => r.Name == "manager");

            Check.Value(managerRole).NotNull("User with specified ID is not a manager");

            var userManager = new UserManager(req.UserId, req.ManagerId);
            await _db.InsertUserManager(userManager);
        }
        private async Task CheckAssigning(bool doAssign, int userId, int managerId, bool shouldFail)
        {
            var endPath = doAssign ? "assign" : "unassign";

            var req = new AssignManagerRequest
            {
                ManagerId = managerId,
                UserId    = userId
            };

            using (new TransactionScope(TransactionScopeAsyncFlowOption.Enabled))
            {
                var amountOfUserManagerRelationshipsBefore = (await Api.ConnectionFactory.GetAllUserManagers()).Count();
                var response = await Api.AdminUser.PostAsJsonAsync($"api/v1/user/{endPath}", req);

                var amountOfUserManagerRelationshipsAfter = (await Api.ConnectionFactory.GetAllUserManagers()).Count();

                if (!shouldFail)
                {
                    response.StatusCode.Should().BeEquivalentTo(200);
                    if (doAssign)
                    {
                        amountOfUserManagerRelationshipsAfter.Should()
                        .BeGreaterThan(amountOfUserManagerRelationshipsBefore);
                    }
                    else
                    {
                        amountOfUserManagerRelationshipsAfter.Should()
                        .BeLessThan(amountOfUserManagerRelationshipsBefore);
                    }
                }
                else
                {
                    response.StatusCode.Should().BeEquivalentTo(400);
                    amountOfUserManagerRelationshipsBefore.Should().Be(amountOfUserManagerRelationshipsAfter);
                }
            }
        }
Example #4
0
 public async Task UnAssignManager([FromBody] AssignManagerRequest req)
 {
     await _userService.UnAssignManager(req);
 }