示例#1
0
        //-------------------------------------------------------------------
        private void m_lnkImportMibs_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = I.T("Mib files (*.mib)|*.mib|All files (*.*)|*.*|20255");
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    StreamReader reader = new StreamReader(dlg.FileName, System.Text.Encoding.Default);
                    CResultAErreurType <IList <IModule> > resultModules = CSnmpMibModule.CompileFile(reader);
                    reader.Close();
                    if (resultModules)
                    {
                        using (CContexteDonnee ctx = CSc2iWin32DataClient.ContexteCourant.GetContexteEdition())
                        {
                            CListeObjetDonneeGenerique <CSnmpMibModule> lstModules = new CListeObjetDonneeGenerique <CSnmpMibModule>(ctx);
                            lstModules.AssureLectureFaite();
                            lstModules.InterditLectureInDB = true;
                            foreach (IModule module in resultModules.DataType)
                            {
                                //Cherche le module dans la liste des modules
                                lstModules.Filtre = new CFiltreData(CSnmpMibModule.c_champModuleId + "=@1",
                                                                    module.Name);
                                if (lstModules.Count == 0)
                                {
                                    CSnmpMibModule mib = new CSnmpMibModule(ctx);
                                    mib.CreateNewInCurrentContexte();
                                    mib.ModuleId  = module.Name;
                                    mib.ModuleMib = module;
                                    mib.Libelle   = module.Name;
                                }
                            }
                            CResultAErreur result = ctx.CommitEdit();
                            if (!result)
                            {
                                CFormAfficheErreur.Show(result.Erreur);
                            }
                            else
                            {
                                m_panelListe.RemplirGrille();
                            }
                        }
                    }
                    else
                    {
                        CFormAfficheErreur.Show(resultModules.Erreur);
                    }
                }
                catch (Exception ex)
                {
                    CResultAErreur result = CResultAErreur.True;
                    result.EmpileErreur(new CErreurException(ex));
                    CFormAfficheErreur.Show(result.Erreur);
                }
            }
        }
示例#2
0
        //-------------------------------------------------------------------------
        private void m_lnkLoadModule_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
        {
            OpenFileDialog dlg = new OpenFileDialog();

            dlg.Filter = I.T("Mib files (*.mib)|*.mib|All files (*.*)|*.*|20255");
            if (dlg.ShowDialog() == DialogResult.OK)
            {
                try
                {
                    StreamReader reader = new StreamReader(dlg.FileName, System.Text.Encoding.Default);
                    CResultAErreurType <IList <IModule> > resultModules = CSnmpMibModule.CompileFile(reader);
                    reader.Close();
                    if (resultModules)
                    {
                        IModule module = null;
                        if (m_txtModuleId.Text == "" && resultModules.DataType.Count > 0)
                        {
                            module = resultModules.DataType[0];
                        }
                        else
                        {
                            module = resultModules.DataType.FirstOrDefault(m => m.Name.ToUpper() == m_txtModuleId.Text.ToUpper());
                        }
                        if (module == null)
                        {
                            MessageBox.Show(I.T("Module '@1' can not be found in file @2|20259",
                                                m_txtModuleId.Text, dlg.FileName));
                            return;
                        }
                        if (SnmpMib.ModuleMib == null ||
                            MessageBox.Show(
                                I.T("Current module will be replaced with the mib module from @1. Are you sure ?|20260", dlg.FileName),
                                "",
                                MessageBoxButtons.YesNo,
                                MessageBoxIcon.Question) == DialogResult.Yes)
                        {
                            SnmpMib.ModuleMib = module;
                            UpdateVueMib();
                        }
                    }
                }
                catch (Exception ex)
                {
                    CResultAErreur result = CResultAErreur.True;
                    result.EmpileErreur(new CErreurException(ex));
                    CFormAfficheErreur.Show(result.Erreur);
                }
            }
        }
示例#3
0
        //-------------------------------------------------------------------
        public override CResultAErreur VerifieDonnees(CObjetDonnee objet)
        {
            CResultAErreur result = CResultAErreur.True;

            try
            {
                CSnmpMibModule SnmpMibModule = (CSnmpMibModule)objet;

                if (SnmpMibModule.Libelle == "")
                {
                    result.EmpileErreur(I.T("Mib module label can not be empty|20143"));
                }
                if (!CObjetDonneeAIdNumerique.IsUnique(SnmpMibModule, CSnmpMibModule.c_champModuleId, SnmpMibModule.ModuleId))
                {
                    result.EmpileErreur(I.T("Mib module '@1' already exist|20144", SnmpMibModule.ModuleId));
                }
            }
            catch (Exception e)
            {
                result.EmpileErreur(new CErreurException(e));
            }
            return(result);
        }
示例#4
0
 //-------------------------------------------------------------------------
 public CFormEditionSnmpMib(CSnmpMibModule SnmpMib, CListeObjetsDonnees liste)
     : base(SnmpMib, liste)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
 }
示例#5
0
 //-------------------------------------------------------------------------
 public CFormEditionSnmpMib(CSnmpMibModule SnmpMib)
     : base(SnmpMib)
 {
     // Cet appel est requis par le Concepteur Windows Form.
     InitializeComponent();
 }