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));
        }
Example #2
0
        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;
            }
        }
Example #3
0
        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));
        }
Example #7
0
        ///<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);
        }
Example #8
0
        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;
            }
        }
Example #9
0
 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);
 }
Example #10
0
        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;
            }
        }
Example #11
0
        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;
            }
        }
Example #12
0
        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();
                }
            }
        }
Example #13
0
        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;
            }
        }
Example #14
0
        ///<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;
            }
        }