// 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()); }
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()); }
// 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; }