예제 #1
0
        public async Task <IActionResult> GetGeneratedWeeklyReport([FromQuery] GetGeneratedWeeklyReportPhrQuery query)
        {
            try
            {
                var dto = await _mediator.SendAsync(query);

                return(View(dto));
            }
            catch (Exception ex)
            {
                return(View("Error",
                            new ErrorViewModel()
                {
                    Message = ex.Message, Type = ex.GetType().Name
                }));
            }
        }
예제 #2
0
        public async Task <IActionResult> ExportPdfWeeklyReport([FromQuery] GetGeneratedWeeklyReportPhrQuery query)
        {
            try
            {
                var dto = await _mediator.SendAsync(query);

                var fileName =
                    $"{dto.WeeklyReport.SelectedYear}_{dto.WeeklyReport.SelectedWeek}_ProjectHealthReport_{dto.Project.Name}.pdf";

                var viewHtml = await this.RenderViewAsync("GetGeneratedWeeklyReportPDF", dto, fileName);


                var pdf = await _mediator.SendAsync(new ExportPdfWeeklyReportPhrQuery { HtmlContent = viewHtml.Content });

                return(File(pdf, "application/pdf", fileName));
            }
            catch (Exception ex)
            {
                return(View("Error", new ErrorViewModel {
                    Message = ex.Message, Type = ex.GetType().Name
                }));
            }
        }