public void E_GetAllCompletedTaskLogsByEmployeeInPeriod_ShoulReturnTaskLoagsList()
        {
            foreach (var l in _completedTaskLogs)
            {
                _repository.InsertCompletedTaskAsync(l);
            }

            var startDate = DateTime.Now.AddDays(-10);
            var stopDate  = DateTime.Now;

            var result = _repository.GetCompletedTasksListByEmployeeAsync(id1, startDate, stopDate).Result.ToList();

            Assert.IsNotNull(result);
            Assert.AreEqual(3, result.Count);
            Assert.AreEqual(13d, result.Sum(t => t.Time));
        }
        /// <summary>
        /// Получить выполненные задачи пользователя
        /// за определенный период
        /// </summary>
        /// <param name="id"></param>
        /// <param name="startday"></param>
        /// <param name="stopday"></param>
        /// <returns></returns>
        public async Task <IEnumerable <CompletedTaskLog> > GetEmployeeTaskLogs(Guid id, DateTime startday, DateTime stopday)
        {
            //Первичная валидация данных
            if (!ValidateDate(startday, stopday) || id == Guid.Empty)
            {
                return(null);
            }
            //Валидация на основе прав доступа
            bool isValid = default;

            switch (_autorize.UserRole)
            {
            case Role.None:
                break;

            case Role.Admin:
                break;

            case Role.Director:     //Полные права
                isValid = true;
                break;

            case Role.Developer:     //Может получать только свои логи
                isValid = _autorize.UserId.Equals(id);
                break;

            case Role.Freelancer:     //Может получать только свои логи
                isValid = _autorize.UserId.Equals(id);
                break;

            default:
                break;
            }
            //Получение результата на основе валидации прав доступа
            if (isValid)
            {
                var result = await _tasksRepository.GetCompletedTasksListByEmployeeAsync(id, startday, stopday);

                if (result == null || result.ToList().Count == 0)
                {
                    return(null);
                }
                else
                {
                    return(result);
                }
            }
            else
            {
                return(null);
            }
        }