Exemplo n.º 1
0
        public async Task <ReportQueryResult> Handle(SupportReportQuery query)
        {
            var supportQuery = new ReportQuery
            {
                FileId        = query.FileId,
                TaskNumber    = query.TaskNumber,
                EvacuatedFrom = query.EvacuatedFrom,
                EvacuatedTo   = query.EvacuatedTo,
            };

            var supports = (await reportRepository.QuerySupport(supportQuery)).Items;

            var communities = await metadataRepository.GetCommunities();

            supportQuery.EvacuatedFrom = communities.Where(c => c.Code == supportQuery.EvacuatedFrom).SingleOrDefault()?.Name;
            supportQuery.EvacuatedTo   = communities.Where(c => c.Code == supportQuery.EvacuatedTo).SingleOrDefault()?.Name;

            var csv = supports.ToCSV(supportQuery, "\"");

            var content     = Encoding.UTF8.GetBytes(csv);
            var contentType = "text/csv";

            return(new ReportQueryResult
            {
                Content = content,
                ContentType = contentType
            });
        }
        public async Task <ReportQueryResult> Handle(SupportReportQuery query)
        {
            var supportQuery = new ReportQuery
            {
                FileId        = query.FileId,
                TaskNumber    = query.TaskNumber,
                EvacuatedFrom = query.EvacuatedFrom,
                EvacuatedTo   = query.EvacuatedTo,
            };

            var supports = (await reportRepository.QuerySupport(supportQuery)).Items;
            var csv      = supports.ToCSV(supportQuery, "\"");

            var content     = Encoding.UTF8.GetBytes(csv);
            var contentType = "text/csv";

            return(new ReportQueryResult
            {
                Content = content,
                ContentType = contentType
            });
        }