//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CSite site = (CSite)objet; // Verifie le champ "Libelle" if (site.Libelle == "") { result.EmpileErreur(I.T("The Site label cannot be empty|108")); } // Le champ "Libelle" doit être unique dans son parent seulement. if (site.SiteParent != null) { // Liste des sites frères lst CListeObjetsDonnees lst = site.SiteParent.SitesFils; lst.Filtre = new CFiltreData(CSite.c_champLibelle + " = @1 AND " + CSite.c_champId + " <> @2", site.Libelle, site.Id); if (lst.CountNoLoad != 0) { result.EmpileErreur(I.T("The Site '@1' already exists|370", site.Libelle)); } } // Vérifie le type de site if (site.TypeSite == null) { result.EmpileErreur(I.T("The site type cannot be empty|106")); } // Verifie le type du site fils if (site.SiteParent != null) { CListeObjetsDonnees liste_relations = site.SiteParent.TypeSite.RelationTypesContenus; string strNom = site.TypeSite.Libelle; string strParent = site.SiteParent.Libelle; string strSiteParent = site.SiteParent.TypeSite.Libelle; foreach (CRelationTypeSite_TypeSite rel in liste_relations) { strNom += " , " + rel.TypeSiteContenu.Libelle; } liste_relations.Filtre = new CFiltreData(CRelationTypeSite_TypeSite.c_champTypeContenuId + " = @1", site.TypeSite.Id); if (liste_relations.CountNoLoad == 0) { result.EmpileErreur(I.T("The site type is not valid|107")); } } // Vérifie le Code Site, peut être vide ou unique if (site.Code != "") { if (!CObjetDonneeAIdNumerique.IsUnique(site, CSite.c_champCode, site.Code)) { result.EmpileErreur(I.T("The Site Code '@1' already exist|371", site.Code)); } } if (result) { result = SObjetAFilsACoordonneeServeur.VerifieDonnees(site); } if (result) { result = site.VerifieCoordonnee(); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }