Пример #1
0
        public List <MonitoringType> GetMonitoringTypesForAgent(int agentNr)
        {
            List <MonitoringType> monitoringTypeList = new List <MonitoringType>();

            try
            {
                List <MonitoringTypeDataModel> resultList = _databaseConnection.GetMonitoringTypesForAgentFromDatabase(agentNr);
                foreach (MonitoringTypeDataModel monitoringType in resultList)
                {
                    monitoringTypeList.Add(new MonitoringType(monitoringType.MonitoringTypeNr, monitoringType.Description, monitoringType.ObjectID));
                }
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(monitoringTypeList);
        }
Пример #2
0
        public List <MonitorData> GetHistoryOfOIDForAgent(int agentNr, string ObjectID, int count)
        {
            List <MonitorData> monitoringDataList = new List <MonitorData>();

            try
            {
                List <MonitorDataDataModel> resultList = _databaseConnection.GetHistoryOfOIDForAgent(agentNr, ObjectID, count);
                foreach (MonitorDataDataModel monitoringData in resultList)
                {
                    monitoringDataList.Add(new MonitorData(monitoringData.Timestamp, monitoringData.Result, monitoringData.AgentNr, monitoringData.ObjectID));
                }
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(monitoringDataList);
        }
Пример #3
0
        public List <Event> GetAllEvents()
        {
            List <Event> eventList = new List <Event>();

            try
            {
                List <EventDataModel> resultList = _databaseConnection.GetAllEventsFromDatabase();
                foreach (EventDataModel eventData in resultList)
                {
                    eventList.Add(new Event(eventData.EventNr, eventData.ExceptionType, eventData.Category, eventData.EventTimestamp, eventData.HResult, eventData.Message, eventData.Stacktrace));
                }
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(eventList);
        }
Пример #4
0
        public List <KeyValuePair <Agent, List <MonitoringType> > > GetMonitoringSummary()
        {
            List <KeyValuePair <Agent, List <MonitoringType> > > returnList = new List <KeyValuePair <Agent, List <MonitoringType> > >();

            try
            {
                List <Agent> agentList = GetAgents();
                foreach (Agent agent in agentList)
                {
                    List <MonitoringType> monitoringTypes = GetMonitoringTypesForAgent(agent.AgentNr);
                    returnList.Add(new KeyValuePair <Agent, List <MonitoringType> >(agent, monitoringTypes));
                }
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(returnList);
        }
Пример #5
0
        public Agent GetAgent(int agentNr)
        {
            Agent agent = null;

            try
            {
                List <Type>    typeList  = GetTypes();
                AgentDataModel agentData = _databaseConnection.GetAgentFromDatabase(agentNr);
                Type           type      = null;
                foreach (Type temp in typeList)
                {
                    if (temp.TypeNr == agentData.Type.TypeNr)
                    {
                        type = temp;
                    }
                }
                agent = new Agent(agentData.AgentNr, agentData.Name, agentData.IPAddress, type, agentData.Port, agentData.Status, agentData.SysDescription, agentData.SysName, agentData.SysUptime);
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(agent);
        }
Пример #6
0
        public List <Type> GetTypes()
        {
            List <Type> typeList = new List <Type>();

            try
            {
                List <TypeDataModel> resultList = _databaseConnection.GetTypesFromDatabase();
                foreach (TypeDataModel typeData in resultList)
                {
                    typeList.Add(new Type(typeData.TypeNr, typeData.Name));
                }
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(typeList);
        }
Пример #7
0
 public void DeleteAgent(int agentNr)
 {
     try
     {
         _databaseConnection.DeleteAgentInDatabase(agentNr);
     }
     catch (SqlException e)
     {
         ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
     }
     catch (Exception e)
     {
         ExceptionCore.HandleException(ExceptionCategory.Normal, e);
     }
 }
Пример #8
0
        public void UpdateAgentInDatabase(Agent agent, bool cpuCheck, bool discCheck)
        {
            AgentDataModel agentData = new AgentDataModel(agent.AgentNr, agent.Name, agent.IPAddress, new TypeDataModel(agent.Type.TypeNr, agent.Type.Name), agent.Port, agent.Status, "undefined", "undefined", "undefined");

            try
            {
                _databaseConnection.UpdateAgentInDatabase(agentData, cpuCheck, discCheck);
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
        }
Пример #9
0
        public void AddAgentToDatabase(Agent agent, bool cpuCheck, bool discCheck)
        {
            AgentDataModel agentData = new AgentDataModel(agent.Name, agent.IPAddress, new TypeDataModel(agent.Type.TypeNr, agent.Type.Name), agent.Port);

            try
            {
                _databaseConnection.AddAgentToDatabase(agentData, cpuCheck, discCheck);
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
        }
Пример #10
0
        public static void CustomUpdateDB(IList <ProtocoloDB> prot, int tipo)
        {
            using (var conn = GetConnection())
            {
                try
                {
                    conn.Open();

                    using (var comm = GetCommand())
                    {
                        var sql = CriaSQL(prot[0], tipo);
                        query = sql;

                        comm.Connection  = conn;
                        comm.CommandType = CommandType.Text;

                        if (StaticParametersDB.GetDriver() == "sqlserver")
                        {
                            comm.CommandText = "SET DATEFORMAT dmy";
                            comm.ExecuteNonQuery();
                        }

                        using (var command = SqlCommandWithParameters(prot[0], tipo))
                        {
                            command.Connection = conn;
                            command.ExecuteNonQuery();
                        }
                    }
                }
                catch (Exception ex)
                {
                    ExceptionCore e = new ExceptionCore();
                    e.ExBanco(2, ex.Message, StaticParametersDB.GetDriver(), ex, query);
                }
                finally
                {
                    conn.Close();
                }
            }
        }
Пример #11
0
        public void GetSNMPDataFromAgents()
        {
            try
            {
                DatabaseConnectionManager connection = new DatabaseConnectionManager(_connectionString);
                List <AgentDataModel>     agentList  = connection.GetAgentsFromDatabase();

                Parallel.ForEach(agentList, agent => GetSNMPDataFromSingleAgent(agent));
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
        }
Пример #12
0
        public List <Agent> GetAgents()
        {
            List <Agent> agentList = new List <Agent>();

            try
            {
                List <AgentDataModel> resultList = _databaseConnection.GetAgentsFromDatabase();
                List <Type>           typeList   = GetTypes();

                foreach (AgentDataModel agentData in resultList)
                {
                    Type type = null;
                    foreach (Type temp in typeList)
                    {
                        if (temp.TypeNr == agentData.Type.TypeNr)
                        {
                            type = temp;
                        }
                    }
                    agentList.Add(new Agent(agentData.AgentNr, agentData.Name, agentData.IPAddress, type, agentData.Port, agentData.Status, agentData.SysDescription, agentData.SysName, agentData.SysUptime));
                }
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(agentList);
        }
Пример #13
0
        public KeyValuePair <Agent, List <MonitoringType> > GetMonitorSummaryForAgent(int agentNr)
        {
            KeyValuePair <Agent, List <MonitoringType> > monitorSummary = new KeyValuePair <Agent, List <MonitoringType> >();

            try
            {
                Agent agent = GetAgent(agentNr);
                List <MonitoringType> monitoringTypes = GetMonitoringTypesForAgent(agent.AgentNr);
                monitorSummary = new KeyValuePair <Agent, List <MonitoringType> >(agent, monitoringTypes);
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (InvalidCastException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.High, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
            return(monitorSummary);
        }
Пример #14
0
        private void GetSNMPDataFromSingleAgent(AgentDataModel agent)
        {
            try
            {
                DatabaseConnectionManager connection = new DatabaseConnectionManager(_connectionString);

                OctetString     community = new OctetString("public");
                AgentParameters param     = new AgentParameters(community);
                param.Version = SnmpVersion.Ver2;

                IpAddress agentIpAddress = new IpAddress(agent.IPAddress);
                UdpTarget target         = new UdpTarget((IPAddress)agentIpAddress, agent.Port, 2000, 1);
                try
                {
                    this.WalkThroughOid(target, connection, agent);
                }
                finally
                {
                    target.Close();
                }
            }
            catch (SnmpException e)
            {
                DatabaseConnectionManager connection = new DatabaseConnectionManager(_connectionString);
                connection.UpdateStatusOfAgent(agent.AgentNr, 3);
                ExceptionCore.HandleException(ExceptionCategory.Low, e);
            }
            catch (SqlException e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Fatal, e);
            }
            catch (Exception e)
            {
                ExceptionCore.HandleException(ExceptionCategory.Normal, e);
            }
        }
Пример #15
0
        public static bool UpdateDB(ProtocoloDB prot)
        {
            bool retorno = true;

            using (var conn = GetConnection())
            {
                try
                {
                    conn.Open();

                    using (var comm = GetCommand())
                    {
                        if (prot.nroRec == null || prot.nroRec == "")
                        {
                            var sql = CriaSQL(prot, 1);
                            query            = sql;
                            comm.Connection  = conn;
                            comm.CommandType = CommandType.Text;
                            if (StaticParametersDB.GetDriver() == "sqlserver")
                            {
                                comm.CommandText = "SET DATEFORMAT dmy";
                                comm.ExecuteNonQuery();
                            }
                            try //Tenta atualizar com tamanho original da mensagem de erro
                            {
                                using (var command = SqlCommandWithParameters(prot, 1))
                                {
                                    command.Connection = conn;
                                    command.ExecuteNonQuery();
                                }
                            }
                            catch (Exception ex)
                            {
                                if (ex.HResult == -2146232060 || ex.HResult == -2147467259)       //Banco retorna erros de valor de caracteres excedido.
                                {
                                    using (var command = SqlCommandWithParameters(prot, 1, true)) //Valor true passado por parametro para forcar a atualização, alterando o valor da mensagem.
                                    {
                                        command.Connection = conn;
                                        command.ExecuteNonQuery();
                                    }
                                }
                                else
                                {
                                    throw ex; //Caso seja outro erro, grava log.
                                }
                            }
                        }
                        else
                        {
                            var sql = CriaSQL(prot, 2);
                            query            = sql;
                            comm.Connection  = conn;
                            comm.CommandType = CommandType.Text;
                            if (StaticParametersDB.GetDriver() == "sqlserver")
                            {
                                comm.CommandText = "SET DATEFORMAT dmy";
                                comm.ExecuteNonQuery();
                            }
                            using (var command = SqlCommandWithParameters(prot, 2))
                            {
                                command.Connection = conn;
                                command.ExecuteNonQuery();
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    ExceptionCore e = new ExceptionCore();
                    e.ExBanco(2, ex.Message, StaticParametersDB.GetDriver(), ex, query);

                    retorno = false;
                }
                finally
                {
                    conn.Close();
                }
            }

            return(retorno);
        }
Пример #16
0
        public static void GetData(ISession sessao)
        {
            var ProtocoloDAO = new ProtocoloDB_DAO(sessao);

            using (var conn = GetConnection())
            {
                //Não é possível abrir o banco de dados solicitado pelo logon. Falha de logon.Falha de logon do usuário 'AUTORIDADE NT\SISTEMA'.
                try
                {
                    conn.Open();

                    using (var comm = GetCommand())
                    {
                        comm.Connection  = conn;
                        comm.CommandText = "SELECT ID, XMLEVENTO, IDSEQ FROM ZMDATVIVES_EVENTOS_ESOCIAL WHERE NROPROTOCOLO IS NULL";

                        var adapter   = GetAdapter(comm);
                        var dataTable = new System.Data.DataTable();

                        adapter.Fill(dataTable);
                        Processos proc = new Processos();
                        foreach (System.Data.DataRow row in dataTable.Rows)
                        {
                            try
                            {
                                var Base = proc.DefineBaseEnvioDB(Convert.ToString(row["XMLEVENTO"]), (Convert.ToString(row["ID"]) + "-" + Convert.ToString(row["IDSEQ"]) + "-" + StaticParametersDB.GetId()));
                                var prot = new ProtocoloDB
                                {
                                    id        = string.Concat(Convert.ToString(row["ID"]), "-", Convert.ToString(row["IDSEQ"]), "-" + StaticParametersDB.GetId()),
                                    idEvento  = Convert.ToString(row["ID"]),
                                    idSeq     = Convert.ToString(row["IDSEQ"]),
                                    xmlEvento = Convert.ToString(row["XMLEVENTO"]),
                                    driver    = StaticParametersDB.GetDriver(),
                                    baseEnv   = Convert.ToString(Base),
                                    idDB      = StaticParametersDB.GetId()
                                };
                                ProtocoloDAO.Salvar(prot);
                            }
                            catch (Exception ex)
                            {
                                if (ex.HResult != -2147467261)
                                {
                                    ExceptionCore e = new ExceptionCore();
                                    e.ExBanco(30, "ID Evento: " + (Convert.ToString(row["ID"]) + "-" + Convert.ToString(row["IDSEQ"]) + "-" + StaticParametersDB.GetId()) + " | Erro: " + ex.Message, StaticParametersDB.GetDriver(), ex, "");
                                }
                                else
                                {
                                    UpdateDB(
                                        proc.GeraProtocoloAux("1"
                                                              , Convert.ToString(row["ID"])
                                                              , Convert.ToString(row["IDSEQ"])
                                                              , "<erro>Tag tipo de ambiente não presente no XML</erro>"
                                                              , "0"
                                                              , "Tag tipo de ambiente não presente no XML")
                                        );
                                }
                            }
                        }
                    }
                }
                catch (Exception ex)
                {
                    ExceptionCore e = new ExceptionCore();
                    e.ExBanco(1, ex.Message, StaticParametersDB.GetDriver(), ex, "");
                }
                finally
                {
                    conn.Close();
                }
            }
        }