Exemplo n.º 1
0
 //---------------------------------------------
 internal void CopyFromTemplate(
     CBesoinQuantite qTemplate,
     Dictionary <string, string> mapIdQuantiteOriginaleToNew)
 {
     Libelle           = qTemplate.Libelle;
     Quantite          = qTemplate.Quantite;
     Index             = qTemplate.Index;
     TypeEntiteAssocie = qTemplate.TypeEntiteAssocie;
     mapIdQuantiteOriginaleToNew[qTemplate.IdUniversel] = IdUniversel;
     foreach (CBesoinQuantite fille in qTemplate.QuantitesFilles)
     {
         CBesoinQuantite newQ = new CBesoinQuantite(ContexteDonnee);
         newQ.CreateNewInCurrentContexte();
         newQ.Besoin          = Besoin;
         newQ.QuantiteParente = this;
         newQ.CopyFromTemplate(fille, mapIdQuantiteOriginaleToNew);
     }
 }
Exemplo n.º 2
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CBesoinQuantite besoin = (CBesoinQuantite)objet;

                if (besoin.Libelle == null || besoin.Libelle == "")
                {
                    result.EmpileErreur(I.T("The need quantity label cannot be empty|20187"));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
Exemplo n.º 3
0
        //---------------------------------------------------------
        public double?CalculeCout(CBesoin besoin)
        {
            double?fValeur = null;

            foreach (CBesoin fils in besoin.BesoinsFils)
            {
                double?fCout = fils.CoutSaisiTotalSansRegroupement;
                if (fCout != null)
                {
                    CBesoinQuantite q = fils.RegroupementQuantite;
                    if (q != null)
                    {
                        fCout *= q.Quantite;
                    }
                    if (fValeur == null)
                    {
                        fValeur = 0;
                    }
                    fValeur += fCout;
                }
            }
            return(fValeur);
        }