Exemplo n.º 1
0
        public async Task <GenericResponse <object> > AddRole(AddRemoveRoleDto addRemoveRoleDto)
        {
            try
            {
                var user = await _userRepository.FindById(addRemoveRoleDto.UserId);

                if (user is null)
                {
                    return(new GenericResponse <object>(new object(), false).AddErrorMessage("User doesn't exists"));
                }

                var role = await _roleRepository.FindById(addRemoveRoleDto.RoleId);

                user.AddToRole(role);

                await _userRepository.UnitOfWork.Commit();

                return(new GenericResponse <object>(new object()).AddInfoMessage("Successfully added"));
            }
            catch (Exception)
            {
                await _userRepository.UnitOfWork.Rollback();

                throw;
            }
        }
Exemplo n.º 2
0
        public async Task <GenericResponse <object> > RemoveRole(AddRemoveRoleDto removeRoleDto)
        {
            try
            {
                var user = await _userRepository.FindById(removeRoleDto.UserId);

                if (user is null)
                {
                    return(new GenericResponse <object>(new object(), false).AddErrorMessage("User doesn't exists"));
                }

                var role = await _roleRepository.FindById(removeRoleDto.RoleId);

                var removed = user.RemoveRole(role);

                await _userRepository.UnitOfWork.Commit();

                var response = new GenericResponse <object>(new object(), removed);
                if (removed)
                {
                    response.AddInfoMessage("Successfully removed");
                }
                else
                {
                    response.AddErrorMessage("Cannot remove - check if role exists");
                }

                return(response);
            }
            catch (Exception)
            {
                await _userRepository.UnitOfWork.Rollback();

                throw;
            }
        }