Пример #1
0
        public void UpdateTask(TaskRequest request, TaskResponse response)
        {
            var editedTask = _mapper.Map <TaskEntity>(request.Task);
            var task       = _uow.Repository <TaskEntity>().Update(editedTask);

            if (task != null)
            {
                if (task.Sprint != -1)
                {
                    var xRefSprintTask = new XRefSprintTaskEntity {
                        SprintId = (int)task.Sprint, TaskId = task.Id, OrderId = -1
                    };
                    var xst = _uow.Repository <XRefSprintTaskEntity>().GetOverview(t => t.TaskId == task.Id).FirstOrDefault();
                    if (xst == null)
                    {
                        _uow.Repository <XRefSprintTaskEntity>().Add(xRefSprintTask);
                    }
                    var backlogTaskDb = _uow.Repository <XRefBacklogTaskEntity>().GetOverview(t => t.TaskId == editedTask.Id).FirstOrDefault();
                    if (backlogTaskDb != null)
                    {
                        _uow.Repository <XRefBacklogTaskEntity>().Delete(backlogTaskDb);
                    }
                }
                else
                {
                    var backlog         = _uow.Repository <BacklogEntity>().GetOverview(b => b.TeamId == request.Task.TeamId).FirstOrDefault();
                    var xRefBacklogTask = new XRefBacklogTaskEntity {
                        TaskId = task.Id, BacklogId = backlog.BacklogId
                    };
                    var xbt = _uow.Repository <XRefBacklogTaskEntity>().GetOverview(t => t.TaskId == task.Id).FirstOrDefault();
                    if (xbt == null)
                    {
                        _uow.Repository <XRefBacklogTaskEntity>().Add(xRefBacklogTask);
                    }
                    var sprintTaskDb = _uow.Repository <XRefSprintTaskEntity>().GetOverview(t => t.TaskId == editedTask.Id).FirstOrDefault();
                    if (sprintTaskDb != null)
                    {
                        _uow.Repository <XRefSprintTaskEntity>().Delete(sprintTaskDb);
                    }
                }
                _uow.Save();
                response.Task = _mapper.Map <TaskVM>(task);
            }
            else
            {
                response.Errors.Add("Update error", "Cannot update task");
            }
        }
Пример #2
0
        public void CreateTask(TaskRequest request, TaskResponse response)
        {
            response.Errors = Validator.CreateTask(request.Task);
            if (response.Errors.Count() > 0)
            {
                return;
            }
            var newTask = _mapper.Map <TaskEntity>(request.Task);
            var task    = _uow.Repository <TaskEntity>().Add(newTask);

            _uow.Save();
            if (task != null)
            {
                if (task.Sprint != -1)
                {
                    var xRefSprintTask = new XRefSprintTaskEntity {
                        SprintId = (int)task.Sprint, TaskId = task.Id
                    };
                    _uow.Repository <XRefSprintTaskEntity>().Add(xRefSprintTask);
                    var backlogTaskDb = _uow.Repository <XRefBacklogTaskEntity>().GetOverview(t => t.TaskId == task.Id).FirstOrDefault();
                    if (backlogTaskDb != null)
                    {
                        _uow.Repository <XRefBacklogTaskEntity>().Delete(backlogTaskDb);
                    }
                }
                else
                {
                    var backlog         = _uow.Repository <BacklogEntity>().GetOverview(b => b.TeamId == request.Task.TeamId).FirstOrDefault();
                    var xRefBacklogTask = new XRefBacklogTaskEntity {
                        TaskId = task.Id, BacklogId = backlog.BacklogId
                    };
                    _uow.Repository <XRefBacklogTaskEntity>().Add(xRefBacklogTask);
                    var sprintTaskDb = _uow.Repository <XRefSprintTaskEntity>().GetOverview(t => t.TaskId == task.Id).FirstOrDefault();
                    if (sprintTaskDb != null)
                    {
                        _uow.Repository <XRefSprintTaskEntity>().Delete(sprintTaskDb);
                    }
                }
                _uow.Save();
                response.Task = _mapper.Map <TaskVM>(task);
            }
            else
            {
                response.Errors.Add("Create error", "Cannot create task");
            }
        }