public static IMvcBuilder AddCsvSerializerFormatters( this IMvcBuilder builder, CsvFormatterOptions csvFormatterOptions) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.AddFormatterMappings(m => m.SetMediaTypeMappingForFormat("csv", new MediaTypeHeaderValue("text/csv"))); if (csvFormatterOptions == null) { csvFormatterOptions = new CsvFormatterOptions(); } if (string.IsNullOrWhiteSpace(csvFormatterOptions.CsvDelimiter)) { throw new ArgumentException("CsvDelimiter cannot be empty"); } builder.AddMvcOptions(options => options.InputFormatters.Add(new CsvInputFormatter(csvFormatterOptions))); builder.AddMvcOptions(options => options.OutputFormatters.Add(new CsvOutputFormatter(csvFormatterOptions))); return builder; }
public CsvInputFormatter(CsvFormatterOptions csvFormatterOptions) { if (csvFormatterOptions == null) { throw new ArgumentNullException(nameof(csvFormatterOptions)); } _options = csvFormatterOptions; }
public CsvOutputFormatter(CsvFormatterOptions csvFormatterOptions) { ContentType = "text/csv"; SupportedMediaTypes.Add(Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("text/csv")); if (csvFormatterOptions == null) { throw new ArgumentNullException(nameof(csvFormatterOptions)); } _options = csvFormatterOptions; //SupportedEncodings.Add(Encoding.GetEncoding("utf-8")); }
public static IMvcBuilder AddCsvSerializerFormatters(this IMvcBuilder builder, CsvFormatterOptions csvFormatterOptions) { if (builder == null) { throw new ArgumentNullException(nameof(builder)); } builder.AddFormatterMappings(m => m.SetMediaTypeMappingForFormat("csv", new MediaTypeHeaderValue("text/csv"))); if (csvFormatterOptions == null) { csvFormatterOptions = new CsvFormatterOptions(); } if (string.IsNullOrWhiteSpace(csvFormatterOptions.CsvDelimiter)) { throw new ArgumentException("CsvDelimiter cannot be empty"); } builder.AddMvcOptions(options => options.InputFormatters.Add(new CsvInputFormatter(csvFormatterOptions))); builder.AddMvcOptions(options => options.OutputFormatters.Add(new CsvOutputFormatter(csvFormatterOptions))); return(builder); }
public CsvOutputFormatter(CsvFormatterOptions csvFormatterOptions) { ContentType = "text/csv"; SupportedMediaTypes.Add(Microsoft.Net.Http.Headers.MediaTypeHeaderValue.Parse("text/csv")); _options = csvFormatterOptions ?? throw new ArgumentNullException(nameof(csvFormatterOptions)); }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { var sqlConnectionString = Configuration["DbStringLocalizer:ConnectionString"]; services.AddDbContext<LocalizationModelContext>(options => options.UseSqlite( sqlConnectionString, b => b.MigrationsAssembly("ImportExportLocalization") ) ); // Requires that LocalizationModelContext is defined services.AddSqlLocalization(options => options.UseTypeFullNames = true); services.AddMvc() .AddViewLocalization() .AddDataAnnotationsLocalization(); services.Configure<RequestLocalizationOptions>( options => { var supportedCultures = new List<CultureInfo> { new CultureInfo("en-US"), new CultureInfo("de-CH"), new CultureInfo("fr-CH"), new CultureInfo("it-CH") }; options.DefaultRequestCulture = new RequestCulture(culture: "en-US", uiCulture: "en-US"); options.SupportedCultures = supportedCultures; options.SupportedUICultures = supportedCultures; }); var csvFormatterOptions = new CsvFormatterOptions(); services.AddMvc(options => { options.InputFormatters.Add(new CsvInputFormatter(csvFormatterOptions)); options.OutputFormatters.Add(new CsvOutputFormatter(csvFormatterOptions)); options.FormatterMappings.SetMediaTypeMappingForFormat("csv", MediaTypeHeaderValue.Parse("text/csv")); }); services.AddScoped<ValidateMimeMultipartContentFilter>(); }