/// <summary> /// Méthode permettant la consultation des pge par categorie (etape 5) /// </summary> public ActionResult Categorie(int idProgrammation) { IEnumerable <ProgrammationDocumentPgeDto> listePGE = this.CalculService.GetAllDocumentPgeByProgrammation(idProgrammation); ProgrammationDocumentPGECategorieVm model = new ProgrammationDocumentPGECategorieVm(); model.ListePGE = listePGE; return(View(model)); }
public ActionResult GetDocumentsPgeWithCategories(string idProgrammation) { if (string.IsNullOrEmpty(idProgrammation)) { throw new ArgumentNullException("l'identifiant de la programmation est null"); } var model = this.CalculService.GetAllDocumentPgeByProgrammation(int.Parse(idProgrammation)); IList <ProgrammationDocumentPGECategorieVm> listePgeByCategorie = new List <ProgrammationDocumentPGECategorieVm>(); foreach (var item in model.OrderByDescending(x => x.Categorie).Select(x => x.Categorie).Distinct().ToList()) { switch (item) { case "CAT 4": ProgrammationDocumentPGECategorieVm docByCat4 = new ProgrammationDocumentPGECategorieVm(); docByCat4.CoutByCategorie = model.Where(x => x.Categorie == "CAT 4").Sum(x => x.Budget.GetValueOrDefault()); docByCat4.ListePGE = model.Where(x => x.Categorie == "CAT 4").ToList(); listePgeByCategorie.Add(docByCat4); break; case "CAT 3": ProgrammationDocumentPGECategorieVm docByCat3 = new ProgrammationDocumentPGECategorieVm(); docByCat3.CoutByCategorie = model.Where(x => x.Categorie == "CAT 3").Sum(x => x.Budget.GetValueOrDefault()); docByCat3.ListePGE = model.Where(x => x.Categorie == "CAT 3").ToList(); listePgeByCategorie.Add(docByCat3); break; case "CAT 2": ProgrammationDocumentPGECategorieVm docByCat2 = new ProgrammationDocumentPGECategorieVm(); docByCat2.CoutByCategorie = model.Where(x => x.Categorie == "CAT 2").Sum(x => x.Budget.GetValueOrDefault()); docByCat2.ListePGE = model.Where(x => x.Categorie == "CAT 2").ToList(); listePgeByCategorie.Add(docByCat2); break; case "CAT 1": ProgrammationDocumentPGECategorieVm docByCat1 = new ProgrammationDocumentPGECategorieVm(); docByCat1.CoutByCategorie = model.Where(x => x.Categorie == "CAT 1").Sum(x => x.Budget.GetValueOrDefault()); docByCat1.ListePGE = model.Where(x => x.Categorie == "CAT 1").ToList(); listePgeByCategorie.Add(docByCat1); break; } } return(View(listePgeByCategorie)); }