public override void GenerateCsv() { _logger("Starting Opportunities Start Dates CSV creation."); var courseInstanceItems = _db.up_CourseInstanceStartDatesListForCsvExport(); using (Stream stream = File.Open(Constants.O_Opportunity_StartDate, 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>("START_DATE"); csv.WriteField <string>("PLACES_AVAILABLE"); csv.WriteField <string>("DATE_FORMAT"); csv.NextRecord(); foreach (var courseInstanceItem in courseInstanceItems.ToList()) { csv.WriteField(courseInstanceItem.OPPORTUNITY_ID); csv.WriteField(courseInstanceItem.START_DATE); csv.WriteField(courseInstanceItem.PLACES_AVAILABLE); csv.WriteField(courseInstanceItem.DATE_FORMAT); csv.NextRecord(); } } } }