public static CsvWriter CreateWriter(this ICsvWriterService csvWriterService, string fileName, ICsvContext csvContext) { Argument.IsNotNull(() => csvWriterService); var dependencyResolver = csvWriterService.GetDependencyResolver(); var fileService = dependencyResolver.Resolve <IFileService>(); // Note: don't dispose, the writer cannot be used when disposed var stream = fileService.Open(fileName, FileMode.Create, FileAccess.Write, FileShare.Read); var streamWriter = new StreamWriter(stream); return(csvWriterService.CreateWriter(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); } } }