public override void GenerateCsv() { _logger("Starting Opportunities CSV creation."); var opportunityItems = _db.up_CourseInstanceListForCsvExport(); using (Stream stream = File.Open(Constants.O_Opportunities_CsvFilename, FileMode.OpenOrCreate, FileAccess.Write, FileShare.Read)) { using (TextWriter writer = new StreamWriter(stream)) { var csv = new CsvWriter(writer); csv.WriteField <string>("OPPORTUNITY_ID"); csv.WriteField <string>("PROVIDER_OPPORTUNITY_ID"); csv.WriteField <string>("PRICE"); csv.WriteField <string>("PRICE_DESCRIPTION"); csv.WriteField <string>("DURATION_VALUE"); csv.WriteField <string>("DURATION_UNITS"); csv.WriteField <string>("DURATION_DESCRIPTION"); csv.WriteField <string>("START_DATE_DESCRIPTION"); csv.WriteField <string>("END_DATE"); csv.WriteField <string>("STUDY_MODE"); csv.WriteField <string>("ATTENDANCE_MODE"); csv.WriteField <string>("ATTENDANCE_PATTERN"); csv.WriteField <string>("LANGUAGE_OF_INSTRUCTION"); csv.WriteField <string>("LANGUAGE_OF_ASSESSMENT"); csv.WriteField <string>("PLACES_AVAILABLE"); csv.WriteField <string>("ENQUIRE_TO"); csv.WriteField <string>("APPLY_TO"); csv.WriteField <string>("APPLY_FROM"); csv.WriteField <string>("APPLY_UNTIL"); csv.WriteField <string>("APPLY_UNTI_DESC"); csv.WriteField <string>("URL"); csv.WriteField <string>("TIMETABLE"); csv.WriteField <string>("COURSE_ID"); csv.WriteField <string>("VENUE_ID"); csv.WriteField <string>("APPLY_THROUGHOUT_YEAR"); csv.WriteField <string>("EIS_FLAG"); csv.WriteField <string>("REGION_NAME"); csv.WriteField <string>("DATE_CREATED"); csv.WriteField <string>("DATE_UPDATE"); csv.WriteField <string>("STATUS"); csv.WriteField <string>("UPDATED_BY"); csv.WriteField <string>("CREATED_BY"); csv.WriteField <string>("OPPORTUNITY_SUMMARY"); csv.WriteField <string>("REGION_ID"); csv.WriteField <string>("SYS_DATA_SOURCE"); csv.WriteField <string>("DATE_UPDATED_COPY_OVER"); csv.WriteField <string>("DATE_CREATED_COPY_OVER"); csv.WriteField <string>("OFFERED_BY"); csv.WriteField <string>("DFE_FUNDED"); csv.NextRecord(); foreach (var opportunityItem in opportunityItems.ToList()) { csv.WriteField(opportunityItem.OPPORTUNITY_ID); csv.WriteField(opportunityItem.PROVIDER_OPPORTUNITY_ID); csv.WriteField(opportunityItem.PRICE); csv.WriteField(opportunityItem.PRICE_DESCRIPTION); csv.WriteField(opportunityItem.DURATION_VALUE); csv.WriteField(opportunityItem.DURATION_UNITS); csv.WriteField(opportunityItem.DURATION_DESCRIPTION); csv.WriteField(opportunityItem.START_DATE_DESCRIPTION); csv.WriteField(opportunityItem.END_DATE); csv.WriteField(opportunityItem.STUDY_MODE); csv.WriteField(opportunityItem.ATTENDANCE_MODE); csv.WriteField(opportunityItem.ATTENDANCE_PATTERN); csv.WriteField(opportunityItem.LANGUAGE_OF_INSTRUCTION); csv.WriteField(opportunityItem.LANGUAGE_OF_ASSESSMENT); csv.WriteField(opportunityItem.PLACES_AVAILABLE); csv.WriteField(opportunityItem.ENQUIRE_TO); csv.WriteField(opportunityItem.APPLY_TO); csv.WriteField(opportunityItem.APPLY_FROM); csv.WriteField(opportunityItem.APPLY_UNTIL); csv.WriteField(opportunityItem.APPLY_UNTI_DESC); csv.WriteField(opportunityItem.URL); csv.WriteField(opportunityItem.TIMETABLE); csv.WriteField(opportunityItem.COURSE_ID); csv.WriteField(opportunityItem.VENUE_ID); csv.WriteField(opportunityItem.APPLY_THROUGHOUT_YEAR); csv.WriteField(opportunityItem.EIS_FLAG); csv.WriteField(opportunityItem.REGION_NAME); csv.WriteField(opportunityItem.DATE_CREATED); csv.WriteField(opportunityItem.DATE_UPDATE); csv.WriteField(opportunityItem.STATUS); csv.WriteField(opportunityItem.UPDATED_BY); csv.WriteField(opportunityItem.CREATED_BY); csv.WriteField(opportunityItem.OPPORTUNITY_SUMMARY); csv.WriteField(opportunityItem.REGION_ID); csv.WriteField(opportunityItem.SYS_DATA_SOURCE); csv.WriteField(opportunityItem.DATE_UPDATED_COPY_OVER); csv.WriteField(opportunityItem.DATE_CREATED_COPY_OVER); csv.WriteField(opportunityItem.OFFERED_BY); csv.WriteField(opportunityItem.DFE_FUNDED); csv.NextRecord(); } } } }