示例#1
0
        public async Task <List <Dtos.Task> > Handle(GetAllTaskQuery request, CancellationToken cancellationToken)
        {
            return(await _memoryCache.GetOrCreate(request.DateFilter.ToString(), async options =>
            {
                options.AbsoluteExpiration = DateTime.Now.AddSeconds(1);

                var tasks = await _tasksRepository.GetTasks(request.DateFilter);

                if (tasks == null)
                {
                    throw new NotFoundException();
                }

                List <Dtos.Task> result = new List <Dtos.Task>();

                foreach (var task in tasks)
                {
                    task.Logist = await _usersRepository.GetUserByIdAsync(task.LogistId);
                    task.Driver = await _usersRepository.GetUserByIdAsync(task.DriverId);

                    result.Add(task.ToQueryTask());
                }

                return result;
            }));
        }
示例#2
0
 public List <Tasks> GetTasks()
 {
     return(repository.GetTasks());
 }