示例#1
0
        // pour que le count fonctionne faire un mapping oData sur le modele
        private IEdmModel GetEdmModelEmployes(IDataAccesService dataAccesService)
        {
            ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
            var employes = builder.EntitySet <Employe>("employes");
            // ignore the list of properties to exclude
            /// appeler service pour recuperer les colonnes
            ///
            IQueryable <Colonne> colonnes = dataAccesService.GererDataAccess(1);

            employes.EntityType.Ignore(e => e.Nas);
            return(builder.GetEdmModel());
        }
示例#2
0
        public static IEdmModel GetEdmModelEmployes(IDataAccesService dataAccesService)
        {
            ODataConventionModelBuilder builder = new ODataConventionModelBuilder();
            var employes = builder.EntitySet <Employe>("employes");
            // ignore the list of properties to exclude
            /// pour recuperer les colonnes
            string username = DecodeBase64(BasicAuthenticationHandler.Username);
            // IQueryable<Colonne> colonnes = dataAccesService.GererDataAccess("amayam", "abcd");
            IQueryable <Colonne> colonnes = dataAccesService.GererDataAccess("amayam");


            foreach (Colonne col in colonnes)
            {
                switch (col.Nom.ToString().Trim())
                {
                case "matricule":
                    employes.EntityType.Ignore(e => e.Matricule);
                    break;

                case "Code_Empl":
                    employes.EntityType.Ignore(e => e.Code_Empl);
                    break;

                case "rib":
                    employes.EntityType.Ignore(e => e.Rib);
                    break;

                case "nas":
                    employes.EntityType.Ignore(e => e.Nas);
                    break;

                case "tin":
                    employes.EntityType.Ignore(e => e.Tin);
                    break;
                }
            }


            return(builder.GetEdmModel());
        }
示例#3
0
        // This method gets called by the runtime. Use this method to configure the HTTP request pipeline.
        public void Configure(IApplicationBuilder app, IHostingEnvironment env, IDataAccesService dataAccesService)
        {
            DataAccesService = dataAccesService;
            if (env.IsDevelopment())
            {
                app.UseDeveloperExceptionPage();
            }

            {
                app.UseHsts();
            }

            app.UseHttpsRedirection();


            app.UseMvc(routeBuilder =>
            {
                // routeBuilder : ajouté les methodes de Odata et buildé le url de l API
                routeBuilder.Expand().Select().Count().OrderBy().Filter().MaxTop(null);
                routeBuilder.MapODataServiceRoute("Employe", "odata/v1/employes", EdmModelBuilder.GetEdmModelEmployes(DataAccesService));
            });
        }
 public EmployeController(IEmployeService serviceEmploye, IDataAccesService dataAccessService)
 {
     ServiceEmploye    = serviceEmploye;
     DataAccessService = dataAccessService;
 }