public IHttpActionResult PutMensagem(long id, mensagem mensagem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != mensagem.codigo_mensagem) { return(BadRequest()); } db.Entry(mensagem).State = EntityState.Modified; try { db.SaveChanges(); } catch (DbUpdateConcurrencyException) { if (!mensagemExists(id)) { return(NotFound()); } else { throw; } } return(StatusCode(HttpStatusCode.NoContent)); }
public string abreAnexo(string nomeArq, int id) { try { string sql = "select loginusuario, tipo from mensagem where id = " + id + ";"; DataTable data = retornaDataTableSql(sql); string login = data.Rows[0][data.Columns[0]].ToString(); string tipo = data.Rows[0][data.Columns[1]].ToString(); string caminho = CAMINHO_SERVER + "\\" + login + "\\" + tipo + "\\" + id + ".msg"; string xml = manipulaArquivo.leArquivoTexto(caminho); mensagem msg = serial.Deserializar(xml, typeof(mensagem)) as mensagem; anexo anexoFinal = new anexo(); foreach (anexo a in msg.anexos) { if (a.getNome().Equals(nomeArq)) { anexoFinal = a; } } return(serial.serializarObjeto(anexoFinal)); } catch (excecao.excecao except) { throw except; } }
static void Main(string[] args) { string palavra, escolha; Console.WriteLine("Escreva o que desejar"); palavra = Console.ReadLine(); Console.WriteLine("O que deseja fazer com seu texto? \n1-Codificar \n2-Decodificar \n3-Transmitir \n4-Sair"); escolha = Console.ReadLine(); mensagem cod = new mensagem(); do { if (escolha == "1") { Console.WriteLine(morse.Codificar()); } if (escolha == "2") { Console.WriteLine(morse.Decodificar()); } if (escolha == "3") { Console.WriteLine(morse.Transmitir()); } }while (escolha != "4"); }
public IHttpActionResult PostMensagem(mensagem mensagem) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } db.mensagem.Add(mensagem); db.SaveChanges(); return(CreatedAtRoute("DefaultApi", new { id = mensagem.codigo_mensagem }, mensagem)); }
public IHttpActionResult GetMensagem(long id) { db.Configuration.LazyLoadingEnabled = false; mensagem mensagem = db.mensagem.Find(id); if (mensagem == null) { return(NotFound()); } return(Ok(mensagem)); }
public IHttpActionResult Deletemensagem(long id) { mensagem mensagem = db.mensagem.Find(id); if (mensagem == null) { return(NotFound()); } db.mensagem.Remove(mensagem); db.SaveChanges(); return(Ok(mensagem)); }
///<summary> /// /// Método para buscar a mensagem do usuario /// ///</summary> public static preMensagem buscaMensagem(int id, string caminhoChavePrivada) { string xml = WService.buscaMensagem(id); mensagem msg = serial.Deserializar(xml, typeof(mensagem)) as mensagem; preMensagem pmsg; HashSet <string> cripto = new HashSet <string>(); HashSet <string> plain = new HashSet <string>(); foreach (anexo a in msg.anexos) { if (a.getCripto()) { cripto.Add(a.getNome()); } else { plain.Add(a.getNome()); } } if (msg.getCriptografar()) { string conteudoCifrado = simetrica.convertToString(msg.getTexto()); string conteudo = simetrica.decifraMensagem(conteudoCifrado, caminhoChavePrivada); msg.setTexto(conteudo); } if (msg.getAssinar()) { string conteudoChave = WService.retornaChavePublica(msg.getDe()); string caminhoChave = CAMINHO_TEMP + msg.getDe() + EXTENSAO; manipulaArquivo.criaArquivoTexto(caminhoChave, conteudoChave); bool textoOk = assimetrica.verificaAssinatura(caminhoChave, msg.getAssinatura(), msg.getTexto()); if (textoOk) { pmsg = new preMensagem(msg.getDe(), msg.getPara(), msg.getAssunto(), msg.getTexto(), msg.getCriptografar(), msg.getAssinar(), cripto, plain); return(pmsg); } else { throw new excecao(MSG_ERRO_ABRIR); } } pmsg = new preMensagem(msg.getDe(), msg.getPara(), msg.getAssunto(), msg.getTexto(), msg.getCriptografar(), msg.getAssinar(), cripto, plain); return(pmsg); }
public bool enviaMensagem(string xml) { try{ mensagem mensagem = serial.Deserializar(xml, typeof(mensagem)) as mensagem; string caminhoDestinatario = CAMINHO_SERVER + mensagem.getPara() + ENTRADA + "\\"; string caminhoRemetente = CAMINHO_SERVER + mensagem.getDe() + ENVIADOS + "\\"; string caminhoRemetenteErro = CAMINHO_SERVER + mensagem.getDe() + ENTRADA + "\\"; string INSERT = "INSERT INTO mensagem(id, loginusuario, assunto, lida, logremdest, tipo, data, tamanho, listadestinatarios)VALUES"; MySqlConnection conecta = conectaMysql.conectaMSQL(); conecta.Open(); string sql = "select id from seq_mensagem;"; MySqlCommand exec = new MySqlCommand(sql, conecta); string maxId = exec.ExecuteScalar().ToString(); int id = Convert.ToInt16(maxId) + 1; sql = "Update seq_mensagem set id = " + id + ";"; new MySqlCommand(sql, conecta).ExecuteNonQuery(); if (mensagem.getDe() == mensagem.getPara()) { sql = INSERT + "(" + id + ",'" + mensagem.getDe() + "','" + mensagem.getAssunto() + "'," + 1 + ",'" + mensagem.getPara() + "','ENVIADOS', now()," + xml.Length + ",'" + mensagem.getListaDestinatarios() + "');"; manipulaArquivo.criaArquivoTexto(caminhoRemetente + id + ".msg", xml); } else { sql = INSERT + "(" + id + ",'" + mensagem.getPara() + "','" + mensagem.getAssunto() + "', 0 ,'" + mensagem.getDe() + "','ENTRADA', now()," + xml.Length + ",'" + mensagem.getListaDestinatarios() + "');"; manipulaArquivo.criaArquivoTexto(caminhoDestinatario + id + ".msg", xml); } new MySqlCommand(sql, conecta).ExecuteNonQuery(); conectaMysql.desconectaMSQL(); return(true); }catch (excecao.excecao except) { throw except; } }
public mensagem SalvarMensagem(mensagem mensagem) { try { if (mensagem.id_mensagem == 0) { db.mensagems.Add(mensagem); } else { db.mensagems.Attach(mensagem); db.Entry(mensagem).State = System.Data.Entity.EntityState.Modified; } db.SaveChanges(); } catch (Exception ex) { throw ex; } return(mensagem); }
public string buscaAnexo(int id) { try { string sql = "select loginusuario, tipo from mensagem where id = " + id + ";"; DataTable data = retornaDataTableSql(sql); string login = data.Rows[0][data.Columns[0]].ToString(); string tipo = data.Rows[0][data.Columns[1]].ToString(); string caminho = CAMINHO_SERVER + "\\" + login + "\\" + tipo + "\\" + id + ".msg"; string xml = manipulaArquivo.leArquivoTexto(caminho); mensagem msg = serial.Deserializar(xml, typeof(mensagem)) as mensagem; return(serial.serializarObjeto(msg.anexos)); } catch (excecao.excecao except) { throw except; } }
public bool verificaMensagemCriptografada(int id) { try { bool verifica = false; string sql = "select loginusuario, tipo from mensagem where id = " + id + ";"; DataTable data = retornaDataTableSql(sql); if (data.Rows.Count > 0) { string login = data.Rows[0][data.Columns[0]].ToString(); string tipo = data.Rows[0][data.Columns[1]].ToString(); string caminho = CAMINHO_SERVER + "\\" + login + "\\" + tipo + "\\" + id + ".msg"; string xml = manipulaArquivo.leArquivoTexto(caminho); mensagem msg = serial.Deserializar(xml, typeof(mensagem)) as mensagem; if (msg.getCriptografar()) { verifica = true; } else { verifica = false; } } return(verifica); } catch (excecao.excecao except) { throw except; } }
private void pbEnviar_Click(object sender, EventArgs e) { if (ctMessagem.Text == "") { Mensagem.aviso = "Campo de texto vazío!"; TelaMensagemAviso f = new TelaMensagemAviso(); f.ShowDialog(); } else { try { string data = (DateTime.Now.ToShortDateString()).ToString(); //Data Atual string horario = (DateTime.Now.ToShortTimeString()).ToString(); //Horário Atual mensagem add = new mensagem(); add.destinatarioMensagem = empresaSelecionada; //Enviar notificacao add.textoMensagem = ctMessagem.Text; add.dataMensagem = DateTime.Parse(data); add.horarioMensagem = TimeSpan.Parse(horario); add.FK_usuario = UsuarioDados.Id; bd.mensagem.Add(add); bd.SaveChanges(); Mensagem.aviso = "Mensagem enviada com sucesso!"; //Mensagem de sucesso TelaMensagemAviso f = new TelaMensagemAviso(); f.ShowDialog(); ctMessagem.Clear(); } catch (Exception) { Mensagem.aviso = "Erro ao enviar!"; //Mensagem de erro TelaMensagemAviso f = new TelaMensagemAviso(); f.ShowDialog(); } } }
public string buscaMensagem(int id) { try { string sql = "select loginusuario, tipo from mensagem where id = " + id + ";"; DataTable data = retornaDataTableSql(sql); if (data.Rows.Count > 0) { string login = data.Rows[0][data.Columns[0]].ToString(); string tipo = data.Rows[0][data.Columns[1]].ToString(); string caminho = CAMINHO_SERVER + "\\" + login + "\\" + tipo + "\\" + id + ".msg"; string xml = manipulaArquivo.leArquivoTexto(caminho); mensagem msg = serial.Deserializar(xml, typeof(mensagem)) as mensagem; for (int i = 0; i < msg.anexos.Count; i++) { msg.anexos[i].setChave(""); msg.anexos[i].setConteudo(""); } return(serial.serializarObjeto(msg)); } else { return(null); } } catch (excecao.excecao except) { throw except; } }
///<summary> /// /// Método que cria mensagem a ser enviada a partir da pre-mensagem passada retornando /// verdadeiro caso o envio seja feito com sucesso. /// /// Retorna excecao. /// ///</summary> public static List <string> criaMensagem(preMensagem msg, string caminhoChave) { try { string destinatarios = msg.getPara() + msg.getDe() + EMAIL; string[] para = manipulaString.retornaLoginsContatos(destinatarios); string de = msg.getDe(); string assunto = msg.getAssunto(); string body = ""; string assinatura = ""; bool cripto = msg.getCriptografar(); bool sign = msg.getAssinar(); List <anexo> arquivosPlain = new List <anexo>(); List <anexo> arquivosCripto = new List <anexo>(); List <string> destinatarioInexistentes = new List <string>(); // trazendo os arquivos que nao serao criptografados para a lista foreach (string s in msg.getArquivoPlain()) { bool cript = false; anexo next = retornaConteudoAnexo(s, cript, ""); arquivosPlain.Add(next); } // criando a mensagem para enviar a cada destinatario foreach (string destinatario in para) { if (WService.verificaUsuario(destinatario)) { body = msg.getTexto(); arquivosCripto.Clear(); foreach (string s in msg.getArquivoCripto()) { string nome = s; bool cript = true; if (s.Contains(EXTENSAO_SAC)) { nome = manipulaString.recuperaNomeOriginalArquivo(s); } anexo next = retornaConteudoAnexo(nome, cript, destinatario); arquivosCripto.Add(next); } foreach (anexo ap in arquivosPlain) { arquivosCripto.Add(ap); } if (sign) { assinatura = assimetrica.assinaTexto(caminhoChave, body); } if (cripto) { string chaveCertificada = WService.retornaChavePublica(destinatario); string caminhoChaveCert = CAMINHO_TEMP + destinatario + EXTENSAO; manipulaArquivo.criaArquivoTexto(caminhoChaveCert, chaveCertificada); body = simetrica.cifraMensagem(body, caminhoChaveCert); body = simetrica.convertToHexa(body); } mensagem mensagem = new mensagem(de, destinatario, assunto, body, assinatura, cripto, sign, arquivosCripto, msg.getPara()); string xml = serial.serializarObjeto(mensagem); WService.enviaMensagem(xml); excluiArquivos(); } else { destinatarioInexistentes.Add(destinatario); } } return(destinatarioInexistentes); } catch (excecao except) { throw except; } }