private void AddPrelevementUserControls(LookupEnum.TypeSalaire typeSal) { IEnumerable <CompagniePrelevementDto> cpd; CompagnieManager cm = new CompagnieManager(); int compagnieID = SessionHelper.GetCompanyIDFromSession(HttpContext.Current); cpd = cm.GetAllPrelevementForCompany(compagnieID, (int)typeSal); IEnumerable <TypePeriodeDto> tpData; tpData = cm.GetTypePeriodeForCompany(compagnieID); // Sélection les prélèvements proprement dits (sans les type de période et les pourcentages) var prelevements = (from CompagniePrelevementDto c in cpd select new { c.PrelevementID, c.Prelevement, c.CompagnieID, c.TypeSalaireID }).Distinct(); // Pour chaque prélevement pour le salaire régulier, afficher le user control Prelevement foreach (var c in prelevements) { Prelevement pr; pr = (Prelevement)LoadControl("~/UserControls/Prelevement.ascx"); //Dépendamment du Type de Salaire, ajouter le control au Panel régulier ou au Panel special if (typeSal == LookupEnum.TypeSalaire.Regulier) { PlaceHolderPrelevementRegulier.Controls.Add(pr); } else { PlaceHolderPrelevementSpecial.Controls.Add(pr); } pr.ID = c.PrelevementID.ToString() + '_' + c.Prelevement.Replace(' ', '_'); //Il faut rendre le ID du control unique if (_isEdit) { pr.PrelevementChecked = true; } else { pr.PrelevementChecked = true; } pr.CheckBoxText = c.Prelevement; pr.CompagnieID = c.CompagnieID; pr.TypeSalaireID = c.TypeSalaireID; pr.PrelevementID = c.PrelevementID; pr.TypePeriodes = tpData; //S'occuper des types de période et des pourcentages var query = (from p in cpd where p.PrelevementID == c.PrelevementID select new { p.TypePeriodeID, p.Pourcentage }).ToList(); pr.TypePeriodeID1 = query[0].TypePeriodeID; pr.Pourcentage1 = query[0].Pourcentage; if (query.Count > 1) { pr.TypePeriodeID2 = query[1].TypePeriodeID; pr.Pourcentage2 = query[1].Pourcentage; } } }
private void AddCongeUserControls() { IEnumerable <CompagnieTypeCongeDto> cpd; CompagnieManager cm = new CompagnieManager(); int compagnieID = SessionHelper.GetCompanyIDFromSession(HttpContext.Current); cpd = cm.GetAllCongeForCompany(compagnieID); foreach (CompagnieTypeCongeDto c in cpd) { CongeUserControl pr; pr = (CongeUserControl)LoadControl("~/UserControls/CongeUserControl.ascx"); PlaceHolderConge.Controls.Add(pr); pr.ID = c.TypeCongeID.ToString() + '_' + c.Conge.Replace(' ', '_'); //Il faut rendre le ID du control unique if (_isEdit) { pr.CongeChecked = false; } else { pr.CongeChecked = true; } pr.CompagnieID = c.CompagnieID; pr.TypeCongeID = c.TypeCongeID; pr.TypeConge = c.Conge; if (c.JourParAnnee != null) { pr.JourParAnnee = c.JourParAnnee.ToString(); } if (c.AccumulableParAnnee != null) { pr.AccumulableParAnneeChecked = (bool)c.AccumulableParAnnee; } if (c.IncrementableParMois != null) { pr.IncrementableParMoisChecked = (bool)c.IncrementableParMois; } } }