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;
 }
Beispiel #3
0
        // 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);
        }