예제 #1
0
        }//Page_Load()

        protected void btnCriarMensagem_Click(object sender, EventArgs e)
        {
            if (TextBoxNovaMensagem.Text.Trim() == "")
            {
                Session["mensagem"] = "A mensagem não pode ser vazia.";
                return;
            }

            if (TextBoxNovaMensagem.Text.Length > Mensagem.TamanhoMaximoText)
            {
                String strTemp = "A mensagem não pode ter mais de " + Mensagem.TamanhoMaximoText.ToString() + " caracteres.";
                strTemp += " Quebre seu texto em mais de uma mensagem. Envie quantas mensagens quiser.";
                Session["mensagem"] = strTemp;
                return;
            }

            Mensagem novaMensagem = new Mensagem();
            novaMensagem.Proposta = proposta;
            if (proposta.Usuario.IdUsuario == usuarioLogado.IdUsuario)
            {
                //eu sou o proponente
                novaMensagem.QuemPostou = Usuario.EnumQuem.PROPONENTE;
            }
            else
            {
                //eu sou o pedinte
                novaMensagem.QuemPostou = Usuario.EnumQuem.PEDINTE;
            }
            novaMensagem.Texto = TextBoxNovaMensagem.Text;
            if (DataAccess.salvarMensagem(novaMensagem) != 0)
            {
                Session["mensagem"] = "Erro ao enviar mensagem";
            }
            else
            {
                Session["mensagem"] = "Mensagem enviada com sucesso";
                if (!Request.IsLocal) LIEmail.mandarMailNovaMensagem(novaMensagem);
                Response.Redirect("ShowMensagens.aspx");
            }
        }
예제 #2
0
        }//populateUsuario()

        private static Mensagem populateMensagem(SqlDataReader dr)
        {
            /*
             * id_proposta
               quem_postou
               data_mensagem
               texto_mensagem
            */
            Mensagem mensagemReturn = new Mensagem();
            mensagemReturn.DataHoraMensagem = System.Convert.ToDateTime(dr["data_mensagem"]);
            mensagemReturn.Proposta = populateProposta(dr);
            int iTemp = System.Convert.ToInt32(dr["quem_postou"]);
            switch (iTemp)
            {
                case (int)Usuario.EnumQuem.PEDINTE:
                    mensagemReturn.QuemPostou = Usuario.EnumQuem.PEDINTE;
                    break;
                case (int)Usuario.EnumQuem.PROPONENTE:
                    mensagemReturn.QuemPostou = Usuario.EnumQuem.PROPONENTE;
                    break;
            }//switch
            mensagemReturn.Texto = System.Convert.ToString(dr["texto_mensagem"]);
            return mensagemReturn;
        }//populateMensagem()
예제 #3
0
        }//aceitarProposta()

        /// <summary>
        /// Retorna:
        /// Sucesso: 0
        /// Erro: diferente de zero
        /// </summary>
        /// <param name="mensagem"></param>
        /// <returns></returns>
        public static int salvarMensagem(Mensagem mensagem)
        {
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;

            String strSql = "INSERT INTO Mensagem (id_proposta, quem_postou, data_mensagem, texto_mensagem)";
            strSql += " VALUES (" + mensagem.Proposta.IdProposta.ToString() + ",";
            strSql += ((int)mensagem.QuemPostou).ToString() + ",GETDATE(),'";
            strSql += Utils.limpaString(mensagem.Texto) + "')";

            try
            {
                conn = new SqlConnection(ConnString);
                conn.Open();
                cmd = conn.CreateCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.CommandText = strSql;
                trans = conn.BeginTransaction();
                cmd.Transaction = trans;
                cmd.ExecuteNonQuery();
                trans.Commit();
                return 0;//sucesso
            }
            catch
            {                
                trans.Rollback();
                return 1;//erro
            }
            finally
            {
                if (conn != null) conn.Close();
            }
        }//salvarMensagem()
예제 #4
0
        public static int mandarMailNovaMensagem(Mensagem mensagem)
        {
            SmtpClient smtpClient = new SmtpClient(DOMAIN_NAME, 25);

            smtpClient.Credentials = new System.Net.NetworkCredential(CREDENTIAL, MY_ID_PASSWORD);
            smtpClient.UseDefaultCredentials = true;
            smtpClient.DeliveryMethod = SmtpDeliveryMethod.Network;
            //smtpClient.EnableSsl = true;
            MailMessage mail = new MailMessage();
            mail.IsBodyHtml = true;

            //Setting From , To and CC
            mail.From = new MailAddress(FROM, DISPLAY_NAME);

            Usuario usuarioDestinatario;
            if (mensagem.QuemPostou == Usuario.EnumQuem.PEDINTE)
            {
                usuarioDestinatario = mensagem.Proposta.Usuario;
            }
            else
            {
                usuarioDestinatario = mensagem.Proposta.Desejo.Usuario;
            }

            mail.To.Add(new MailAddress(usuarioDestinatario.Email, usuarioDestinatario.Apelido));
            mail.Subject = "InverShop - nova mensagem";
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.Body = "Prezado " + usuarioDestinatario.Apelido + ",<br><br>";
            mail.Body += "Sua proposta para o desejo \"" + mensagem.Proposta.Desejo.DescricaoCurta + "\" recebeu tem uma nova mensagem.<br>";
            //mail.Body += "Para  visualizá-la, clique no link abaixo ou copie e cole no seu navegador.<br>";
            mail.Body += "Para visualizá-la, entre no site invershop.com e clique em \"Propostas Recebidas\"<br>";

            smtpClient.Send(mail);
            return 0;//sucesso
        }