Ejemplo n.º 1
0
        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);
                }
            }
        }