////////////////////////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CCaracteristiqueEntite CaracteristiqueEntite = (CCaracteristiqueEntite)objet; if (CaracteristiqueEntite.TypeCaracteristique == null) { result.EmpileErreur(I.T("Characteristic should be associated with a type|159")); } CRelationCaracteristiqueEntite_ChampCustomServeur relServeur = new CRelationCaracteristiqueEntite_ChampCustomServeur(IdSession); foreach (CRelationCaracteristiqueEntite_ChampCustom rel in CNettoyeurValeursChamps.RelationsChampsNormales(CaracteristiqueEntite)) { CResultAErreur resultTmp = relServeur.VerifieDonnees(rel); if (!resultTmp) { result.Erreur.EmpileErreurs(resultTmp.Erreur); result.SetFalse(); } } return(result); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Error in characteristic data|160")); } return(result); }
/// ///////////////////////////////////////////// public override CResultAErreur VerifieDonnees() { CResultAErreur result = base.VerifieDonnees(); if (!result) { return(result); } Hashtable tableNoms = new Hashtable(); foreach (C2iChampExport champ in this.Champs) { CResultAErreur tempResult = CResultAErreur.True; tempResult = champ.VerifieDonnees(); if (!tempResult) { result.Erreur.EmpileErreurs(tempResult.Erreur); result.SetFalse(); return(result); } if (!tableNoms.ContainsKey(champ.NomChamp)) { tableNoms[champ.NomChamp] = true; } else if (champ.Origine is C2iOrigineChampExportChamp) { if (champ.NomChamp == ((C2iOrigineChampExportChamp)champ.Origine).ChampOrigine.Nom) { champ.NomChamp += " " + NomTable; } else { champ.NomChamp = ((C2iOrigineChampExportChamp)champ.Origine).ChampOrigine.Nom; } if (!tableNoms.ContainsKey(champ.NomChamp)) { tableNoms[champ.NomChamp] = true; } else { result.EmpileErreur(I.T("There is several fields having the same name \"@1\" in the table \"@2\"|114", champ.NomChamp, NomTable)); return(result); } } else { result.EmpileErreur(I.T("There is several fields having the same name \"@1\" in the table \"@2\"|114", champ.NomChamp, NomTable)); return(result); } } return(result); }
////////////////////////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CEntreeAgenda entree = (CEntreeAgenda)objet; if (entree.Libelle == "") { result.EmpileErreur(I.T("Diary entry label cannot be empty|311")); } if (entree.DateDebut > entree.DateFin) { result.EmpileErreur(I.T("Inconsistent date or time values|312")); } CRelationEntreeAgenda_ChampCustomServeur relServeur = new CRelationEntreeAgenda_ChampCustomServeur(IdSession); foreach (CRelationEntreeAgenda_ChampCustom rel in CNettoyeurValeursChamps.RelationsChampsNormales(entree)) { CResultAErreur resultTmp = relServeur.VerifieDonnees(rel); if (!resultTmp) { result.Erreur.EmpileErreurs(resultTmp.Erreur); result.SetFalse(); } } Hashtable m_tableRelationsToElements = new Hashtable(); foreach (CRelationEntreeAgenda_ElementAAgenda relElement in entree.RelationsElementsAgenda) { m_tableRelationsToElements[relElement.RelationTypeEntree_TypeElement.Id] = true; } foreach (CRelationTypeEntreeAgenda_TypeElementAAgenda relType in entree.TypeEntree.RelationsTypeElementsAAgenda) { if (relType.Obligatoire && m_tableRelationsToElements[relType.Id] == null) { result.EmpileErreur(I.T("Associated element @1 must be defined|313", relType.Libelle)); } } return(result); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Diary netry data error|310")); } return(result); }
////////////////////////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CDossierSuivi DossierSuivi = (CDossierSuivi)objet; if (DossierSuivi.Libelle == "") { result.EmpileErreur(I.T("Workbook label should not be empty|306")); } if (DossierSuivi.TypeDossier == null) { result.EmpileErreur(I.T("The Worbook Type connot be null|307")); } else if (DossierSuivi.ElementSuivi != null && DossierSuivi.TypeDossier.TypeSuivi != null && !DossierSuivi.ElementSuivi.GetType().Equals(DossierSuivi.TypeDossier.TypeSuivi)) { result.EmpileErreur(I.T("Workbook linked element is not of the expected type (@1)|308", DynamicClassAttribute.GetNomConvivial(DossierSuivi.TypeDossier.TypeSuivi))); } CRelationDossierSuivi_ChampCustomServeur relServeur = new CRelationDossierSuivi_ChampCustomServeur(IdSession); foreach (CRelationDossierSuivi_ChampCustom rel in CNettoyeurValeursChamps.RelationsChampsNormales(DossierSuivi)) { CResultAErreur resultTmp = relServeur.VerifieDonnees(rel); if (!resultTmp) { result.Erreur.EmpileErreurs(resultTmp.Erreur); result.SetFalse(); } } Hashtable m_tableRelationsToElements = new Hashtable(); foreach (CRelationDossierSuivi_Element relElement in DossierSuivi.RelationsElements) { m_tableRelationsToElements[relElement.RelationParametre_TypeElement.Id] = true; } return(result); } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); result.EmpileErreur(I.T("Workbook data error|309")); } return(result); }
/// ///////////////////////////////////////////// public virtual CResultAErreur VerifieDonnees() { CResultAErreur result = CResultAErreur.True; foreach (ITableExport table in this.TablesFilles) { CResultAErreur tempResult = CResultAErreur.True; tempResult = table.VerifieDonnees(); if (!tempResult) { result.Erreur.EmpileErreurs(tempResult.Erreur); result.SetFalse(); return(result); } } return(result); }
public static CResultAErreur VerifieDonnees(IElementAChamps elementAChamps) { IDefinisseurChampCustom[] definisseurs = elementAChamps.DefinisseursDeChamps; C2iExpressionVrai constanteTrue = new C2iExpressionVrai(); string strValTrue = C2iExpressionConstante.GetPseudoCode(constanteTrue); CResultAErreur result = CResultAErreur.True; foreach (IDefinisseurChampCustom definisseur in definisseurs) { foreach (CChampCustom champ in definisseur.TousLesChampsAssocies) { if (champ.DataFormuleValidation.CompareTo(strValTrue) != 0) { result &= champ.VerifieValeur(elementAChamps.GetValeurChamp(champ.Id)); } } } if (result.Erreur.Erreurs.Length > 0) { result.SetFalse(); } return(result); }
//------------------------------------------------------------------------- private CResultAErreur CheckNodesFromListe(TreeNodeCollection nodeCollection, CListeObjetsDonnees liste) { CResultAErreur result = CResultAErreur.True; if (!liste.TypeObjets.IsSubclassOf(typeof(CGroupeStructurant))) { throw new Exception(I.T("The type of the list objects must inherit from CGroupeStructurant.|30078")); } foreach (TreeNode node in nodeCollection) { if (node.Tag is CGroupeStructurant) { CGroupeStructurant groupe = (CGroupeStructurant)node.Tag; if (liste.Contains(groupe)) { if (node.Parent != null) { node.Parent.Expand(); } node.Checked = true; CResultAErreur tempResult = CheckNodesFromListe(node.Nodes, liste); if (!tempResult) { result.Erreur.EmpileErreurs(tempResult.Erreur); result.SetFalse(); return(result); } } else { node.Checked = false; } } } return(result); }
//------------------------------------------------------------------- public override CResultAErreur VerifieDonnees(CObjetDonnee objet) { CResultAErreur result = CResultAErreur.True; try { CActeur acteur = (CActeur)objet; if (acteur.Nom == "") { result.EmpileErreur(I.T("The name of the Member cannot be empty|262")); } CRelationActeur_ChampCustomServeur relServeur = new CRelationActeur_ChampCustomServeur(IdSession); foreach (CRelationActeur_ChampCustom rel in CNettoyeurValeursChamps.RelationsChampsNormales(acteur)) { CResultAErreur resultTmp = relServeur.VerifieDonnees(rel); if (!resultTmp) { result.Erreur.EmpileErreurs(resultTmp.Erreur); result.SetFalse(); } } if (acteur.ActeurParent != null && acteur.ActeurParent.IsChildOf(acteur)) { result.EmpileErreur(I.T("A cyclic member relationship has been detected|134")); } } catch (Exception e) { result.EmpileErreur(new CErreurException(e)); } return(result); }
/// ///////////////////////////////////////////// public CResultAErreur VerifieDonnees() { CResultAErreur result = CResultAErreur.True; Hashtable tableNoms = new Hashtable(); foreach (C2iChampDeRequete champ in this.ListeChamps) { CResultAErreur tempResult = CResultAErreur.True; tempResult = champ.VerifieDonnees(); if (!tempResult) { result.Erreur.EmpileErreurs(tempResult.Erreur); result.SetFalse(); return(result); } if (!tableNoms.ContainsKey(champ.NomChamp)) { tableNoms[champ.NomChamp] = true; } else { result.EmpileErreur(I.T("Several fields have the name \"@1\"|105", champ.NomChamp)); return(result); } } //Vérifie que l'on arrive a créer l'arbre result = CalculeArbre(); if (!result) { return(result); } return(result); }
//------------------------------------------------------------------------------------------------ public static CResultAErreur UpdateTable(CStructureTable structure, IDatabaseConnexion connexion, ArrayList strChampsAutorisesANull) { ArrayList champsCrees = new ArrayList(); CResultAErreur result = CResultAErreur.True; IDataAdapter adapter = connexion.GetSimpleReadAdapter("SELECT * FROM " + structure.NomTableInDb); DataSet ds = new DataSet(); adapter.FillSchema(ds, SchemaType.Mapped); DataTable dt = ds.Tables["TABLE"]; //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #region M.A.J des champs de la table foreach (CInfoChampTable info in structure.Champs) { bool bExists = true; bool bModifiedType = false; bool bModifiedNotNull = false; bool bModifiedLength = false; foreach (DataColumn colonne in dt.Columns) { if (info.NomChamp == colonne.ColumnName) { if (info.IsLongString) { if (colonne.MaxLength < 10000) { bModifiedLength = true; } } else if (colonne.MaxLength != info.Longueur && info.TypeDonnee == typeof(string)) { bModifiedLength = true; } if (colonne.DataType != info.TypeDonnee) { if (info.TypeDonnee != typeof(CDonneeBinaireInRow) && colonne.DataType != typeof(byte[])) { bModifiedType = true; } } if (colonne.AllowDBNull != info.NullAuthorized) { bModifiedNotNull = true; } bExists = true; break; } bExists = false; } if (!bExists) { string strRequeteUpdate = "ALTER TABLE " + structure.NomTableInDb + " ADD " + info.NomChamp + " "; string strType = (new CSQLServeurTypeMappeur()).GetStringDBTypeFromType(info.TypeDonnee); if (info.TypeDonnee == typeof(string)) { if (!info.IsLongString) { strType += "(" + info.Longueur.ToString() + ") "; } else { strType = "NText"; } } strRequeteUpdate += strType; if (!info.NullAuthorized && !strChampsAutorisesANull.Contains(info.NomChamp)) { strRequeteUpdate += " NOT NULL DEFAULT ''"; } result = connexion.RunStatement(strRequeteUpdate); if (!result) { result.EmpileErreur(I.T("Error while fields updating of table @1|131", structure.NomTableInDb)); return(result); } champsCrees.Add(info.NomChamp); } else if (bModifiedType || bModifiedNotNull || bModifiedLength) { if (info.IsIndex) { SupprimeIndex(structure.NomTableInDb, connexion, info.NomChamp); } string strRequeteUpdate = "ALTER TABLE " + structure.NomTableInDb + " ALTER COLUMN " + info.NomChamp + " "; string strType = (new CSQLServeurTypeMappeur()).GetStringDBTypeFromType(info.TypeDonnee); if (info.TypeDonnee == typeof(string)) { if (!info.IsLongString) { strType += "(" + info.Longueur.ToString() + ") "; } else { strType = "NText"; } } strRequeteUpdate += strType; if (!info.NullAuthorized && !strChampsAutorisesANull.Contains(info.NomChamp)) { strRequeteUpdate += " NOT NULL "; } result = connexion.RunStatement(strRequeteUpdate); if (!result) { result.EmpileErreur(I.T("Error while fields updating of table @1|131", structure.NomTableInDb)); return(result); } } if (info.IsIndex) { result = CreateOrUpdateIndex(structure.NomTableInDb, connexion, info.NomChamp); } else { result = SupprimeIndex(structure.NomTableInDb, connexion, info.NomChamp); } } // Suppression d'une colonne de la table foreach (DataColumn colonne in dt.Columns) { bool bExists = false; foreach (CInfoChampTable info in structure.Champs) { if (info.NomChamp == colonne.ColumnName) { bExists = true; break; } } if (!bExists) { CResultAErreur tempResult = CAccessTableCreatorOld.SupprimeDependances(structure.NomTableInDb, colonne.ColumnName, connexion); if (!tempResult) { result.Erreur.EmpileErreurs(tempResult.Erreur); result.SetFalse(); return(result); } tempResult = CAccessTableCreatorOld.SupprimeForeignKeys(structure.NomTableInDb, colonne.ColumnName, connexion); if (!tempResult) { result.Erreur.EmpileErreurs(tempResult.Erreur); result.SetFalse(); return(result); } string strReq = "ALTER TABLE " + structure.NomTableInDb + " DROP COLUMN " + colonne.ColumnName; result = connexion.RunStatement(strReq); if (!result) { result.EmpileErreur(I.T("Error while deleting column @1 of table @2|132", colonne.ColumnName, structure.NomTableInDb)); return(result); } } } #endregion //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ #region M.A.J des contraintes de la table foreach (CInfoRelation rel in structure.RelationsParentes) { foreach (string strChampCree in champsCrees) { foreach (string strChamp in rel.ChampsFille) { if (strChampCree == strChamp) { string strRequeteRelation = GetRequeteRelation(rel); result = connexion.RunStatement(strRequeteRelation); if (!result) { result.EmpileErreur(I.T("Error while creating foreign key of @1 (@2)|127", structure.NomTableInDb, strRequeteRelation)); return(result); } break; } } } if (result) { string strNomTableFilleInDb = CContexteDonnee.GetNomTableInDbForNomTable(rel.TableFille); if (rel.Indexed) { result = CreateOrUpdateIndex(strNomTableFilleInDb, connexion, rel.ChampsFille); } else { result = SupprimeIndex(strNomTableFilleInDb, connexion, rel.ChampsFille); } } if (!result) { return(result); } } #endregion //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ return(result); }