Esempio n. 1
0
        //------------------------------------------------------------------------------------------------------------------------------
        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;
                    }
                }
            }
        }
Esempio n. 2
0
        //------------------------------------------------------------------------------------------------------------------------------
        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);
        }