public ActionResult Interventions_Read([DataSourceRequest] DataSourceRequest request, string filtreAnnee) { string intNoMentor = HttpContext.Session.GetString("intNoMentor"); //string intNoMentor = Session["intNoMentor"].ToString(); Nullable <DateTime> dateDebut; Nullable <DateTime> dateFin; var strMessageDatasource = ""; MentoratNetCore.Extensions.CscExtensionsMethodes.AttribuerDateDebutDateFinAnneeFinanciereProjet(filtreAnnee, out dateDebut, out dateFin); List <Intervention> interventions; //on filtre selon l'année financière sélectionner par le combobox...par défaut on affiche tout. if (dateDebut == null || dateFin == null) { interventions = db.Interventions.Where(b => b.No_Mentor_Intervention == intNoMentor).ToList(); strMessageDatasource = ""; } else { interventions = db.Interventions.Where(b => b.No_Mentor_Intervention == intNoMentor && b.Date_Intervention >= dateDebut && b.Date_Intervention <= dateFin).ToList(); strMessageDatasource = "(" + DateTime.Parse(dateDebut.ToString()).ToShortDateString() + " au " + DateTime.Parse(dateFin.ToString()).ToShortDateString() + ")"; } //interventions = interventions.OrderByDescending(c => c.Date_Intervention); Ne fonctionne pas GroupDescriptor monGroup = null; if (request.Groups.Count > 0) { monGroup = request.Groups.Where(g => g.Member == "No_Mentore_Intervention").FirstOrDefault(); if (monGroup != null) { monGroup.Member = "Mentore.NomComplet_Mentore"; monGroup.DisplayContent = "No_Mentore_Intervention"; } } if (request.Sorts.Count == 0) // par défaut le tri est par la date { request.Sorts.Add(new SortDescriptor("Date_Intervention", ListSortDirection.Descending)); request.Sorts.Add(new SortDescriptor("No_Intervention", ListSortDirection.Descending)); } else { SortDescriptor monsort = request.Sorts.Where(w => w.Member == "No_Mentore_Intervention").FirstOrDefault(); if (monsort != null) {//Le tri est la le combobox alors on va trier sur le nom du Mentore var sort1 = new SortDescriptor("Mentore.NomComplet_Mentore", monsort.SortDirection); request.Sorts.Insert(request.Sorts.IndexOf(monsort), sort1); } } DataSourceResult result = interventions.ToDataSourceResult(request, i => new MentoratNetCore.ViewModels.InterventionsViewModel { No_Intervention = i.No_Intervention, Date_Intervention = i.Date_Intervention, No_Mentor_Intervention = i.No_Mentor_Intervention, No_Mentore_Intervention = i.No_Mentore_Intervention, NomComplet_Mentore_Intervention = i.Mentore.NomComplet_Mentore, Duree_Intervention = i.Duree_Intervention, Description_Intervention = i.Description_Intervention //Mentore = new Mentore //{ // No_Mentore = intervention.Mentore.No_Mentore, // Nom_Mentore = intervention.Mentore.Nom_Mentore, // Prenom_Mentore = intervention.Mentore.Prenom_Mentore //}, }); if (monGroup != null && result.Data != null) { ModifierNomColonneGroup(result.Data); //On s'assure de renommer la colonne si le group est sur une colonne de cbo. } var resultModif = new MentoratNetCore.Extensions.KendoDataSourceResult(result); resultModif.MessageDataSource = strMessageDatasource; return(Json(resultModif)); }
public ActionResult Interventions_Read([DataSourceRequest] DataSourceRequest request, string filtreAnnee) { Nullable <DateTime> dateDebut; Nullable <DateTime> dateFin; MentoratNetCore.Extensions.CscExtensionsMethodes.AttribuerDateDebutDateFinAnneeFinanciereProjet(filtreAnnee, out dateDebut, out dateFin); List <Intervention> interventions; var strMessageDatasource = ""; //on filtre selon l'année financière sélectionner par le combobox...par défaut on affiche tout. if (dateDebut == null || dateFin == null) { interventions = db.Interventions.ToList(); strMessageDatasource = ""; } else { interventions = db.Interventions.Where(b => b.Date_Intervention >= dateDebut && b.Date_Intervention <= dateFin).ToList(); strMessageDatasource = "(" + DateTime.Parse(dateDebut.ToString()).ToShortDateString() + " au " + DateTime.Parse(dateFin.ToString()).ToShortDateString() + ")"; } if (request.Groups.Count > 0) { GroupDescriptor monGroup = request.Groups.Where(g => g.Member == "No_Mentore_Intervention").FirstOrDefault(); if (monGroup != null) { monGroup.Member = "Mentore.NomComplet_Mentore"; // monGroup.SortDirection = System.ComponentModel.ListSortDirection.Ascending; monGroup.DisplayContent = "No_Mentore_Intervention"; } monGroup = request.Groups.Where(g => g.Member == "No_Mentor_Intervention").FirstOrDefault(); if (monGroup != null) { monGroup.Member = "Mentor.NomCompletMentor"; monGroup.DisplayContent = "No_Mentor_Intervention"; // monGroup.SortDirection = System.ComponentModel.ListSortDirection.Ascending; } } if (request.Sorts.Count == 0) // par défaut le tri est par la date { request.Sorts.Add(new SortDescriptor("Date_Intervention", ListSortDirection.Descending)); } else { SortDescriptor monsort = request.Sorts.Where(w => w.Member == "No_Mentore_Intervention").FirstOrDefault(); if (monsort != null) {//Le tri est la le combobox alors on va trier sur le nom du Mentore var sort1 = new SortDescriptor("Mentore.NomComplet_Mentore", monsort.SortDirection); request.Sorts.Insert(request.Sorts.IndexOf(monsort), sort1); } monsort = request.Sorts.Where(w => w.Member == "No_Mentor_Intervention").FirstOrDefault(); if (monsort != null) {//Le tri est la le combobox alors on va trier sur le nom du Mentor var sort1 = new SortDescriptor("Mentor.NomCompletMentor", monsort.SortDirection); request.Sorts.Insert(request.Sorts.IndexOf(monsort), sort1); } } DataSourceResult result = interventions.ToDataSourceResult(request, intervention => new Intervention { No_Intervention = intervention.No_Intervention, Date_Intervention = intervention.Date_Intervention, No_Mentor_Intervention = intervention.No_Mentor_Intervention, Mentor = new Mentor { NoMentor = intervention.Mentor.NoMentor, PrenomMentor = intervention.Mentor.PrenomMentor, NomMentor = intervention.Mentor.NomMentor }, No_Mentore_Intervention = intervention.No_Mentore_Intervention, Mentore = new Mentore { No_Mentore = intervention.Mentore.No_Mentore, Nom_Mentore = intervention.Mentore.Nom_Mentore, Prenom_Mentore = intervention.Mentore.Prenom_Mentore }, Duree_Intervention = intervention.Duree_Intervention, Description_Intervention = intervention.Description_Intervention }); var resultModif = new MentoratNetCore.Extensions.KendoDataSourceResult(result); resultModif.MessageDataSource = strMessageDatasource; return(Json(resultModif)); }