public static Task WriteRecordsAsync <TRecord, TRecordMap>(this ICsvWriterService csvWriterService, IEnumerable <TRecord> records, StreamWriter streamWriter, ICsvContext csvContext = null) where TRecordMap : ClassMap, new() { Argument.IsNotNull(() => csvWriterService); if (csvContext == null) { csvContext = new CsvContext <TRecord, TRecordMap>(); } return(csvWriterService.WriteRecordsAsync(records, streamWriter, csvContext)); }
public static async Task WriteRecordsAsync(this ICsvWriterService csvWriterService, IEnumerable records, string fileName, ICsvContext csvContext) { Argument.IsNotNull(() => csvWriterService); var dependencyResolver = csvWriterService.GetDependencyResolver(); var fileService = dependencyResolver.Resolve <IFileService>(); using (var stream = fileService.Open(fileName, FileMode.Create, FileAccess.Write, FileShare.Read)) { using (var streamWriter = new StreamWriter(stream)) { await csvWriterService.WriteRecordsAsync(records, streamWriter, csvContext); } } }