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); }
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); }
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); }
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); }
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); }
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); }
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); } }
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); } }
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); } }
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(); } } }
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); } }
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); }
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); }
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); } }
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); }
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(); } } }