public BornesController(IMapper mapper, ICosmosDBService <Borne> serviceBornes, SpecificsCosmosService <NombreBorne> serviceNbBorne, SpecificsCosmosService <ChangementElements> serviceChangementElements) { _mapper = mapper; _serviceBornes = serviceBornes; _serviceNbBorne = serviceNbBorne; _serviceChangementElements = serviceChangementElements; }
public IncidentsController(IMapper mapper, ICosmosDBService <Incident> serviceIncident, SpecificsCosmosService <StatElementDefectueux> serviceTopFive) { _mapper = mapper; _serviceIncident = serviceIncident; _serviceTopFive = serviceTopFive; }
// This method gets called by the runtime. Use this method to add services to the container. public void ConfigureServices(IServiceCollection services) { // Auto Mapper var mapperConfig = new MapperConfiguration(config => { config.AddProfile <BorneProfile>(); config.AddProfile <OperationRechargeProfile>(); config.AddProfile <UsagerProfile>(); config.AddProfile <IncidentProfile>(); config.AddProfile <EntretienProfile>(); config.AddProfile <IncidentMonthlyAverageProfile>(); config.AddProfile <TopFiveElementsDefectueuxProfile>(); config.AddProfile <AverageElementFunctionnementProfile>(); }); services.AddAutoMapper(typeof(Startup)); // Configuration CosmosDB IConfigurationSection configurationSection = Configuration.GetSection("CosmosDB"); string nomDB = configurationSection.GetSection("nomDB").Value; string nomContainer = configurationSection.GetSection("nomContainer").Value; string compte = configurationSection.GetSection("compte").Value; string cle = configurationSection.GetSection("cle").Value; CosmosClientBuilder clientBuilder = new CosmosClientBuilder(compte, cle); CosmosClient client = clientBuilder .WithConnectionModeDirect() .Build(); // Création effective de la BDD DatabaseResponse db = client.CreateDatabaseIfNotExistsAsync(nomDB).GetAwaiter().GetResult(); // Création du container db.Database.CreateContainerIfNotExistsAsync(nomContainer, "/id").GetAwaiter().GetResult(); // Création et enregistrement des services par injection de dépendances CosmosDBService <Borne> serviceBorne = new CosmosDBService <Borne>(client, nomDB, nomContainer); services.AddSingleton <ICosmosDBService <Borne> >(serviceBorne); CosmosDBService <OperationRecharge> serviceOperationRecharge = new CosmosDBService <OperationRecharge>(client, nomDB, nomContainer); services.AddSingleton <ICosmosDBService <OperationRecharge> >(serviceOperationRecharge); CosmosDBService <Usager> serviceUsager = new CosmosDBService <Usager>(client, nomDB, nomContainer); services.AddSingleton <ICosmosDBService <Usager> >(serviceUsager); CosmosDBService <Incident> serviceIncident = new CosmosDBService <Incident>(client, nomDB, nomContainer); services.AddSingleton <ICosmosDBService <Incident> >(serviceIncident); CosmosDBService <Entretien> serviceEntretien = new CosmosDBService <Entretien>(client, nomDB, nomContainer); services.AddSingleton <ICosmosDBService <Entretien> >(serviceEntretien); SpecificsCosmosService <StatElementDefectueux> serviceTopFiveElementsDefectives = new SpecificsCosmosService <StatElementDefectueux>(client, nomDB, nomContainer); services.AddSingleton(serviceTopFiveElementsDefectives); SpecificsCosmosService <ChangementElements> serviceChangementElements = new SpecificsCosmosService <ChangementElements>(client, nomDB, nomContainer); services.AddSingleton(serviceChangementElements); SpecificsCosmosService <NombreBorne> serviceNbBornes = new SpecificsCosmosService <NombreBorne>(client, nomDB, nomContainer); services.AddSingleton(serviceNbBornes); services.AddControllers(); services.AddSwaggerGen(c => { c.SwaggerDoc("v1", new OpenApiInfo { Title = "E-Bis Maintenance API", Version = "v0.0.1" }); }); // Décommenter pour garnir la bdd ServiceDonneesBase.GenererDonneesBase(client, nomDB, nomContainer); //ServiceDonneesBaseIncident.GenererDonneesBase(client, nomDB, nomContainer); }