//------------------------------------------------------------------------------------------------------------------------------ public static void SetPourcentageFor(CBesoin besoin, ISatisfactionBesoin satisfaction, double fPourcentageSouhaité) { CImputationsCouts imputations = satisfaction.GetImputationsAFaireSurUtilisateursDeCout(); CImputationCout imputation = imputations.GetImputation(besoin); if (fPourcentageSouhaité < 100 && fPourcentageSouhaité >= 0) { if (imputations != null) { double fPoids = imputations.PoidsTotal - imputation.Poids; if (fPoids == 0) { return; } CListeObjetsDonnees lst = satisfaction.RelationsSatisfaits; lst.Filtre = new CFiltreData(CBesoin.c_champId + "=@1", besoin.Id); if (lst.Count != 0) { double fCalc = fPourcentageSouhaité / 100.0 * fPoids / (1 - fPourcentageSouhaité / 100.0); CRelationBesoin_Satisfaction rel = lst[0] as CRelationBesoin_Satisfaction; rel.RatioCoutReel = fCalc; } } } }
//------------------------------------------------------------------------------------------------------------------------------ public static double GetPourcentageFor(CBesoin besoin, ISatisfactionBesoin satisfaction) { CImputationsCouts imputations = satisfaction.GetImputationsAFaireSurUtilisateursDeCout(); CImputationCout imputation = imputations.GetImputation(besoin); if (imputations == null) { return(0); } if (imputations.PoidsTotal > 0) { return(imputation.Poids / imputations.PoidsTotal * 100); } return(0); }