Exemple #1
0
        /// <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));
        }
Exemple #2
0
 /// <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);
            }
        }
Exemple #5
0
        /// <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);
            }
        }