/////////////////////////////////////////////////////////////// protected override CResultAErreur MyFillFromElementDeGraphe(CElementDeArbreOperationnel element) { CResultAErreur result = CResultAErreur.True; CElementDeArbreOperationnelEntite eltComposant = element as CElementDeArbreOperationnelEntite; if (eltComposant == null) { result.EmpileErreur(I.T("Bad element type|20030")); return(result); } CComposantDeGrapheReseau composant = eltComposant.Composant; IElementDeSchemaReseau eltAssocie = composant.GetElementAssocie(ContexteDonnee); ElementAssocie = null; if (eltAssocie is CSite) { ElementAssocie = CSpvSite.GetObjetSpvFromObjetTimosAvecCreation(eltAssocie as CSite); } else if (eltAssocie is CEquipementLogique) { ElementAssocie = CSpvEquip.GetObjetSpvFromObjetTimosAvecCreation(eltAssocie as CEquipementLogique); } else if (eltAssocie is CLienReseau) { ElementAssocie = CSpvLiai.GetObjetSpvFromObjetTimosAvecCreation(eltAssocie as CLienReseau); } if (ElementAssocie == null) { result.EmpileErreur(I.T("Can not associate element to Graph component|20031")); return(result); } return(result); }
//----------------------------------------------------------------- public override void CopyFromObjetTimos(CSchemaReseau objetTimos) { Libelle = objetTimos.Libelle; if (objetTimos.LienReseau != null) { LienRepresente = CSpvLiai.GetObjetSpvFromObjetTimosAvecCreation(objetTimos.LienReseau); } else { LienRepresente = null; } }
public bool FormatMessAccesAlarme(CSpvLienAccesAlarme spvLienAccesAlarme, DataRowState rowState) { Int32 nIdTypeCARTE_GTR = 0, nIdTypeIP2PORT = 0, nIdTypeGSITE = 0; string strCategorieObjet = ""; Int32 nIdObjet = 0; bool bEquipToSurv = false; string strCodeSaisie; string strAddrIP; if (rowState == DataRowState.Added) { strCodeSaisie = "C"; } else if (rowState == DataRowState.Modified) { strCodeSaisie = "M"; } else if (rowState == DataRowState.Deleted) { strCodeSaisie = "S"; } else { throw new Exception(I.T("DataRowState not provided for this function|50010")); } CSpvTypeq spvTypeq = new CSpvTypeq(ContexteDonnee); if (spvTypeq.ReadIfExists(new CFiltreData(CSpvTypeq.c_champTYPEQ_NOM + "=@1", CSpvTypeq.c_CARTE_GTR))) { nIdTypeCARTE_GTR = spvTypeq.Id; } if (spvTypeq.ReadIfExists(new CFiltreData(CSpvTypeq.c_champTYPEQ_NOM + "=@1", CSpvTypeq.c_GSITE))) { nIdTypeGSITE = spvTypeq.Id; } if (spvTypeq.ReadIfExists(new CFiltreData(CSpvTypeq.c_champTYPEQ_NOM + "=@1", CSpvTypeq.c_IP2PORT))) { nIdTypeIP2PORT = spvTypeq.Id; } CSpvAccesAlarme accesOne, accesTwo; accesOne = spvLienAccesAlarme.AccesAlarmeOne; accesTwo = spvLienAccesAlarme.AccesAlarmeTwo; CSpvEquip spvEqt = spvLienAccesAlarme.SpvEquip; CSpvSite spvSite = spvLienAccesAlarme.SpvSite; CSpvLiai spvLiai = spvLienAccesAlarme.SpvLiai; if (rowState == DataRowState.Deleted) { if (accesOne.Row.RowState == DataRowState.Deleted) { accesOne.VersionToReturn = DataRowVersion.Original; } if (accesTwo.Row.RowState == DataRowState.Deleted) { accesTwo.VersionToReturn = DataRowVersion.Original; } if (spvEqt != null && spvEqt.Row.RowState == DataRowState.Deleted) { spvEqt.VersionToReturn = DataRowVersion.Original; } if (spvSite != null && spvSite.Row.RowState == DataRowState.Deleted) { spvSite.VersionToReturn = DataRowVersion.Original; } if (spvLiai != null && spvLiai.Row.RowState == DataRowState.Deleted) { spvLiai.VersionToReturn = DataRowVersion.Original; } } if (accesOne == spvLienAccesAlarme.SpvAccesAlarmeSysteme0()) { // Dans ce cas, seul le cas GSITE nous intéresse CSpvEquip spvEquip = new CSpvEquip(ContexteDonnee); if (spvEquip.ReadIfExists(new CFiltreData(CSpvEquip.c_champEQUIP_ID + "=@1", spvLienAccesAlarme.BindingId))) { if (spvEquip.TypeEquipement.Id != nIdTypeGSITE) { return(false); } else { bEquipToSurv = spvEquip.ASuperviser; } } } else { if (spvSite != null) { strCategorieObjet = c_SITE; nIdObjet = spvSite.Id; bEquipToSurv = true; } else if (spvLiai != null) { strCategorieObjet = c_LIAISON; nIdObjet = spvLiai.Id; bEquipToSurv = true; } else if (spvEqt != null) { strCategorieObjet = c_EQUIP; nIdObjet = spvEqt.Id; bEquipToSurv = spvEqt.ASuperviser; strAddrIP = spvEqt.AdresseIP; } else { throw new Exception(I.T("Father object not filled|50009")); } } if (!bEquipToSurv) { return(false); } string strMess = ""; if (accesOne == spvLienAccesAlarme.SpvAccesAlarmeSysteme0()) { // Concerne un accès alarme GSITE if (rowState == DataRowState.Deleted) { strMess = string.Format("#9#7#5#S#{0}#{1}#", spvLienAccesAlarme.BindingId, spvEqt.CommentairePourSituer); } else { strMess = string.Format("#9#11#5#{0}#{1}#{2}#{3}#{4}#{5}#{6}#", strCodeSaisie, spvLienAccesAlarme.BindingId, spvEqt.CommentairePourSituer, spvLienAccesAlarme.DureeMin, spvLienAccesAlarme.FreqNb, spvLienAccesAlarme.FreqPeriod, System.Convert.ToInt32(spvLienAccesAlarme.Surveiller)); } } else if (accesTwo == spvLienAccesAlarme.SpvAccesAlarmeSysteme0()) { // Concerne un accès alarme TRAP if (rowState == DataRowState.Deleted) { strMess = string.Format("#9#8#5#S#{0}#{1}#{2}#", spvEqt.AdresseIP, spvEqt.Id, accesOne.TrapIdent); } else { strMess = string.Format("#9#12#4#{0}#{1}#{2}#{3}#{4}#{5}#{6}#{7}#", strCodeSaisie, spvEqt.AdresseIP, spvEqt.Id, accesOne.TrapIdent, spvLienAccesAlarme.DureeMin, spvLienAccesAlarme.FreqNb, spvLienAccesAlarme.FreqPeriod, System.Convert.ToInt32(spvLienAccesAlarme.Surveiller)); } } else if (accesTwo != null && accesTwo != spvLienAccesAlarme.SpvAccesAlarmeSysteme0()) { // Concerne un accès alarme de type boucle // La donnée "A surveiller" a-t-elle changée bool bSurveillanceChangee = (rowState == DataRowState.Added && spvLienAccesAlarme.Surveiller) || (rowState == DataRowState.Modified && (bool)spvLienAccesAlarme.Row[CSpvLienAccesAlarme.c_champALARMGEREE_TOSURV, DataRowVersion.Original] != spvLienAccesAlarme.Surveiller); if (accesTwo.SpvEquip.TypeEquipement.Id == nIdTypeCARTE_GTR) { // Le nom de l'équipement de collecte est de la forme // IS xx/GTR yy string strNomEquipCollecte = accesTwo.SpvEquip.CommentairePourSituer; if (rowState == DataRowState.Deleted) { strMess = string.Format("#9#9#2#S#{0}#{1}#{2}#{3}#", strCategorieObjet, nIdObjet, strNomEquipCollecte.Substring(3, 2), ((Convert.ToInt32(strNomEquipCollecte.Substring(10, 2)) - 1) * 48) + Convert.ToInt32(accesTwo.NomAcces)); } else if (bSurveillanceChangee) { strMess = string.Format("#9#10#2#{0}#{1}#{2}#{3}#{4}#{5}#", strCodeSaisie, strCategorieObjet, nIdObjet, strNomEquipCollecte.Substring(3, 2), ((Convert.ToInt32(strNomEquipCollecte.Substring(10, 2)) - 1) * 48) + Convert.ToInt32(accesTwo.NomAcces), System.Convert.ToInt32(spvLienAccesAlarme.Surveiller)); } } else { // IP2PORT ou IP2CHOICE ou autre EDC boucle de type IP (ex: NEC) if (rowState == DataRowState.Deleted) { strMess = string.Format("#9#10#3#S#{0}#{1}#{2}#{3}#{4}#", strCategorieObjet, nIdObjet, accesTwo.SpvEquip.AdresseIP, accesTwo.SpvEquip.Id, accesTwo.NomAcces); } else { strMess = string.Format("#9#14#3#{0}#{1}#{2}#{3}#{4}#{5}#{6}#{7}#{8}#{9}#", strCodeSaisie, strCategorieObjet, nIdObjet, accesTwo.SpvEquip.AdresseIP, accesTwo.SpvEquip.Id, accesTwo.NomAcces, spvLienAccesAlarme.DureeMin, spvLienAccesAlarme.FreqNb, spvLienAccesAlarme.FreqPeriod, System.Convert.ToInt32(spvLienAccesAlarme.Surveiller)); } } } Message = strMess; return(true); }