示例#1
0
 /// <summary>
 /// Creates new history record.
 /// </summary>
 /// <param name="task">Task record</param>
 /// <returns>Returns history record.</returns>
 private TaskHistory GetNewRecord(TMSTask task)
 => new TaskHistory
 {
     StateId   = task.StateId,
     TaskId    = task.Id,
     StartDate = DateTime.UtcNow
 };
示例#2
0
        /// <inheritdoc/>
        public TaskHistory AddNewRecordAsync(TMSTask task)
        {
            var newRecord = GetNewRecord(task);

            _context.TaskHistories.Add(newRecord);
            return(newRecord);
        }
示例#3
0
        /// <inheritdoc/>
        public async Task <TMSTask> RemoveAsync(TMSTask task)
        {
            _context.Tasks.Remove(task);
            await _context.SaveChangesAsync();

            return(task);
        }
示例#4
0
 public async Task <TMSTask> AddAsync(CreateTaskDTO task)
 => await Task.Run(() =>
 {
     var newTask = new TMSTask(task);
     _taskRep.Add(newTask);
     return(newTask);
 });
示例#5
0
        /// <inheritdoc/>
        public async Task <TMSTask> AddAsync(CreateTaskDTO dto)
        {
            var taskToAdd = new TMSTask(dto);

            _context.Tasks.Add(taskToAdd);
            await _context.SaveChangesAsync();

            return(taskToAdd);
        }
示例#6
0
        public async Task <ActionResult <Task> > PostTask(CreateTaskDTO task)
        {
            if (!ModelState.IsValid)
            {
                return(BadRequest(ModelState));
            }
            TMSTask crearedTask = await _taskService.AddAsync(task);

            return(CreatedAtAction("GetTask", new { id = crearedTask.Id }, crearedTask));
        }
示例#7
0
        /// <inheritdoc/>
        public async Task UpdateHistoryAsync(TMSTask task)
        {
            var res = await GetLastRecord(task);

            if (res != null)
            {
                res.EndDate = DateTime.UtcNow;
            }
            _context.TaskHistories.Add(GetNewRecord(task));
        }
示例#8
0
 public GetTaskDTO(TMSTask task)
 {
     Id           = task.Id;
     Description  = task.Description;
     FinishDate   = task.FinishDate;
     Name         = task.Name;
     ParentTaskId = task.ParentTaskId;
     StartDate    = task.StartDate;
     StateId      = task.StateId;
 }
示例#9
0
        public TaskServiceFake()
        {
            var task1 = new TMSTask {
                Id         = new Guid("F4272DB4-A8F8-4C99-B985-68B1D61BA0C2"), Name = "Leve_1",
                FinishDate = DateTime.UtcNow.AddDays(2), StartDate = DateTime.UtcNow, StateId = CONST.Task.State.InProgress
            };
            var task2 = new TMSTask {
                Id         = new Guid("7C4E308E-1ED4-43FA-B380-3BCE91BACD95"), Name = "Leve_2",
                FinishDate = DateTime.UtcNow.AddDays(2), StartDate = DateTime.UtcNow, StateId = CONST.Task.State.Planned, ParentTaskId = task1.Id
            };
            var task22 = new TMSTask {
                Id         = new Guid("B19F14A8-4944-4124-9CA6-43B06946DB73"), Name = "Leve_2",
                FinishDate = DateTime.UtcNow.AddDays(2), StartDate = DateTime.UtcNow, StateId = CONST.Task.State.InProgress, ParentTaskId = task1.Id
            };
            var task3 = new TMSTask {
                Id         = new Guid("58F3DED0-EE1C-4322-B290-6E11DC7729A0"), Name = "Leve_3",
                FinishDate = DateTime.UtcNow.AddDays(2), StartDate = DateTime.UtcNow, StateId = CONST.Task.State.InProgress, ParentTaskId = task22.Id
            };

            _taskRep = new List <TMSTask>
            {
                task1, task2, task22, task3
            };
        }
示例#10
0
 /// <summary>
 /// Finds last history record.
 /// </summary>
 /// <param name="task"></param>
 /// <returns>Returns history record.</returns>
 private async Task <TaskHistory> GetLastRecord(TMSTask task)
 => await _context.TaskHistories
 .Where(h => h.TaskId == task.Id)
 .OrderByDescending(h => h.StartDate)
 .FirstOrDefaultAsync();
示例#11
0
 /// <inheritdoc/>
 public async Task UpdateAsync(UpdateTaskDTO dto, TMSTask taskEntity)
 {
     taskEntity.UpdateFromDTO(dto, await GetChildrenAmount(taskEntity.Id));
     await _context.SaveChangesAsync();
 }