// *********************************************************************** // Assembly : Ultimate1 // Author : frede // Created : 2023 06 10 10:03 // // Last Modified By : frede // Last Modified On : 2023 06 10 10:03 // *********************************************************************** // // Copyright (C) 2023-2023 FCS Frede's Computer Services. // This program is free software: you can redistribute it and/or modify // it under the terms of the GNU Affero General Public License as // published by the Free Software Foundation, either version 3 of the // License, or (at your option) any later version. // // This program is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the // GNU Affero General Public License for more details. // // You should have received a copy of the GNU Affero General Public License // along with this program. If not, see [https://www.gnu.org/licenses] // // // *********************************************************************** using Contracts; using LoggerService; using Microsoft.EntityFrameworkCore; using Repository; using Service; using Service.Contracts; namespace Ultimate.Extensions; public static class ServiceExtensions { public static void ConfigureCors(this IServiceCollection services) => services.AddCors(options => { options.AddPolicy("CorsPolicy", builder => builder.AllowAnyOrigin().AllowAnyMethod().AllowAnyHeader()); } ); public static void ConfigureIisIntegration(this IServiceCollection services) => services.Configure(options => { }); public static void ConfigureLoggerService(this IServiceCollection services) => services.AddSingleton(); public static void ConfigureRepositoryManager(this IServiceCollection services) => services.AddScoped(); public static void ConfigureServiceManager(this IServiceCollection services) => services.AddScoped(); public static void ConfigureSqlContext(this IServiceCollection services, IConfiguration configuration) => services.AddDbContext(options => options.UseMySql( configuration.GetConnectionString("mysqlCrmData"), new MariaDbServerVersion(configuration.GetValue("MariaDbVersion", "11.0.2"))) ); public static IMvcBuilder AddCustomCsvFormatter(this IMvcBuilder builder) => builder.AddMvcOptions(config => config.OutputFormatters.Add(new CsvOutputFormatter())); }