/// ///////////////////////////////////////////////////////// public void CommitParametresHotelPolling() { List <CSnmpHotelPollingSetup> lstParametres = ParametresHotelPollingList; CContexteDonnee.ChangeRowSansDetectionModification(Row.Row, c_champCacheParametresHotelPolling, DBNull.Value); CDonneeBinaireInRow data = DataParametresHotelPolling; if (lstParametres == null) { data.Donnees = null; } else { MemoryStream stream = new MemoryStream(); try { BinaryWriter writer = new BinaryWriter(stream); CSerializerSaveBinaire ser = new CSerializerSaveBinaire(writer); CResultAErreur result = ser.TraiteListe <CSnmpHotelPollingSetup>(lstParametres); data.Donnees = stream.GetBuffer(); writer.Close(); } catch { data.Donnees = null; } stream.Close(); } DataParametresHotelPolling = data; }
/// ///////////////////////////////////////////////////////// public void CommitFinders() { List <CAgentFinderFromKey> lstFinders = AgentFinderList; CContexteDonnee.ChangeRowSansDetectionModification(Row.Row, c_champCacheAgentFinders, DBNull.Value); CDonneeBinaireInRow data = DataAgentFinders; if (lstFinders == null) { data.Donnees = null; } else { MemoryStream stream = new MemoryStream(); try { BinaryWriter writer = new BinaryWriter(stream); CSerializerSaveBinaire ser = new CSerializerSaveBinaire(writer); CResultAErreur result = ser.TraiteListe <CAgentFinderFromKey>(lstFinders); data.Donnees = stream.GetBuffer(); writer.Close(); } catch { data.Donnees = null; } stream.Close(); } DataAgentFinders = data; }
/// <summary> /// mutualise la récupération des formules /// </summary> /// <param name="strChampCache"></param> /// <param name="data"></param> /// <returns></returns> private C2iExpression GetFormule(string strChampCache, CDonneeBinaireInRow data) { C2iExpression formule = null; if (Row[strChampCache] != DBNull.Value) { return((C2iExpression)Row[strChampCache]); } if (data != null && data.Donnees != null) { Stream stream = new MemoryStream(data.Donnees); try { BinaryReader reader = new BinaryReader(stream); CSerializerReadBinaire ser = new CSerializerReadBinaire(reader); CResultAErreur result = ser.TraiteObject <C2iExpression>(ref formule); if (!result) { formule = null; } else { CContexteDonnee.ChangeRowSansDetectionModification(Row.Row, strChampCache, formule); } reader.Close(); stream.Close(); } catch { } } return(formule); }
/// <summary> /// Mutualise l'affectation des formules /// </summary> /// <param name="strChampCache"></param> /// <param name="data"></param> /// <param name="formule"></param> private void SetFormule(string strChampCache, ref CDonneeBinaireInRow data, C2iExpression formule) { CContexteDonnee.ChangeRowSansDetectionModification(Row.Row, strChampCache, DBNull.Value); if (formule == null) { data.Donnees = null; } else { MemoryStream stream = new MemoryStream(); try { BinaryWriter writer = new BinaryWriter(stream); CSerializerSaveBinaire ser = new CSerializerSaveBinaire(writer); CResultAErreur result = ser.TraiteObject <C2iExpression>(ref formule); data.Donnees = stream.GetBuffer(); writer.Close(); } catch { data.Donnees = null; } stream.Close(); } }
public void CommitListPlages() { List <CPlageIP> listePlages = PlagesIP; CContexteDonnee.ChangeRowSansDetectionModification(Row.Row, c_champCacheListePlages, DBNull.Value); CDonneeBinaireInRow data = DataListePlagesIp; if (listePlages == null) { data.Donnees = null; DataListePlagesIp = data; } else { MemoryStream stream = new MemoryStream(); try { BinaryWriter writer = new BinaryWriter(stream); CSerializerSaveBinaire serializer = new CSerializerSaveBinaire(writer); CResultAErreur result = serializer.TraiteListe <CPlageIP>(listePlages); writer.Close(); if (result) { data.Donnees = stream.GetBuffer(); } } catch { data.Donnees = null; } finally { stream.Close(); } DataListePlagesIp = data; } }
//--------------------------------------------- private void ShowProprietes(CObjetDonneeAIdNumerique objet) { if (objet == null) { m_grilleProprietes.DataSource = null; return; } DataTable table = new DataTable(); m_strColChamp = I.T("Field|120"); m_strColValeurHistorique = I.T("History|121"); m_strColValeurCourante = I.T("Current|122"); DataColumn col = new DataColumn(m_strColChecked, typeof(bool)); col.Caption = ""; table.Columns.Add(col); table.Columns.Add(m_strColChamp); if (m_version.TypeVersion.Code != CTypeVersion.TypeVersion.Previsionnelle) { table.Columns.Add(m_strColValeurHistorique); } table.Columns.Add(m_strColValeurCourante); if (m_version.TypeVersion.Code == CTypeVersion.TypeVersion.Previsionnelle) { m_strColValeurHistorique = I.T("Version|123"); table.Columns.Add(m_strColValeurHistorique); } table.Columns.Add(m_strColObjetHistorique, typeof(IChampPourVersion)); CValeursHistorique valeurs = GetValeursHistorique(objet); m_valeursAffichees = valeurs; m_objetAffiche = objet; CStructureTable structure = CStructureTable.GetStructure(objet.GetType()); foreach (CInfoChampTable champ in structure.Champs) { if (champ.Propriete != "") { DataRow row = table.NewRow(); row[m_strColChecked] = false; row[m_strColChamp] = champ.NomConvivial; row[m_strColObjetHistorique] = DBNull.Value; if (champ.TypeDonnee == typeof(CDonneeBinaireInRow)) { CDonneeBinaireInRow donnee = new CDonneeBinaireInRow(objet.ContexteDonnee.IdSession, objet.Row.Row, champ.NomChamp); row[m_strColValeurCourante] = donnee.Donnees; } else { row[m_strColValeurCourante] = objet.Row[champ.NomChamp]; } CChampPourVersionInDb champVersion = new CChampPourVersionInDb(champ.NomChamp, champ.NomConvivial); if (valeurs.ContainsKey(champVersion)) { row[m_strColObjetHistorique] = champVersion; object val = valeurs[champVersion]; if (val == null) { row[m_strColValeurHistorique] = DBNull.Value; } else { row[m_strColValeurHistorique] = val.ToString(); } } else { row[m_strColValeurHistorique] = objet.Row[champ.NomChamp]; } table.Rows.Add(row); } } //Champs custom if (objet is IElementAChamps) { Dictionary <CChampCustom, bool> lstChamps = new Dictionary <CChampCustom, bool>(); foreach (IDefinisseurChampCustom definisseur in ((IElementAChamps)objet).DefinisseursDeChamps) { foreach (CChampCustom champ in definisseur.TousLesChampsAssocies) { if (champ.TypeDonneeChamp.TypeDonnee != TypeDonnee.tObjetDonneeAIdNumeriqueAuto) { lstChamps[champ] = true; } } } foreach (CChampCustom champCustom in lstChamps.Keys) { DataRow row = table.NewRow(); row[m_strColChecked] = false; row[m_strColChamp] = champCustom.LibelleConvivial; row[m_strColObjetHistorique] = DBNull.Value; row[m_strColValeurCourante] = ((IElementAChamps)objet).GetValeurChamp(champCustom.Id); CChampCustomPourVersion chVersion = new CChampCustomPourVersion(champCustom); if (valeurs.ContainsKey(chVersion)) { row[m_strColObjetHistorique] = chVersion; object val = valeurs[chVersion]; if (val == null) { row[m_strColValeurHistorique] = DBNull.Value; } else { row[m_strColValeurHistorique] = val.ToString(); } } else { row[m_strColValeurHistorique] = row[m_strColValeurCourante]; } table.Rows.Add(row); } } table.DefaultView.Sort = m_strColChamp; m_grilleProprietes.DataSource = table; m_grilleProprietes.ReadOnly = false; m_grilleProprietes.Columns[0].Width = 32; foreach (DataGridViewColumn colTmp in m_grilleProprietes.Columns) { colTmp.ReadOnly = true; } m_grilleProprietes.Columns[0].ReadOnly = false; if (!m_bCanRestore) { m_grilleProprietes.Columns[0].Visible = false; } m_grilleProprietes.Columns[m_grilleProprietes.Columns.Count - 1].Visible = false; }