public override CResultAErreur BeforeSave(CContexteSauvegardeObjetsDonnees contexte, IDataAdapter adapter, DataRowState etatsAPrendreEnCompte) { CResultAErreur result = base.BeforeSave(contexte, adapter, etatsAPrendreEnCompte); if (!result) { return(result); } DataTable table = contexte.ContexteDonnee.Tables[GetNomTable()]; if (table == null) { return(result); } ArrayList lstRows = new System.Collections.ArrayList(table.Rows); foreach (DataRow row in lstRows) { if (row.RowState == DataRowState.Added) { // Recherche du BindingId lorsqu'il est négatif CSpvLienAccesAlarme spvLienAccesAlarme = new CSpvLienAccesAlarme(row); int?nLienId = spvLienAccesAlarme.BindingId; if (nLienId < 0) // il faut le trouver { if (spvLienAccesAlarme.AccesAlarmeOne.SpvEquip != null) { spvLienAccesAlarme.BindingId = spvLienAccesAlarme.AccesAlarmeOne.SpvEquip.Id; } else if (spvLienAccesAlarme.AccesAlarmeOne.SpvSite != null) { spvLienAccesAlarme.BindingId = spvLienAccesAlarme.AccesAlarmeOne.SpvSite.Id; } else if (spvLienAccesAlarme.AccesAlarmeOne.SpvLiai != null) { spvLienAccesAlarme.BindingId = spvLienAccesAlarme.AccesAlarmeOne.SpvLiai.Id; } else { spvLienAccesAlarme.BindingId = null; // pas normal } } if (spvLienAccesAlarme.AccesAlarmeOne != spvLienAccesAlarme.SpvAccesAlarmeSysteme0()) { // Création du message pour EmessEM CSpvMessem spvMessem = new CSpvMessem(contexte.ContexteDonnee); spvMessem.CreateNewInCurrentContexte(); if (!spvMessem.FormatMessAccesAlarme(spvLienAccesAlarme, row.RowState)) { spvMessem.CancelCreate(); } } } } 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 lstRows = new System.Collections.ArrayList(table.Rows); foreach (DataRow row in lstRows) { if (row.RowState == DataRowState.Modified) { CSpvTypeq spvTypeq = new CSpvTypeq(row); if ((string)row[CSpvTypeq.c_champTYPEQ_NOM, DataRowVersion.Original] != spvTypeq.Libelle) { foreach (CSpvEquip spvEquip in spvTypeq.Equipements) { spvEquip.LibelleTypeEquipement = spvTypeq.Libelle; } } if ((bool)row[CSpvTypeq.c_champTYPEQ_TOSURV, DataRowVersion.Original] != spvTypeq.ASurveiller) { CSpvMessem spvMessem = new CSpvMessem(contexte); spvMessem.CreateNewInCurrentContexte(); spvMessem.FormatMessModTypeq(spvTypeq.Id, spvTypeq.ASurveiller); } } else if (row.RowState == DataRowState.Deleted) { Int32 nId = (Int32)row[CSpvTypeq.c_champTYPEQ_ID, DataRowVersion.Original]; if (nId == CSpvTypeq.c_TypeEquipMediationId) { result.EmpileErreur(I.T("EQUIP MEDIATION is a system equipment type, we cannot erase it|50018")); } else { CSpvMessem spvMessem = new CSpvMessem(contexte); spvMessem.CreateNewInCurrentContexte(); spvMessem.FormatMessDelTypeq(nId); } } } return(result); }
/////////////////////////////////////////////////////////////// public override CResultAErreur VerifieDonnees ( CObjetDonnee objet ) { CResultAErreur result = CResultAErreur.True; try { //TODO : Insérer la logique de vérification de donnée CSpvMessem spvMessem = objet as CSpvMessem; if (spvMessem.Message == null || spvMessem.Message.Length == 0 || spvMessem.Message == "") result.EmpileErreur(I.T("Message for EmessEM could not be Empty|50021")); } catch ( Exception e ) { result.EmpileErreur( new CErreurException ( e ) ); } return result; }
public override CResultAErreur TraitementApresSauvegarde(CContexteDonnee contexte, bool bOperationReussie) { CResultAErreur result = base.TraitementApresSauvegarde(contexte, bOperationReussie); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } List <DataRow> lstCrees = (List <DataRow>)table.ExtendedProperties[CDivers.c_cleRowCrees]; if (lstCrees == null) { return(result); } foreach (DataRow row in lstCrees) { CSpvEquip spvEquip = new CSpvEquip(row); if (spvEquip.ASuperviser) { // Création du message dans MessEm CSpvMessem spvMessem = new CSpvMessem(spvEquip.ContexteDonnee); spvMessem.CreateNewInCurrentContexte(); spvMessem.FormatMessCreEquip(spvEquip.Id); } } return(result); }
public override CResultAErreur TraitementApresSauvegarde(CContexteDonnee contexte, bool bOperationReussie) { CResultAErreur result = base.TraitementApresSauvegarde(contexte, bOperationReussie); if (!result) { return(result); } DataTable table = contexte.Tables[GetNomTable()]; if (table == null) { return(result); } List <DataRow> lstCrees = (List <DataRow>)table.ExtendedProperties[CDivers.c_cleRowCrees]; if (lstCrees == null) { return(result); } foreach (DataRow row in lstCrees) { CSpvSite spvSite = new CSpvSite(row); using (CContexteDonnee newContexte = new CContexteDonnee(IdSession, true, false)) { CSpvMessem messEM = new CSpvMessem(newContexte); messEM.CreateNewInCurrentContexte(); messEM.FormatMessCreSite(spvSite.Id); result = newContexte.SaveAll(true); } } return(result); }
//////////////////////////////////////////////////////////////////// public static void PropagerCEquipement(CContexteDonnee contexte, Hashtable tableData, ref CResultAErreur result) { // Traitement CEquipementLogique DataTable dt = contexte.Tables[CEquipementLogique.c_nomTable]; if (dt != null) { ArrayList rows = new ArrayList(dt.Rows); CSpvEquip spvEquip; foreach (DataRow row in rows) { if (row.RowState != DataRowState.Unchanged) { switch (row.RowState) { case DataRowState.Added: case DataRowState.Modified: spvEquip = CSpvEquipServeur.GetSpvEquip(row); if (spvEquip == null) { continue; } break; default: break; } } } //foreach (DataRow row in rows) } // if (dt != null) // Traitement CSpvEquip DataTable table = contexte.Tables[CSpvEquip.c_nomTable]; if (table == null) { return; } List <DataRow> lstCrees = (List <DataRow>)table.ExtendedProperties[CDivers.c_cleRowCrees]; if (lstCrees != null) { table.ExtendedProperties.Clear(); } lstCrees = new List <DataRow>(); ArrayList lstRows = new System.Collections.ArrayList(table.Rows); foreach (DataRow row in lstRows) { // Stockage temporaire des enregistrements dans une liste // pour traitement dans AfterSave (messages pour // EmessEM). Car à ce niveau, on ne dispose pas de l'ID de l'équipement CSpvEquip spvEquip; if (row.RowState == DataRowState.Added) { spvEquip = new CSpvEquip(row); if (spvEquip.ASuperviser) { lstCrees.Add(row); } spvEquip.TraitementMetier(row.RowState); } else if (row.RowState == DataRowState.Modified) { spvEquip = new CSpvEquip(row); spvEquip.TraitementMetier(row.RowState); if (((bool)spvEquip.Row[CSpvEquip.c_champEQUIP_TOSURV, DataRowVersion.Original] == true && !spvEquip.ASuperviser) || ( (bool)spvEquip.Row[CSpvEquip.c_champEQUIP_TOSURV, DataRowVersion.Original] == true && spvEquip.ASuperviser && ( spvEquip.Row[CSpvEquip.c_champEQUIP_ADDRIP, DataRowVersion.Original] != spvEquip.Row[CSpvEquip.c_champEQUIP_ADDRIP] || ( spvEquip.Row[CSpvEquip.c_champEQUIP_EMNAME, DataRowVersion.Original] != spvEquip.Row[CSpvEquip.c_champEQUIP_EMNAME])))) { // Message pour EmessEM CSpvMessem spvMessem = new CSpvMessem(spvEquip.ContexteDonnee); spvMessem.CreateNewInCurrentContexte(); spvMessem.FormatMessDelEquip(spvEquip.Id, (string)spvEquip.Row[CSpvEquip.c_champEQUIP_ADDRIP, DataRowVersion.Original], (string)spvEquip.Row[CSpvEquip.c_champEQUIP_EMNAME, DataRowVersion.Original], spvEquip.ASuperviser); } if (((bool)spvEquip.Row[CSpvEquip.c_champEQUIP_TOSURV, DataRowVersion.Original] == false && spvEquip.ASuperviser) || ( (bool)spvEquip.Row[CSpvEquip.c_champEQUIP_TOSURV, DataRowVersion.Original] == true && spvEquip.ASuperviser && ( spvEquip.Row[CSpvEquip.c_champEQUIP_ADDRIP, DataRowVersion.Original] != spvEquip.Row[CSpvEquip.c_champEQUIP_ADDRIP] || ( spvEquip.Row[CSpvEquip.c_champEQUIP_EMNAME, DataRowVersion.Original] != spvEquip.Row[CSpvEquip.c_champEQUIP_EMNAME])))) { // Message pour EmessEM CSpvMessem spvMessem = new CSpvMessem(spvEquip.ContexteDonnee); spvMessem.CreateNewInCurrentContexte(); spvMessem.FormatMessCreEquip(spvEquip.Id); } } else if (row.RowState == DataRowState.Deleted) { spvEquip = new CSpvEquip(row); if ((bool)spvEquip.Row[CSpvEquip.c_champEQUIP_TOSURV, DataRowVersion.Original] == true) { // Message pour EmessEM CSpvMessem spvMessem = new CSpvMessem(spvEquip.ContexteDonnee); spvMessem.CreateNewInCurrentContexte(); spvMessem.FormatMessDelEquip( (Int32)spvEquip.Row[CSpvEquip.c_champEQUIP_ID, DataRowVersion.Original], (string)spvEquip.Row[CSpvEquip.c_champEQUIP_ADDRIP, DataRowVersion.Original], (string)spvEquip.Row[CSpvEquip.c_champEQUIP_EMNAME, DataRowVersion.Original], (bool)spvEquip.Row[CSpvEquip.c_champEQUIP_TOSURV, DataRowVersion.Original]); } if ((string)spvEquip.Row[CSpvEquip.c_champTYPEQ_NOM, DataRowVersion.Original] == CSpvTypeq.c_strTypeEquipMediation) { spvEquip.SuppressionTestEM( (string)spvEquip.Row[CSpvEquip.c_champSITE_EQUIP_COMMENT, DataRowVersion.Original], (string)spvEquip.Row[CSpvEquip.c_champEQUIP_INDEXSNMP, DataRowVersion.Original]); CSpvTestem testEM = new CSpvTestem(spvEquip.ContexteDonnee); } } } table.ExtendedProperties.Add(CDivers.c_cleRowCrees, lstCrees); }
/* public override IDataAdapter GetDataAdapter(DataRowState rowsPriseEnCharge, params string[] champsExclus) * { * IDataAdapter adapter = base.GetDataAdapter(rowsPriseEnCharge, champsExclus); * C2iOracleDataAdapter oracleAdapter = adapter as C2iOracleDataAdapter; * if (oracleAdapter != null) * { * oracleAdapter.RowUpdated += new OracleRowUpdatedEventHandler(OnRowUpdated); * } * return oracleAdapter; * } * * void OnRowUpdated(object sender, OracleRowUpdatedEventArgs e) * { * if (e.StatementType == StatementType.Insert) * { * CSpvLienAccesAlarme accesAccesc = new CSpvLienAccesAlarme(e.Row); * OracleCommand cmd = e.Command.Connection.CreateCommand(); * cmd.Transaction = e.Command.Transaction; * if (accesAccesc.Surveiller == false && accesAccesc.SpvAlarmgeree != null) * { * cmd.CommandText = "Begin SetMaskAdmAccess (" + * accesAccesc.Id + ",2); end;"; * cmd.ExecuteScalar(); * } * } * }*/ 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); } try { ArrayList lstRows = new System.Collections.ArrayList(table.Rows); foreach (DataRow row in lstRows) { if (row.RowState == DataRowState.Modified) { Int32 acces1OriginalId = (Int32)row[CSpvLienAccesAlarme.c_champACCES1_ID, DataRowVersion.Original]; Int32 acces1CurrentId = (Int32)row[CSpvLienAccesAlarme.c_champACCES1_ID, DataRowVersion.Current]; Int32 acces2OriginalId = (Int32)row[CSpvLienAccesAlarme.c_champACCES2_ID, DataRowVersion.Original]; Int32 acces2CurrentId = (Int32)row[CSpvLienAccesAlarme.c_champACCES2_ID, DataRowVersion.Current]; if (acces1OriginalId != acces1CurrentId) { CSpvAccesAlarme acces1Original = new CSpvAccesAlarme(contexte); if (acces1Original.ReadIfExists(acces1OriginalId)) { acces1Original.AccesEtat = acces1Original.AccesEtat & 0xE; } } if (acces2OriginalId != acces2CurrentId) { CSpvAccesAlarme acces2Original = new CSpvAccesAlarme(contexte); if (acces2Original.ReadIfExists(acces2OriginalId)) { acces2Original.AccesEtat = acces2Original.AccesEtat & 0xE; } } // Mise à jour de la redondance de gravité dans l'enregistrement xxx_Rep. CSpvLienAccesAlarme spvLienAccesAlarme = new CSpvLienAccesAlarme(row); foreach (CSpvLienAccesAlarme_Rep spvLienAccesAlarmeRep in spvLienAccesAlarme.Acces_Accesc_Rep) { spvLienAccesAlarmeRep.CodeAlarmGrave = spvLienAccesAlarme.CodeGravite; } // Création du message à destination des IS lorsque la tempo // de l'accès est modifiée Int32?nOldDuree = (Int32?)row[CSpvLienAccesAlarme.c_champALARMGEREE_MIN, DataRowVersion.Original]; Int32?nNewDuree = spvLienAccesAlarme.DureeMin; if (nOldDuree != null && nNewDuree != null && nOldDuree != nNewDuree && spvLienAccesAlarme.AccesAlarmeTwo.SpvEquip != null && spvLienAccesAlarme.AccesAlarmeTwo.SpvEquip.TypeEquipement.Id == CSpvTypeq.c_TypeCarteGTRId) { CSpvMessalrm spvMessAlrm = new CSpvMessalrm(contexte); spvMessAlrm.CreateNewInCurrentContexte(); spvMessAlrm.MessageModifTempoPourSaturneIS( spvLienAccesAlarme.AccesAlarmeTwo.SpvEquip.CommentairePourSituer, spvLienAccesAlarme.AccesAlarmeTwo.NomAcces); } } if (row.RowState == DataRowState.Added || row.RowState == DataRowState.Modified) { CSpvLienAccesAlarme spvLienAccesAlarme = new CSpvLienAccesAlarme(row); CSpvAccesAlarme acces1 = new CSpvAccesAlarme(contexte); CSpvAccesAlarme acces2 = new CSpvAccesAlarme(contexte); if (acces1.ReadIfExists(spvLienAccesAlarme.AccesAlarmeOne.Id)) { acces1.AccesEtat = acces1.AccesEtat | 1; } if (acces2.ReadIfExists(spvLienAccesAlarme.AccesAlarmeTwo.Id)) { acces2.AccesEtat = acces2.AccesEtat | 1; } if (row.RowState == DataRowState.Added) { /* * if (acces1.ReadIfExists(spvAccesAccesc.AccesAlarmeOne.Id)) * spvAccesAccesc.SpvAlarmgeree = acces1.AlarmeGeree();*/ /* Sans doute ajouté pour le cas particulier des équipements de médiation * à revoir car perturbe tous les autres cas * if (spvLienAccesAlarme.AccesAlarmeOne != spvLienAccesAlarme.SpvAccesAlarmeSysteme0()) * { * spvLienAccesAlarme.SpvAlarmgeree = spvLienAccesAlarme.AccesAlarmeOne.AlarmeGeree(); * spvLienAccesAlarme.BindingId = -3; // Rechercher l'ID dans le before save * }*/ CSpvLienAccesAlarme_Rep lienTest = new CSpvLienAccesAlarme_Rep(contexte); if (!lienTest.ReadIfExists(spvLienAccesAlarme.Id)) { CSpvLienAccesAlarme_Rep spvLienAccesAlarmeRep = new CSpvLienAccesAlarme_Rep(contexte); if (!spvLienAccesAlarmeRep.ReadIfExists(spvLienAccesAlarme.Id)) { spvLienAccesAlarmeRep.LienAccesAlarmes = spvLienAccesAlarme; spvLienAccesAlarmeRep.CodeAlarmGrave = spvLienAccesAlarme.CodeGravite; spvLienAccesAlarmeRep.CreateNewInCurrentContexte(new object[] { spvLienAccesAlarme.Id }); if (spvLienAccesAlarme.SpvEquip != null && spvLienAccesAlarme.SpvEquip.TypeEquipement.Id == CSpvTypeq.c_TypeEquipMediationId) { // Ne pas revalider la propriété AlarmCategory sur CSpvLienAccesAlarme_Rep // elle pose problème avec la contrainte check lorsque le framework // la remplit automatiquement avec espace lorsqu'elle est null. spvLienAccesAlarmeRep.Row[CSpvLienAccesAlarme_Rep.c_champALARM_CL] = CSpvEvenementReseau.c_strClasseSYST; int nAlarmNumObj = Convert.ToInt32(spvLienAccesAlarme.SpvEquip.IndexSnmp); spvLienAccesAlarmeRep.AlarmNumObj = nAlarmNumObj; spvLienAccesAlarmeRep.AlarmNumAl = spvLienAccesAlarme.SpvEquip.CommentairePourSituer; //Vérifier que les alarmes système fonctionnent sans la mise à jour //ci-dessous //spvLienAccesAlarmeRep.EQUIP_ID = spvLienAccesAlarme.SpvEquip.Id; } } } } else if (row.RowState == DataRowState.Modified) { // Constitution du message pour EmessEM bool bOldASurveiller = (bool)row[CSpvLienAccesAlarme.c_champALARMGEREE_TOSURV, DataRowVersion.Original]; bool bNewASurveiller = spvLienAccesAlarme.Surveiller; Int32?nOldDureeMin = (Int32?)row[CSpvLienAccesAlarme.c_champALARMGEREE_MIN, DataRowVersion.Original]; Int32?nNewDureeMin = spvLienAccesAlarme.DureeMin; Int32?nOldFreqPeriode = (Int32?)row[CSpvLienAccesAlarme.c_champALARMGEREE_FREQD, DataRowVersion.Original]; Int32?nNewFreqPeriode = spvLienAccesAlarme.FreqPeriod; Int32?nOldFreqNb = (Int32?)row[CSpvLienAccesAlarme.c_champALARMGEREE_FREQN, DataRowVersion.Original]; Int32?nNewFreqNb = spvLienAccesAlarme.FreqNb; if (bOldASurveiller != bNewASurveiller || nOldDureeMin != nNewDureeMin || nOldFreqPeriode != nNewFreqPeriode || nOldFreqNb != nNewFreqNb) { CSpvMessem spvMessem = new CSpvMessem(contexte); spvMessem.CreateNewInCurrentContexte(); if (!spvMessem.FormatMessAccesAlarme(spvLienAccesAlarme, row.RowState)) { spvMessem.CancelCreate(); } } } } if (row.RowState == DataRowState.Deleted) { Int32 acces1OriginalId = (Int32)row[CSpvLienAccesAlarme.c_champACCES1_ID, DataRowVersion.Original]; Int32 acces2OriginalId = (Int32)row[CSpvLienAccesAlarme.c_champACCES2_ID, DataRowVersion.Original]; CSpvAccesAlarme acces1Original = new CSpvAccesAlarme(contexte); if (acces1Original.ReadIfExists(acces1OriginalId)) { acces1Original.AccesEtat = acces1Original.AccesEtat & 0xE; } CSpvAccesAlarme acces2Original = new CSpvAccesAlarme(contexte); if (acces2Original.ReadIfExists(acces2OriginalId)) { acces2Original.AccesEtat = acces2Original.AccesEtat & 0xE; } Int32 nMaskBriMin = (Int32)row[CSpvLienAccesAlarme.c_champMSKBRI_MIN, DataRowVersion.Original]; Int32 nMaskAdmMin = (Int32)row[CSpvLienAccesAlarme.c_champMSKADM_MIN, DataRowVersion.Original]; // Construction des messages de démasquage accès alarme if (nMaskBriMin > 0 || nMaskAdmMin > 0) { Int32 nSiteId = -1; if (row[CSpvLienAccesAlarme.c_champSITE_ID, DataRowVersion.Original] != DBNull.Value) { nSiteId = (Int32)row[CSpvLienAccesAlarme.c_champSITE_ID, DataRowVersion.Original]; } Int32 nEquipId = -1; if (row[CSpvLienAccesAlarme.c_champEQUIP_ID, DataRowVersion.Original] != DBNull.Value) { nEquipId = (Int32)row[CSpvLienAccesAlarme.c_champEQUIP_ID, DataRowVersion.Original]; } Int32 nLiaiId = -1; if (row[CSpvLienAccesAlarme.c_champLIAI_ID, DataRowVersion.Original] != DBNull.Value) { nLiaiId = (Int32)row[CSpvLienAccesAlarme.c_champLIAI_ID, DataRowVersion.Original]; } Int32 nAccesAccescId = (Int32)row[CSpvLienAccesAlarme.c_champACCES_ACCESC_ID, DataRowVersion.Original]; CSpvMessalrm spvMessAlrm; if (nMaskBriMin > 0) { spvMessAlrm = new CSpvMessalrm(contexte); spvMessAlrm.CreateNewInCurrentContexte(); spvMessAlrm.MessageMasquageAlarme(" ", 0, nAccesAccescId.ToString(), (int)EEvenementMasquage.FinMasquageBrigadier, nSiteId, nEquipId, nLiaiId, ""); } else { spvMessAlrm = new CSpvMessalrm(contexte); spvMessAlrm.CreateNewInCurrentContexte(); spvMessAlrm.MessageMasquageAlarme(" ", 0, nAccesAccescId.ToString(), (int)EEvenementMasquage.FinMasquageAdministrateur, nSiteId, nEquipId, nLiaiId, ""); } } // Construction des messages à destination de EmessEM CSpvLienAccesAlarme spvLienAccesAlarme = new CSpvLienAccesAlarme(row); spvLienAccesAlarme.VersionToReturn = DataRowVersion.Original; CSpvMessem spvMessem = new CSpvMessem(contexte); spvMessem.CreateNewInCurrentContexte(); if (!spvMessem.FormatMessAccesAlarme(spvLienAccesAlarme, DataRowState.Deleted)) { spvMessem.CancelCreate(); } } } } catch (Exception e) { result.EmpileErreur(e.Message); } 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); } List <DataRow> lstCrees = (List <DataRow>)table.ExtendedProperties[CDivers.c_cleRowCrees]; if (lstCrees != null) { table.ExtendedProperties.Clear(); } lstCrees = new List <DataRow>(); ArrayList lstRows = new System.Collections.ArrayList(table.Rows); foreach (DataRow row in lstRows) { if (row.RowState != DataRowState.Unchanged) { CSpvSite spvSite = new CSpvSite(row); if (row.RowState == DataRowState.Added) { CSpvSite_Rep spvSiteRep = new CSpvSite_Rep(contexte); if (!spvSiteRep.ReadIfExists(spvSite.Id)) { spvSiteRep.CreateNewInCurrentContexte(new object[] { spvSite.Id }); spvSiteRep.CodeEtatOperationnel = (Int32?)EEtatOperationnel.OK; spvSiteRep.SpvSite = spvSite; lstCrees.Add(row); } } else if (row.RowState == DataRowState.Modified) { string oldDomaine = CDivers.DbNullValue(row[CSpvSite.c_champSITE_DOMAINE, DataRowVersion.Original], null); string oldEM = CDivers.DbNullValue(row[CSpvSite.c_champSITE_EMNAME, DataRowVersion.Original], null); string newDomaine = spvSite.DomaineIP; string newEM = spvSite.EmName; if (((oldDomaine == null || oldEM == null) && newDomaine != null && newEM != null) || (oldDomaine != newDomaine || oldEM != newEM) || ((newDomaine == null || newEM == null) && oldDomaine != null && oldEM != null)) { CSpvMessem messEM = new CSpvMessem(contexte); messEM.CreateNewInCurrentContexte(); messEM.FormatMessModSite(spvSite.Id); } } else if (row.RowState == DataRowState.Deleted) { Int32 nId = (Int32)spvSite.Row[CSpvSite.c_champSITE_ID, DataRowVersion.Original]; if (nId == CSpvSite.c_SiteFuturocom) { result.EmpileErreur(I.T("FUTUROCOM site could not be deleted|50017")); } if (result) { CSpvMessem messEM = new CSpvMessem(contexte); messEM.CreateNewInCurrentContexte(); messEM.FormatMessDelSite((Int32)row[CSpvSite.c_champSITE_ID, DataRowVersion.Original]); } } } } table.ExtendedProperties.Add(CDivers.c_cleRowCrees, lstCrees); return(result); }