//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CParametrageNiveau parametrageNiveau = (CParametrageNiveau)objet; /*if ( parametrageNiveau.Libelle == "") * result.EmpileErreur(I.T("The label of level setting cannot be empty|188")); */ /*if(!parametrageNiveau.CanEdit) * result.EmpileErreur(I.T( "Coordinate setting currently used by objects : impossible to carry out the operation|190")); */ //Verification si la taille + le premier indice ne dépasse pas le format de numérotation if (parametrageNiveau.DernierIndice > parametrageNiveau.FormatNumerotation.IndexMax) { result.EmpileErreur(I.T("The first reference @1 and size @2 allow to reach @3, but the numbering format @4 is limited to @5|191", parametrageNiveau.PremiereReference, parametrageNiveau.Taille.ToString(), parametrageNiveau.DerniereReference, parametrageNiveau.FormatNumerotation.Libelle, parametrageNiveau.FormatNumerotation.ReferenceMax)); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
//------------------------------------------------------------------- public override CResultAErreur TraitementAvantSauvegarde(CContexteDonnee contexte) { CResultAErreur result = base.TraitementAvantSauvegarde(contexte); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } ArrayList lst = new ArrayList(table.Rows); foreach (DataRow row in lst) { if (row.RowState == DataRowState.Modified) { CParametrageNiveau parametrage = new CParametrageNiveau(row); parametrage.ParametrageSystemeCoordonnees.ForceChangementSyncSession(); } } return(result); }
/// <summary> /// Verifie si la coordonnée existe syntaxiquement parlant /// </summary> /// <param name="strCoordonnee">Coordonnée à vérifier</param> /// <returns></returns> public CResultAErreur VerifieCoordonnee(string strCoordonnee) { CResultAErreur result = CResultAErreur.True; if (strCoordonnee == null || strCoordonnee == "") { result.EmpileErreur(I.T("The coordinate cannot be empty|184")); } else { string[] strNiveaux = strCoordonnee.Split(CSystemeCoordonnees.c_separateurNumerotations); if (strNiveaux.Length > RelationParametragesNiveau.Count) { result.EmpileErreur(I.T("Too many levels in the coordinate|251")); return(result); } CParametrageNiveau[] parametragesNiveaux = ParametragesNiveauxOrdonnees; //On va remonter niveau par niveau for (int i = strNiveaux.Length; i > 0; i--) { CResultAErreur resulttmp = CResultAErreur.True; string Niv = strNiveaux[i - 1]; CParametrageNiveau parametrageNiv = parametragesNiveaux[i - 1]; //Vérification syntaxique de la partie de coordonnée resulttmp = parametrageNiv.RelationSysCoor_FormatNum.VerifieReference(Niv); //Vérification sur la plage paramétrée if (resulttmp.Result) { resulttmp = parametrageNiv.ReferencePossible(Niv); } if (!resulttmp.Result) { result.Erreur += resulttmp.Erreur; result.Result = false; } } } return(result); }