public static void OnModificationSchemaReseau(CContexteDonnee contexte, Hashtable tableData, ref CResultAErreur result) { DataTable table = contexte.Tables[CElementDeSchemaReseau.c_nomTable]; if (table == null) { return; } //Id de schéma->true si modifié Dictionary <int, bool> dicSchemasModifies = new Dictionary <int, bool>(); foreach (DataRow row in table.Rows) { switch (row.RowState) { case DataRowState.Added: case DataRowState.Modified: if (row[CElementDeSchemaReseau.c_champIdSchemaReseauAuquelJappartiens] != DBNull.Value) { dicSchemasModifies[(int)row[CElementDeSchemaReseau.c_champIdSchemaReseauAuquelJappartiens]] = true; } break; case DataRowState.Deleted: if (row[CElementDeSchemaReseau.c_champIdSchemaReseauAuquelJappartiens, DataRowVersion.Original] != DBNull.Value) { dicSchemasModifies[(int)row[CElementDeSchemaReseau.c_champIdSchemaReseauAuquelJappartiens, DataRowVersion.Original]] = true; } break; } } foreach (int nIdSchema in dicSchemasModifies.Keys) { CSchemaReseau schema = new CSchemaReseau(contexte); if (schema.ReadIfExists(nIdSchema)) { if (schema.LienReseau != null) { if (CSpvLiai.CanSupervise(schema.LienReseau)) { CSpvLiai spvLien = CSpvLiai.GetSpvLiaiFromLienReseauAvecCreation(schema.LienReseau); if (spvLien != null) { result = spvLien.UpdateCablages(); if (result) { spvLien.UpdateSupportants(); } if (!result) { return; } } } } } } return; }
private static CSpvLiai GetSpvLiai(DataRow row) { CSpvLiai spvLiai; CLienReseau lienReseau = new CLienReseau(row); spvLiai = CSpvLiai.GetSpvLiaiFromLienReseau(lienReseau) as CSpvLiai; if (spvLiai == null) { spvLiai = CSpvLiai.GetSpvLiaiFromLienReseauAvecCreation(lienReseau); } // spvLiai.CopyFromLienReseau(lienReseau); spvLiai.CopyFromObjetTimos(lienReseau); return(spvLiai); }
}//MyInitChamps() public override sc2i.common.CResultAErreur MyMajChamps() { CResultAErreur result = base.MyMajChamps(); if (!result) { return(result); } if (LeLienReseau != null && m_spvLiai == null && m_extModeEdition.ModeEdition) { m_spvLiai = CSpvLiai.GetSpvLiaiFromLienReseauAvecCreation(LeLienReseau); } return(result); }