/// <summary> /// Получить список всех выполненных задач /// </summary> /// <returns></returns> private async Task <IEnumerable <CompletedTaskLog> > GetCompletedTasksListAsync() { //Считываем данные из файла var dataLines = await ReadAsync(); //Создаем новый список выполненных задач List <CompletedTaskLog> result = new List <CompletedTaskLog>(); foreach (var line in dataLines) { var model = line.Split(DataSearator); //Получаем компонент модели Guid.TryParse(model[0], out Guid id); DateTime.TryParse(model[1], out DateTime date); Guid.TryParse(model[2], out Guid idEmployee); double.TryParse(model[3], out double time); string comment = model[4]; //Заполняем модель CompletedTaskLog task = new CompletedTaskLog(id, idEmployee, date, time, comment); //Проверяем полученную модель на null и добавляем в результирующий список if (task != null) { result.Add(task); } model = default; } return(result.OrderBy(d => d.Date)); }
/// <summary> /// Преобразование бизнес модель лога в DTO /// </summary> /// <param name="log"></param> /// <returns></returns> public static TaskLog ToTaskLogModel(this CompletedTaskLog log) { return(new TaskLog { Date = log.Date, IdEmployee = log.IdEmployee, TaskName = log.TaskName, Time = log.Time }); }
public void A__InsertTimeLog_ShouldReturnTaskLogsList() { var id = Guid.NewGuid(); var log = new CompletedTaskLog(Guid.NewGuid(), id, DateTime.Now.Date.AddDays(-2), 3, "TestTask6"); var result = _repository.InsertCompletedTaskAsync(log).Result; var newlist = _repository.GetCompletedTasksListInPeriodAsync(DateTime.Now.AddYears(-2), DateTime.Now).Result.ToList(); Assert.IsNotNull(result); Assert.AreEqual((1), newlist.Count); }
/// <summary> /// Добавить новую задачу /// </summary> /// <param name="task"></param> /// <returns></returns> public async Task <bool> AddNewTaskLog(CompletedTaskLog task) { //Проверяем входные параметры на null if (task == null) { return(false); } //Пытаемся добавить задачу в хранилище, //если результат не null возвращаем true, иначе false var result = await _tasksRepository.InsertCompletedTaskAsync(task); if (result != null) { return(true); } else { return(false); } }
/// <summary> /// Асинхронное добавление выполненной задачи /// </summary> /// <returns></returns> public async Task <CompletedTaskLog> InsertCompletedTaskAsync(CompletedTaskLog taskLog) { //Проверяем входные данные на null if (taskLog == null) { return(null); } //Преобразуем задачу в строку используя модель string line = taskLog.ToFile(DataSearator); //Записываем данные в файл и проверяем результат var writingResult = await base.WriteAsync(line); if (writingResult) { return(taskLog); } else { return(null); } }