/// <summary> /// Method for generating event reports - RS /// </summary> /// <param name="eventManagementReportQueryAc"></param> /// <param name="currentUserInstituteId"></param> /// <returns></returns> public async Task <EventManagementReportResponseAc> GenerateEventReportAsync(EventManagementReportQueryAc eventManagementReportQueryAc, int currentUserInstituteId) { #region Fetch details List <EventReportAc> eventReportAcList = new List <EventReportAc>(); List <EventReportDetail> eventReportDetailsList = await _imsDbContext.EventReportDetails .Where(x => x.InstituteId == currentUserInstituteId && x.SentOn.Date >= eventManagementReportQueryAc.StartDate.Date && x.SentOn.Date <= eventManagementReportQueryAc.EndDate.Date) .ToListAsync(); foreach (EventReportDetail eventReportDetail in eventReportDetailsList) { eventReportAcList.Add(new EventReportAc { Format = EnumHelperService.GetDescription(eventReportDetail.TemplateFormat), To = eventReportDetail.To, Subject = eventReportDetail.Subject, Message = eventReportDetail.Message, SentOn = eventReportDetail.SentOn.ToString("dd-MMM-yyyy") }); } #endregion #region Generate file string fileName = "Event_Report_" + DateTime.Now.Day.ToString("00") + "_" + DateTime.Now.Month.ToString("00") + "_" + DateTime.Now.Year.ToString("0000") + ".xlsx"; return(new EventManagementReportResponseAc() { FileName = fileName, ResponseType = "application/ms-excel", FileByteArray = ExcelHelperService.GenerateExcelFromList(eventReportAcList, string.Empty) }); #endregion }
public async Task <FileResult> GenerateEventReportAsync([FromBody] EventManagementReportQueryAc eventManagementReportQueryAc) { int currentUserInstituteId = await GetUserCurrentSelectedInstituteIdAsync(); EventManagementReportResponseAc eventManagementReportResponse = await _eventManagementRepository.GenerateEventReportAsync(eventManagementReportQueryAc, currentUserInstituteId); return(File(eventManagementReportResponse.FileByteArray, eventManagementReportResponse.ResponseType, eventManagementReportResponse.FileName)); }