Esempio n. 1
0
        public async Task <TaskDetailsDto> Handle(CreateNewTaskCommand request, CancellationToken cancellationToken)
        {
            var taskToAdd = _mapper.Map <Tasks>(request.TaskForCreationDto);

            taskToAdd.TrackerId = _authService.UserRoleAdmin()
                ? new Guid(_authService.GetUserIdClaimValue())
                : taskToAdd.TrackerId;

            if (taskToAdd.TrackerId != null)
            {
                var userToMap = await _userService
                                .GetUserAsync(taskToAdd.TrackerId ??
                                              throw new ArgumentNullException());

                taskToAdd.TrackerFirstName = userToMap.FirstName;
                taskToAdd.TrackerLastName  = userToMap.LastName;
            }

            await _tasksService.AddTask(taskToAdd);

            var taskFromDbForMapping = await _tasksService.GetTaskWithEagerLoadingAsync(taskToAdd.Id);

            var taskToReturn = _mapper.Map <TaskDetailsDto>(taskFromDbForMapping);
            await _emailService.SendEmailAsync(taskFromDbForMapping);

            return(taskToReturn);
        }
Esempio n. 2
0
        protected override async Task Handle(DeleteCommentCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException();
            }

            await _commentService.RemoveCommentAsync(request.CommentId);
        }
        protected override async Task Handle(RemoveUserFromTeamCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException("Unauthorized access.");
            }

            var userForDb = await _userService.GetUserAsync(request.UserId);

            await _teamService.RemoveUserFromTeam(userForDb);
        }
Esempio n. 4
0
        public async Task <IEnumerable <TeamDetailsDto> > Handle(GetAllTeamsQuery request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException("Access denied.");
            }

            var teamsForAdmins = await _teamService.GetAllTeamsWithEagerLoadingAsync();

            return(_mapper.Map <IEnumerable <TeamDetailsDto> >(teamsForAdmins));
        }
Esempio n. 5
0
        public async Task <DbLogDetailsDto> Handle(GetDbLogCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException();
            }

            var logFromDb = await _dbLogService.GetLogAsync(request.LogId);

            return(_mapper.Map <DbLogDetailsDto>(logFromDb));
        }
Esempio n. 6
0
        public async Task <IEnumerable <DbLogDetailsDto> > Handle(GetAllDbLogsCommand request,
                                                                  CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException();
            }

            var logs = await _dbLogService.GetAllLogsAsync(request.DbLogQueryParameters);

            return(_mapper.Map <IEnumerable <DbLogDetailsDto> >(logs));
        }
        protected override async Task Handle(RemoveUserFromTaskCommand request, CancellationToken cancellationToken)
        {
            var taskFromDb = await _taskService.GetTaskWithEagerLoadingAsync(request.TaskId);

            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException("Only admins are allowed to remove users from task.");
            }

            //await _emailService.SendEmailIfStatusChangedAsync(taskFromDb, request.TaskForRemovalDto.TaskStatus);
            await _taskService.RemoveUserFromTaskAsync(taskFromDb, request.TaskForRemovalDto.TaskStatus);
        }
Esempio n. 8
0
        public async Task <IEnumerable <UserDetailsDto> > Handle(GetAllUsersQuery request,
                                                                 CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException("You don't have permission to do that.");
            }

            var users = await _userService.GetAllUsersAsync();

            return(users.Select(_mapper.Map <UserDetailsDto>));
        }
Esempio n. 9
0
        public async Task GetLogCommand_QueryTheDb_GetSpecificLog()
        {
            var dto         = new DbLogDetailsDto();
            var testCommand = new GetDbLogCommand();
            var testHandler = new GetDbLogCommandHandler(_dbLogService, _authService, _mapper);

            _authService.UserRoleAdmin().Returns(true);
            await testHandler.Handle(testCommand, new CancellationToken());

            var testLogFromDb = _dbLogService.Received(1).GetLogAsync(testCommand.LogId);

            _mapper.Map <DbLogDetailsDto>(testLogFromDb).Returns(dto);
        }
Esempio n. 10
0
        public async Task GetAllLogsCommand_QueryTheDb_GetAllLogs()
        {
            var dto         = new List <DbLogDetailsDto>();
            var testCommand = new GetAllDbLogsCommand();
            var testHandler = new GetAllDbLogsHandler(_dbLogService, _authService, _mapper);

            _authService.UserRoleAdmin().Returns(true);
            await testHandler.Handle(testCommand, new CancellationToken());

            var testLogsFromDb = await _dbLogService.Received(1).GetAllLogsAsync(testCommand.DbLogQueryParameters);

            _mapper.Map <List <DbLogDetailsDto> >(testLogsFromDb).Returns(dto);
        }
Esempio n. 11
0
        public async Task <TeamDetailsDto> Handle(UpdateTeamNameCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException("You don't have permission to do that.");
            }

            var teamFromDb = await _teamService.GetTeamWithEagerLoadingAsync(request.TeamId);

            _teamService.UpdateTeamName(teamFromDb, request.Name);

            return(_mapper.Map <TeamDetailsDto>(teamFromDb));
        }
Esempio n. 12
0
        public async Task <TaskDetailsDto> Handle(ReopenTaskCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException();
            }

            var taskFromDb = await _taskService.GetTaskWithEagerLoadingAsync(request.TaskId);

            await _taskService.ReopenTask(taskFromDb);

            await _emailService.SendEmailAsync(taskFromDb);

            return(_mapper.Map <TaskDetailsDto>(taskFromDb));
        }
Esempio n. 13
0
        public async Task <UserDetailsDto> Handle(UpdateUserInfoCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException();
            }

            var userFromDb = await _userService.GetUserAsync(request.UserForUpdateDto.UserId
                                                             ?? throw new ArgumentNullException());

            await _userService.UpdateUser(userFromDb, request.UserForUpdateDto);

            userFromDb = await _userService.GetUserAsync(userFromDb.Id);

            return(_mapper.Map <UserDetailsDto>(userFromDb));
        }
Esempio n. 14
0
        public async Task <TeamDetailsDto> Handle(TeamForCreationCommand request, CancellationToken cancellationToken)
        {
            if (!_authService.UserRoleAdmin())
            {
                throw new AuthenticationException("You don't have permission to do that.");
            }

            var teamToAdd = _mapper.Map <Team>(request);

            await _teamService.AddTeam(teamToAdd);

            var teamToReturn = _mapper.Map <TeamDetailsDto>(teamToAdd);

            teamToReturn.Users = new List <UserDetailsDto>();

            return(teamToReturn);
        }