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 static IMvcBuilder AddJsonApi(this IMvcBuilder builder) { return builder.AddMvcOptions(options => { options.OutputFormatters.Insert(0, new JsonApiOutputFormatter()); }); }
public static IMvcBuilder AddPlainTextOutputFormatter(this IMvcBuilder builder, PlainTextFormatterOptions formatterOptions) { if (builder == null) throw new ArgumentNullException(nameof(builder)); return builder.AddMvcOptions(opts => { opts.OutputFormatters.RemoveType<StringOutputFormatter>(); opts.OutputFormatters.Add(new PlainTextOutputFormatter(formatterOptions)); }); }
public static IMvcBuilder AddMvcPages(this IMvcBuilder mvcBuilder) { mvcBuilder .AddMvcOptions(o => { o.Conventions.Add(new PagesApplicationModelConvention()); }) .AddRazorOptions(o => { o.ViewLocationExpanders.Add(new PagesViewLocationExpander()); }); return mvcBuilder; }
public static IMvcBuilder AddFluentValidation(this IMvcBuilder mvcBuilder) { var serviceCollection = mvcBuilder.Services; //services.AddCors(); mvcBuilder.AddMvcOptions( options => { options.ModelValidatorProviders.Add(serviceCollection.BuildServiceProvider().GetRequiredService<IModelValidatorProvider>()); }); var assembly = typeof(FluentValidationMVCBuilderExtensions).GetTypeInfo().Assembly; var exportedTypes = assembly.GetExportedTypes(); var validatorTypes = exportedTypes.Where(a=>a.GetInterfaces().Any(x =>x.IsConstructedGenericType && x.GetGenericTypeDefinition() == typeof(IValidator<>))); foreach (var type in validatorTypes) { //var genericType = type.GetInterfaces().SingleOrDefault(x => x.IsConstructedGenericType && x.GetGenericTypeDefinition() == typeof(IValidator<>)); //services.AddTransient(type,genericType); } serviceCollection.AddTransient<IValidator<CharacterCreate>, CharacterCreateValidator>(); // Add application services. serviceCollection.AddTransient<IModelValidatorProvider, FluentValidationModelValidatorProvider>(); return mvcBuilder; }
public static IMvcBuilder AddPlainTextInputFormatter(this IMvcBuilder builder, PlainTextFormatterOptions formatterOptions) { if (builder == null) throw new ArgumentNullException(nameof(builder)); return builder.AddMvcOptions(opts => opts.InputFormatters.Add(new PlainTextInputFormatter(formatterOptions))); }
public static IMvcBuilder AddQueryableDataBroker(this IMvcBuilder builder) { builder.AddMvcOptions(o => o.OutputFormatters.Add(new QuerySummaryFormatter())); return builder; }