private static void Interpretar_Msg(List <String> mensagem) { string id = ""; try { var objeto = new Mensagens(); if (mensagem[0].Contains("ST4")) { #region Mensagem de Localização try { id = mensagem[1]; var m = new Mensagens(); var r = new Rastreador(); r.PorId(id); //MENSAGEM DE POSIÇÃO m.Data_Rastreador = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"); //m.Data_Rastreador = mensagem[4] + " " + mensagem[5]; m.Data_Gps = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"); //m.Data_Gps = mensagem[4].Substring(0, 4) + "-" + mensagem[4].Substring(4, 2) + "-" + mensagem[4].Substring(6, 2) + " " + mensagem[5]; m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = string.Join(";", mensagem); m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = "STT"; m.Latitude = "0"; m.Longitude = "0"; m.Velocidade = "0"; //m.Velocidade = Convert.ToDecimal(mensagem[9].Replace('.', ',')).ToString("#0", CultureInfo.InvariantCulture).Replace('.', ','); m.Vei_codigo = r.Vei_codigo != 0 ? r.Vei_codigo : 0; //m.Ignicao = true; m.Ignicao = Convert.ToInt32(mensagem[13]) == 1 ? true : false; //m.Hodometro = "0"; m.Hodometro = (Convert.ToInt32(mensagem[16]) / 1000.0).ToString("#0.0", CultureInfo.InvariantCulture).Replace(',', '.'); m.Bloqueio = false; //m.Bloqueio = mensagem[15][4] == '1' ? true : false; m.Sirene = false; //m.Sirene = mensagem[15][5] == '1' ? true : false; m.Tensao = "0"; //m.Tensao = mensagem[14]; m.Horimetro = 0; m.CodAlerta = 0; m.Tipo_Alerta = m.CodAlerta == 0 ? "" : ""; m.Endereco = ""; // Util.BuscarEndereco(m.Latitude, m.Longitude, contas); #region Gravar if (m.Gravar()) { m.Tipo_Mensagem = "EMG"; if (r.veiculo != null) { //Verifica Area de Risco/Cerca Mensagens.EventoAreaCerca(m); //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } #region Tensão #endregion #region Velocidade /*if (r.Vei_codigo != 0) * { * var veiculo = Veiculo.BuscarVeiculoVelocidade(m.Vei_codigo); * var velocidade_nova = Convert.ToDecimal(veiculo.vei_velocidade); * if (velocidade_nova < Convert.ToDecimal(m.Velocidade) && velocidade_nova > 0) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Veículo Ultrapassou a Velocidade"; * m.CodAlerta = 23; * m.GravarEvento(); * * //Evento Por E-mail * var corpoEmail = m.Tipo_Alerta + "<br /> Velocidade: " + m.Velocidade + "<br /> Endereço: " + m.Endereco; * Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); * } * }*/ #endregion } #endregion } catch (Exception) { } #endregion } else //MENSAGENS ST940 if (mensagem[1] == "Location" || mensagem[1] == "Emergency" || (mensagem[1] == "RES" && mensagem[0].Contains("ST9"))) { #region Mensagem de Localização try { id = mensagem[1] == "RES" ? mensagem[3] : mensagem[2]; var m = new Mensagens(); var r = new Rastreador(); r.PorId(id); if (mensagem[1] == "RES" && mensagem[1] == "PRESET") { //MENSAGEM DE COMANDO CONFIGURAÇÃO } else { //MENSAGEM DE POSIÇÃO m.Data_Rastreador = mensagem[4] + " " + mensagem[5]; m.Data_Gps = mensagem[4].Substring(0, 4) + "-" + mensagem[4].Substring(4, 2) + "-" + mensagem[4].Substring(6, 2) + " " + mensagem[5]; m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = string.Join(";", mensagem); m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = mensagem[1] == "Location" ? "STT" : "EMG"; m.Latitude = mensagem[6]; m.Longitude = mensagem[7]; m.Velocidade = "0"; //m.Velocidade = Convert.ToDecimal(mensagem[9].Replace('.', ',')).ToString("#0", CultureInfo.InvariantCulture).Replace('.', ','); m.Vei_codigo = r.Vei_codigo != 0 ? r.Vei_codigo : 0; m.Ignicao = true; //m.Ignicao = mensagem[15].Count() == 6 ? mensagem[15][0].Equals('0') ? false : true : mensagem[15][8].Equals('0') ? false : true; m.Hodometro = "0"; //m.Hodometro = (Convert.ToInt32(mensagem[13]) / 1000.0).ToString("#0.0", CultureInfo.InvariantCulture).Replace(',', '.'); m.Bloqueio = false; //m.Bloqueio = mensagem[15][4] == '1' ? true : false; m.Sirene = false; //m.Sirene = mensagem[15][5] == '1' ? true : false; m.Tensao = "0"; //m.Tensao = mensagem[14]; m.Horimetro = 0; m.CodAlerta = mensagem[1] == "Location" ? 0 : 3; m.Tipo_Alerta = m.CodAlerta == 0 ? "" : "Botão de Pânico Acionado"; m.Endereco = Util.BuscarEndereco(m.Latitude, m.Longitude, contas); #region Gravar if (m.Gravar()) { m.Tipo_Mensagem = "EMG"; if (r.veiculo != null) { //Verifica Area de Risco/Cerca Mensagens.EventoAreaCerca(m); //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } #region Tensão #endregion #region Velocidade /*if (r.Vei_codigo != 0) * { * var veiculo = Veiculo.BuscarVeiculoVelocidade(m.Vei_codigo); * var velocidade_nova = Convert.ToDecimal(veiculo.vei_velocidade); * if (velocidade_nova < Convert.ToDecimal(m.Velocidade) && velocidade_nova > 0) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Veículo Ultrapassou a Velocidade"; * m.CodAlerta = 23; * m.GravarEvento(); * * //Evento Por E-mail * var corpoEmail = m.Tipo_Alerta + "<br /> Velocidade: " + m.Velocidade + "<br /> Endereço: " + m.Endereco; * Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); * } * }*/ #endregion } #endregion } } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); /*StreamWriter txt = new StreamWriter("erros_01.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } #endregion } else if (mensagem[0].Contains("STT")) //mensagem proveniente de um STATUS mensagem { #region Mensagem de Status try { id = mensagem[1]; var m = new Mensagens(); var r = new Rastreador(); r.PorId(id); m.Data_Rastreador = mensagem[4] + " " + mensagem[5]; m.Data_Gps = mensagem[4].Substring(0, 4) + "-" + mensagem[4].Substring(4, 2) + "-" + mensagem[4].Substring(6, 2) + " " + mensagem[5]; m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = string.Join(";", mensagem); m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = "STT"; m.Latitude = mensagem[7]; m.Longitude = mensagem[8]; m.Tipo_Alerta = ""; m.Velocidade = Convert.ToDecimal(mensagem[9].Replace('.', ',')).ToString("#0", CultureInfo.InvariantCulture).Replace('.', ','); m.Vei_codigo = r.Vei_codigo != 0 ? r.Vei_codigo : 0; m.Ignicao = mensagem[15].Count() == 6 ? mensagem[15][0].Equals('0') ? false : true : mensagem[15][8].Equals('0') ? false : true; m.Hodometro = (Convert.ToInt32(mensagem[13]) / 1000.0).ToString("#0.0", CultureInfo.InvariantCulture).Replace(',', '.'); m.Bloqueio = mensagem[15][4] == '1' ? true : false; m.Sirene = mensagem[15][5] == '1' ? true : false; m.Tensao = mensagem[14]; m.Horimetro = 0; m.CodAlerta = 0; m.Endereco = Util.BuscarEndereco(m.Latitude, m.Longitude, contas); #region Gravar if (m.Gravar()) { m.Tipo_Mensagem = "EMG"; if (r.veiculo != null) { //Verifica Area de Risco/Cerca Mensagens.EventoAreaCerca(m); //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } #region Tensão /*string voltagem = r.veiculo.voltagem.ToString().Replace(",00", ""); * /*voltagem = voltagem.Length == 3 ? "0" + voltagem : voltagem; * string voltagem_correta = voltagem.Substring(0, 2) + "." + voltagem.Substring(2, 2); * decimal voltagem_cadastro = Convert.ToDecimal(voltagem_correta); */ /*string total = (Convert.ToDecimal(voltagem_correta) + 2).ToString(); * * StreamWriter txt = new StreamWriter("tensao.txt", true); * txt.WriteLine("Tensão: " + total); * txt.Close();*/ //var tet = r.rastreador_evento.Where(x => x.te_codigo.Equals(26)).ToList().ForEach(x => { x.te_codigo }); /*var a = r.rastreador_evento.Select(tet => tet.te_codigo = 26); * * * Console.WriteLine("----------------------------"); * Console.WriteLine(a.ToString()); * Console.WriteLine("----------------------------"); * * var gravar_evento = true; * r.rastreador_evento.ForEach(x => { * if(x.te_codigo == 26){ * gravar_evento = false; * } * }); * * if (gravar_evento) * {*/ /*if ((Convert.ToDecimal(voltagem_correta) + 200) < Convert.ToDecimal(m.Tensao)) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Tensão Acima do Ideal"; * m.CodAlerta = 26; * m.GravarEvento(); * }*/ //} /*StreamWriter txt = new StreamWriter("teste_bloqueio_evento.txt", true); * txt.WriteLine(tet); * txt.Close();*/ /*if (!r.rastreador_evento.Where(x => x.te_codigo.Equals(26))) * {*/ /*decimal porcentagem_alta = voltagem_cadastro + (voltagem_cadastro * Convert.ToDecimal(0.25)); * /*decimal porcentagem_baixa = voltagem_cadastro - (voltagem_cadastro * Convert.ToDecimal(0.20)); ; * * if (porcentagem_alta < Convert.ToDecimal(m.Tensao)) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Tensão Acima do Ideal"; * m.CodAlerta = 26; * m.GravarEvento(); * }*/ /*} * * if (!r.rastreador_evento.Where(x => x.te_codigo.Equals(25))) * { * StreamWriter txt = new StreamWriter("teste_bloqueio_evento.txt", true); * txt.WriteLine("NICE"); * txt.Close(); */ /*if (porcentagem_baixa > Convert.ToDecimal(m.Tensao)) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Tensão Abaixo do Ideal"; * m.CodAlerta = 25; * m.GravarEvento(); * }*/ /*} * else * { * StreamWriter txt = new StreamWriter("teste_bloqueio_evento.txt", true); * txt.WriteLine("NOT_NICE"); * txt.Close(); * }*/ #endregion #region Velocidade if (r.Vei_codigo != 0) { var veiculo = Veiculo.BuscarVeiculoVelocidade(m.Vei_codigo); var velocidade_nova = Convert.ToDecimal(veiculo.vei_velocidade); if (velocidade_nova < Convert.ToDecimal(m.Velocidade) && velocidade_nova > 0) { m.Tipo_Mensagem = "EVT"; m.Tipo_Alerta = "Veículo Ultrapassou a Velocidade"; m.CodAlerta = 23; m.GravarEvento(); //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Velocidade: " + m.Velocidade + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } } #endregion } #endregion } catch (Exception e) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); StreamWriter txt = new StreamWriter("erros_01.txt", true); txt.WriteLine("ERRO: " + e.Message.ToString()); txt.Close(); } #endregion } else if (mensagem[0].Contains("EMG")) //mensagem proveniente de uma EMERGÊNCIA { #region Mensagem de Emergência try { var r = new Rastreador(); var m = new Mensagens(); id = mensagem[1]; r.PorId(id); m.Data_Gps = mensagem[4].Substring(0, 4) + "-" + mensagem[4].Substring(4, 2) + "-" + mensagem[4].Substring(6, 2) + " " + mensagem[5]; m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = string.Join(";", mensagem); m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = "EMG"; m.Latitude = mensagem[7]; m.Longitude = mensagem[8]; m.Velocidade = Convert.ToDecimal(mensagem[9].Replace('.', ',')).ToString("#0", CultureInfo.InvariantCulture).Replace('.', ','); m.Ignicao = mensagem[15].Count() == 6 ? mensagem[15][0].Equals('0') ? false : true : mensagem[15][8].Equals('0') ? false : true; m.Hodometro = (Convert.ToInt32(mensagem[13]) / 1000.0).ToString("#0.0", CultureInfo.InvariantCulture).Replace(',', '.'); m.Bloqueio = mensagem[15][4] == '1' ? true : false; m.Sirene = mensagem[15][5] == '1' ? true : false; m.Tensao = mensagem[14]; m.Horimetro = 0; m.Tipo_Alerta = ""; //m.Endereco = Mensagens.RequisitarEndereco(m.Latitude, m.Longitude); m.Endereco = Util.BuscarEndereco(m.Latitude, m.Longitude, contas); m.CodAlerta = 0; if (r.veiculo != null) { m.Vei_codigo = r.Vei_codigo; } var grava = false; if (mensagem[16].Equals("2")) { m.Tipo_Alerta = "Parking Lock"; m.CodAlerta = 1; grava = true; } else if (mensagem[16].Equals("3")) { m.Tipo_Alerta = "Energia Principal Removida"; m.CodAlerta = 2; grava = true; } if (grava) { m.Gravar(); } //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); /*StreamWriter txt = new StreamWriter("erros_02.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } #endregion } else if (mensagem[0].Contains("EVT")) //mensagem proveniente de um EVENTO { #region Mensagem de Evento if (!mensagem[1].Equals("Res")) { #region Evento Não Comando try { id = mensagem[1]; var r = new Rastreador(); var m = new Mensagens(); r.PorId(id); m.Data_Gps = mensagem[4].Substring(0, 4) + "-" + mensagem[4].Substring(4, 2) + "-" + mensagem[4].Substring(6, 2) + " " + mensagem[5]; m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = string.Join(";", mensagem); m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = "EVT"; m.Latitude = mensagem[7]; m.Longitude = mensagem[8]; m.Velocidade = Convert.ToDecimal(mensagem[9].Replace('.', ',')).ToString("#0", CultureInfo.InvariantCulture).Replace('.', ','); m.Ignicao = mensagem[15].Count() == 6 ? mensagem[15][0].Equals('0') ? false : true : mensagem[15][8].Equals('0') ? false : true; m.Hodometro = (Convert.ToInt32(mensagem[13]) / 1000.0).ToString("#0.0", CultureInfo.InvariantCulture).Replace(',', '.'); m.Bloqueio = mensagem[15][4] == '1' ? true : false; m.Sirene = mensagem[15][5] == '1' ? true : false; m.Tensao = mensagem[14]; m.Horimetro = 0; //m.Endereco = Mensagens.RequisitarEndereco(m.Latitude, m.Longitude); m.Endereco = Util.BuscarEndereco(m.Latitude, m.Longitude, contas); m.CodAlerta = 0; m.Tipo_Alerta = ""; #region Eventos if (r.veiculo != null) { m.Vei_codigo = r.Vei_codigo; } var grava = false; /*if (mensagem[16].Equals("2")) * { * m.Tipo_Alerta = "Botão de Pânico Acionado"; * m.CodAlerta = 3; * grava = true; * } * else*/if (mensagem[16].Equals("3")) // entrada 2 desligada { m.Tipo_Alerta = "Sensor Porta Aberta"; m.CodAlerta = 4; grava = true; } else if (mensagem[16].Equals("4")) // entrada 2 ligada { m.Tipo_Alerta = "Sensor Porta Fechada"; m.CodAlerta = 5; grava = true; } else if (mensagem[16].Equals("5")) // entrada 3 Desligada { m.Tipo_Alerta = "Sensor Plataforma Desativada"; m.CodAlerta = 6; grava = true; } else if (mensagem[16].Equals("6")) // entrada 3 Ligada { m.Tipo_Alerta = "Sensor Plataforma Ativada"; m.CodAlerta = 7; grava = true; } else if (mensagem[15].Count() == 6) { if (mensagem[15][1].Equals('1')) { m.Tipo_Alerta = "Sensor Painel Fechado"; m.CodAlerta = 22; grava = true; } else if (mensagem[15][1].Equals('0')) { m.Tipo_Alerta = "Sensor Painel Violado"; m.CodAlerta = 21; grava = true; } } #endregion if (grava) { m.Gravar(); } //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); /*StreamWriter txt = new StreamWriter("erros_03_1.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } #endregion } else // Se for um Evento de Comando { #region Evento Comando try { var m = new Mensagens(); m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = mensagem[0] == "SA200CMD" ? mensagem[3] : mensagem[2]; m.Mensagem = string.Join(";", mensagem); m.Latitude = "+00.0000"; m.Longitude = "+000.0000"; m.Tipo_Mensagem = "CMD"; m.Tipo_Alerta = mensagem[0] == "SA200CMD" ? mensagem[5] : mensagem[4]; m.CodAlerta = 0; m.GravarCMD(); } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); /* * StreamWriter txt = new StreamWriter("erros_03_2.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } #endregion } #endregion } else if (mensagem[0].Contains("ALT")) //mensagem proveniente de um ALERT { #region Mensagem de um ALERT try { id = mensagem[1]; var r = new Rastreador(); var m = new Mensagens(); r.PorId(id); m.Data_Gps = mensagem[4].Substring(0, 4) + "-" + mensagem[4].Substring(4, 2) + "-" + mensagem[4].Substring(6, 2) + " " + mensagem[5]; m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = string.Join(";", mensagem); m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = "ALT"; m.Latitude = mensagem[7]; m.Longitude = mensagem[8]; m.Velocidade = Convert.ToDecimal(mensagem[9].Replace('.', ',')).ToString("#0", CultureInfo.InvariantCulture).Replace('.', ','); m.Ignicao = mensagem[15].Count() == 6 ? mensagem[15][0].Equals('0') ? false : true : mensagem[15][8].Equals('0') ? false : true; m.Hodometro = (Convert.ToInt32(mensagem[13]) / 1000.0).ToString("#0.0", CultureInfo.InvariantCulture).Replace(',', '.'); m.Bloqueio = mensagem[15][4] == '1' ? true : false; m.Sirene = mensagem[15][5] == '1' ? true : false; m.Tensao = mensagem[14]; m.Horimetro = 0; m.CodAlerta = 0; m.Tipo_Alerta = ""; m.Endereco = Util.BuscarEndereco(m.Latitude, m.Longitude, contas); #region Eventos if (r.veiculo != null) { m.Vei_codigo = r.Vei_codigo; } var grava = false; if (mensagem[16].Equals("3")) { m.Tipo_Alerta = "Antena GPS Desconectada"; m.CodAlerta = 8; grava = true; } else if (mensagem[16].Equals("4")) { m.Tipo_Alerta = "Antena GPS Conectada"; m.CodAlerta = 9; grava = true; } else if (mensagem[16].Equals("15")) { m.Tipo_Alerta = "Colisão"; m.CodAlerta = 10; grava = true; } else if (mensagem[16].Equals("16")) { m.Tipo_Alerta = "Veículo sofreu batida"; m.CodAlerta = 11; grava = true; } else if (mensagem[16].Equals("50")) { m.Tipo_Alerta = "Jammer Detectado"; m.CodAlerta = 12; grava = true; } #endregion if (grava) { m.Gravar(); } //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); /*StreamWriter txt = new StreamWriter("erros_04.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } #endregion } else if (mensagem[0].Contains("CMD")) //mensagem proveniente de um COMANDO { #region Mensagem de Comando que não for Evento try { var m = new Mensagens(); m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = mensagem[0] == "SA200CMD" ? mensagem[3] : mensagem[2]; m.Mensagem = string.Join(";", mensagem); m.Latitude = "+00.0000"; m.Longitude = "+000.0000"; m.Tipo_Mensagem = "CMD"; m.Tipo_Alerta = mensagem[0] == "SA200CMD" ? mensagem[5] : mensagem[4]; m.GravarCMD(); } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 1, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); //nada /*StreamWriter txt = new StreamWriter("erros_05.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } #endregion } } catch (Exception) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); //nada /*StreamWriter txt = new StreamWriter("erros_06.txt", true); * txt.WriteLine("ERRO: " + e.Message.ToString()); * txt.Close();*/ } }
public static void Gravar(List <Position> objeto, string mensagem, string id) { try { var m = new Mensagens(); var r = new Rastreador(); r.PorId(id); m.Data_Rastreador = objeto[0].DataRastreador.ToString("yyyyMMdd HH:mm:ss"); m.Data_Gps = objeto[0].DataRastreador.ToString("yyyy-MM-dd HH:mm:ss"); m.Data_Recebida = DateTime.Now.ToString("dd/MM/yyyy HH:mm:ss"); m.ID_Rastreador = id; m.Mensagem = mensagem; m.Ras_codigo = r.Codigo; m.Tipo_Mensagem = "STT"; m.Latitude = objeto[0].La.ToString().Replace(',', '.'); m.Longitude = "-0" + objeto[0].Lo.ToString().Substring(1).Replace(',', '.'); m.Tipo_Alerta = ""; m.Velocidade = objeto[0].Speed.ToString(); m.Vei_codigo = r.Vei_codigo != 0 ? r.Vei_codigo : 0; m.Ignicao = Convert.ToBoolean(objeto[0].Ignicao); m.Hodometro = objeto[0].Mileage.ToString(); m.Bloqueio = false; m.Sirene = false; m.Tensao = (objeto[0].Ext_Voltage / 1000.0).ToString(); m.Horimetro = 0; m.CodAlerta = 0; m.Endereco = Util.BuscarEndereco(m.Latitude, m.Longitude, contas); #region Gravar if (m.Gravar()) { var grava = false; m.Tipo_Mensagem = "EMG"; if (r.veiculo != null) { //Verifica Area de Risco/Cerca Mensagens.EventoAreaCerca(m); //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } #region Tensão /*string voltagem = r.veiculo.voltagem.ToString().Replace(",00", ""); * /*voltagem = voltagem.Length == 3 ? "0" + voltagem : voltagem; * string voltagem_correta = voltagem.Substring(0, 2) + "." + voltagem.Substring(2, 2); * decimal voltagem_cadastro = Convert.ToDecimal(voltagem_correta); */ /*string total = (Convert.ToDecimal(voltagem_correta) + 2).ToString(); * * StreamWriter txt = new StreamWriter("tensao.txt", true); * txt.WriteLine("Tensão: " + total); * txt.Close();*/ //var tet = r.rastreador_evento.Where(x => x.te_codigo.Equals(26)).ToList().ForEach(x => { x.te_codigo }); /*var a = r.rastreador_evento.Select(tet => tet.te_codigo = 26); * * * Console.WriteLine("----------------------------"); * Console.WriteLine(a.ToString()); * Console.WriteLine("----------------------------"); * * var gravar_evento = true; * r.rastreador_evento.ForEach(x => { * if(x.te_codigo == 26){ * gravar_evento = false; * } * }); * * if (gravar_evento) * {*/ /*if ((Convert.ToDecimal(voltagem_correta) + 200) < Convert.ToDecimal(m.Tensao)) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Tensão Acima do Ideal"; * m.CodAlerta = 26; * m.GravarEvento(); * }*/ //} /*StreamWriter txt = new StreamWriter("teste_bloqueio_evento.txt", true); * txt.WriteLine(tet); * txt.Close();*/ /*if (!r.rastreador_evento.Where(x => x.te_codigo.Equals(26))) * {*/ /*decimal porcentagem_alta = voltagem_cadastro + (voltagem_cadastro * Convert.ToDecimal(0.25)); * /*decimal porcentagem_baixa = voltagem_cadastro - (voltagem_cadastro * Convert.ToDecimal(0.20)); ; * * if (porcentagem_alta < Convert.ToDecimal(m.Tensao)) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Tensão Acima do Ideal"; * m.CodAlerta = 26; * m.GravarEvento(); * }*/ /*} * * if (!r.rastreador_evento.Where(x => x.te_codigo.Equals(25))) * { * StreamWriter txt = new StreamWriter("teste_bloqueio_evento.txt", true); * txt.WriteLine("NICE"); * txt.Close(); */ /*if (porcentagem_baixa > Convert.ToDecimal(m.Tensao)) * { * m.Tipo_Mensagem = "EVT"; * m.Tipo_Alerta = "Tensão Abaixo do Ideal"; * m.CodAlerta = 25; * m.GravarEvento(); * }*/ /*} * else * { * StreamWriter txt = new StreamWriter("teste_bloqueio_evento.txt", true); * txt.WriteLine("NOT_NICE"); * txt.Close(); * }*/ #endregion #region Velocidade if (r.Vei_codigo != 0) { var veiculo = Veiculo.BuscarVeiculoVelocidade(m.Vei_codigo); var velocidade_nova = Convert.ToDecimal(veiculo.vei_velocidade); if (velocidade_nova < Convert.ToDecimal(m.Velocidade) && velocidade_nova > 0) { m.Tipo_Mensagem = "EVT"; m.Tipo_Alerta = "Veículo Ultrapassou a Velocidade"; m.CodAlerta = 23; m.GravarEvento(); //Evento Por E-mail var corpoEmail = m.Tipo_Alerta + "<br /> Velocidade: " + m.Velocidade + "<br /> Endereço: " + m.Endereco; Mensagens.EventoPorEmail(m.Vei_codigo, m.CodAlerta, corpoEmail); } } #endregion #region Jammer if (objeto[0].Jamming == 1) { m.Tipo_Mensagem = "ALT"; m.Tipo_Alerta = "Jammer Detectado"; m.CodAlerta = 12; grava = true; } #endregion #region Colisão if (objeto[0].Crash == 1 || objeto[0].Crash == 2) { m.Tipo_Mensagem = "ALT"; m.Tipo_Alerta = "Colisão"; m.CodAlerta = 10; grava = true; } #endregion } #endregion } catch (Exception e) { //LogException.GravarException("Erro: " + ex.Message.ToString() + " - Mensagem: " + (ex.InnerException != null ? ex.InnerException.ToString() : " Valor nulo na mensagem "), 12, "Escuta Suntech Novo - Método " + System.Reflection.MethodBase.GetCurrentMethod().Name); StreamWriter txt = new StreamWriter("erros_01.txt", true); txt.WriteLine("ERRO: " + e.Message.ToString()); txt.Close(); } }