示例#1
0
        public async Task <UserTask> AddTime(int taskId, int minutes)
        {
            var client = _userTaskRepository.GetClient();

            var task = await _userTaskRepository.GetById(taskId);

            task.MinutesSpended += minutes;

            var story = _storyRepository.GetById(task.StoryId);

            story.MinutesSpended += minutes;

            var sprint = _sprintRepository.GetById(story.SprintId);

            sprint.MinutesSpended += minutes;

            var project = await _projectRepository.GetById(story.ProjectId);

            project.MinutesSpended += minutes;

            using (var session = await client.StartSessionAsync())
            {
                // Begin transaction
                session.StartTransaction();

                try
                {
                    var result = await _userTaskRepository.Update(task);

                    _storyRepository.Update(story);
                    _sprintRepository.Update(sprint);
                    await _projectRepository.Update(project);

                    return(result);
                }
                catch (Exception)
                {
                    _logger.Error("Error updating time spend!");
                    session.AbortTransaction();
                }
            }
            return(null);
        }
        public void UpdateTask(UserTaskUpdate taskUpdate)
        {
            var task = _repository.Get(taskUpdate.Id);

            if (_verify.IsNull(task))
            {
                throw new Exception($"Tarefa [{taskUpdate.Name}] não encontrada");
            }

            task.Update(taskUpdate.Name, taskUpdate.Description);

            _repository.Update(task);
        }
示例#3
0
 public async Task <UsersTask> Update(UsersTask usersTask)
 {
     return(await _userTaskRepository.Update(usersTask));
 }
示例#4
0
 public void Update(UserTask userTask)
 {
     _userTaskRepository.Update(userTask);
 }
示例#5
0
 public bool Delete(UserTask model)
 {
     return(userTaskRepository.Update(model));
 }