//--------------------------------------------- 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); } }
//------------------------------------------------------------------- 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); }
//--------------------------------------------------------- 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); }