Beispiel #1
0
        public async Task <ExportDeliveriesVm> Handle(ExportDeliveriesQuery request, CancellationToken cancellationToken)
        {
            var vm = new ExportDeliveriesVm();

            var zone = await _context.Zones.SingleAsync(t => t.Id == request.ZoneId, cancellationToken);

            var records = await _context.Deliveries.Where(t => t.ZoneId == request.ZoneId)
                          .ProjectTo <DeliveryRecord>(_mapper.ConfigurationProvider)
                          .ToListAsync(cancellationToken);

            vm.Content     = _fileBuilder.BuildDeliveriesFile(records);
            vm.ContentType = "text/csv";
            vm.FileName    = $"{zone.Id}_{zone.Title}_Deliveries_{_dateTime.Now:yyyyMMddHHmmss}.csv";

            return(await Task.FromResult(vm));
        }