Ejemplo n.º 1
0
        }//mandarMailFaleConosco()

        public static int mandarMailValidacaoUsuario(Usuario usuario)
        {
            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);
            mail.To.Add(new MailAddress(usuario.Email, usuario.Apelido));
            mail.Bcc.Add(new MailAddress("*****@*****.**"));
            //mail.CC.Add(new MailAddress("*****@*****.**"));
            mail.Subject = "InverShop - usuário validado";
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.Body = "Obrigado por validar seu e-mail na InverShop.<br>";
            mail.Body += "Agora você já pode cadastrar desejos, fazer propostas e enviar mensagens. Acesse nosso site:<br><br>";

            String strLink = "https://www.invershop.com";

            mail.Body += "<a href=\"" + strLink + "\" target=\"_blank\">" + strLink + "</a>";

            smtpClient.Send(mail);
            return 0;//sucesso
        }
Ejemplo n.º 2
0
        public static int mandarMailCriacaoUsuario(Usuario usuario)
        {
            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);
            mail.To.Add(new MailAddress(usuario.Email, usuario.Apelido));
            mail.Bcc.Add(new MailAddress("*****@*****.**"));
            //mail.CC.Add(new MailAddress("*****@*****.**"));
            mail.Subject = "InverShop - Instruções para validação do seu usuário";
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.Body = "Obrigado por se cadastrar na InverShop.<br>";
            mail.Body += "Para ativar sua conta, clique no link abaixo ou copie e cole no seu navegador:<br><br>";

            String strLink = "https://www.invershop.com/validausuario.aspx?u=" + usuario.IdUsuario.ToString();
            strLink += "&t=" + usuario.Token.ToString();

            mail.Body += "<a href=\"" + strLink + "\" target=\"_blank\">" + strLink + "</a>";

            mail.Body += "&t=" + usuario.Token.ToString();

            smtpClient.Send(mail);
            return 0;//sucesso
        }
Ejemplo n.º 3
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            Guid token = Guid.Empty;
            int iUserId = -1;
            bool bLinkIncorreto = false;

            if (Request["u"] == null)
            {
                linkIncorreto();
            }

            if (Request["t"] == null)
            {
                linkIncorreto();
            }
            try
            {
                token = new Guid(System.Convert.ToString(Request["t"]));
                iUserId = System.Convert.ToInt32(Request["u"]);
            }
            catch
            {
                bLinkIncorreto = true;
            }

            if (bLinkIncorreto) linkIncorreto();

            Usuario usuarioBusca = new Usuario();
            usuarioBusca.IdUsuario = iUserId;
            ArrayList alTemp = DataAccess.queryUsuario(usuarioBusca, null);

            if (alTemp.Count == 0)
            {
                linkIncorreto();
            }

            Usuario usuarioInformado = (Usuario)alTemp[0];
            if (usuarioInformado.Token != token)
            {
                linkIncorreto();
            }

            if (usuarioInformado.IsValid)
            {
                Session["mensagem"] = "Usuário já tinha sido validado com sucesso.";
                Response.Redirect("home.aspx");
            }

            if (DataAccess.validarUsuario(usuarioInformado) != 0)
            {
                Session["mensagem"] = "Erro na validação do usuário. Tente novamente, por favor.";
                Response.Redirect("home.aspx");
            }

            Session["mensagem"] = "Usuário validado com sucesso. Faça login para continuar a usar o site.";
            if (!Request.IsLocal) LIEmail.mandarMailValidacaoUsuario(usuarioInformado);
            Response.Redirect("home.aspx");
        }//Page_Load()
Ejemplo n.º 4
0
 public Proposta()
 {
     IdProposta = -1;
     Desejo = null;
     Usuario = null;
     DataProposta = DateTime.MinValue;
     TipoProposta = null;
     ValorProposta = -1;
     NumMensagens = 0;
     IsDeleted = 0;//para setar a busca inicialmente para considerar somente propostas não deletadas
 }
        protected new void Page_Load(object sender, EventArgs e)
        {
            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            if (usuarioLogado == null)
            {
                lblMensagem.Text = "É necessário fazer login para alterar os dados do usuário.";
                return;
            }
            if (IsPostBack) return;

            lblEmail.Text = usuarioLogado.Email;
            TextBoxApelido.Text = usuarioLogado.Apelido;
            TextBoxCelular.Text = usuarioLogado.Celular;
        }
Ejemplo n.º 6
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            if (usuarioLogado == null)
            {
                Session["mensagem"] = "Para pesquisar propostas faça login primeiro";
                if (((PageStack)Session["PageStack"]).hasPages())
                {
                    Response.Redirect(((PageStack)Session["PageStack"]).pop());
                }
                return;
            }

            if (Session["PropostaBusca"] == null)
            {
                lblMensagem.Text = "Especifique parâmetros para a busca de propostas.";
                return;
            }

            Proposta propostaBusca = (Proposta)Session["PropostaBusca"];
            if (propostaBusca.Usuario == null)
            {
                propostaBusca.Usuario = new Usuario();
            }

            if (propostaBusca.Usuario.IdUsuario < 0)//o id do usuario nao foi fornecido. entao filtro pelo id do usuario do desejo:
            {
                if (propostaBusca.Desejo == null) propostaBusca.Desejo = new Desejo();
                if (propostaBusca.Desejo.Usuario == null) propostaBusca.Desejo.Usuario = new Usuario();
                if (Session["UsuarioLogado"] != null)
                {
                    propostaBusca.Desejo.Usuario.IdUsuario = ((Usuario)usuarioLogado).IdUsuario;
                }
                else
                {
                    lblMensagem.Text = "Somente propostas para um desejo seu ou propostas feitas por você podem ser mostradas.";
                    Session["ListaPropostas"] = new ArrayList();
                    return;
                }
                Session["PropostaBusca"] = propostaBusca;
            }

            LIqueryParameters par = (LIqueryParameters)Session["ParamsBuscaProposta"];

            Session["ListaPropostas"] = DataAccess.queryProposta((Proposta)Session["PropostaBusca"], par);

            Response.Redirect("ShowPropostas.aspx");
        }//Page_Load()
Ejemplo n.º 7
0
 public Desejo()
 {
     IdDesejo = -1;
     Usuario = null;
     Departamento = null;
     DescricaoCurta = "";
     DescricaoLonga = "";
     LocalBusca = null;
     LocalEntrega = null;
     DataAnuncio = DateTime.MinValue;
     HasPropostaSelecionada = -1;
     NumPropostas = 0;
     IdPropostaAceita = -1;
     IsDeleted = 0;//para setar a busca inicialmente para considerar somente desejos não deletados
     Avaliacao = 0;
 }      
Ejemplo n.º 8
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            Guid token = Guid.Empty;
            int iUserId = -1;
            bool bLinkIncorreto = false;

            if (Request["u"] == null)
            {
                linkIncorreto();
            }

            if (Request["t"] == null)
            {
                linkIncorreto();
            }
            try
            {
                token = new Guid(System.Convert.ToString(Request["t"]));
                iUserId = System.Convert.ToInt32(Request["u"]);
            }
            catch
            {
                bLinkIncorreto = true;
            }

            if (bLinkIncorreto) linkIncorreto();

            Usuario usuarioBusca = new Usuario();
            usuarioBusca.IdUsuario = iUserId;
            ArrayList alTemp = DataAccess.queryUsuario(usuarioBusca, null);

            if (alTemp.Count == 0)
            {
                linkIncorreto();
            }

            usuarioReset = (Usuario)alTemp[0];
            if (usuarioReset.Token != token)
            {
                linkIncorreto();
            }

            lblUsuario.Text = usuarioReset.Email + " / " + usuarioReset.Apelido;

        }//Page_Load()
Ejemplo n.º 9
0
        protected void btnSelecionar_Click(object sender, EventArgs e)
        {
            if (DropDownListUsuario.SelectedValue == "")
            {
                Session["mensagem"] = "selecione um usuário para prosseguir.";
                return;
            }
            Usuario usuarioBusca = new Usuario();
            usuarioBusca.IdUsuario = System.Convert.ToInt32(DropDownListUsuario.SelectedValue);
            ArrayList alResult = DataAccess.queryUsuario(usuarioBusca, null);
            if (alResult.Count == 0)
            {
                Session["mensagem"] = "usuario não encontrado.";
                return;
            }

            Session["UsuarioLogado"] = alResult[0];
            Response.Redirect("home.aspx");
        }//Page_Load()
Ejemplo n.º 10
0
        }//btnFazerLogin_Click()

        protected void btnReenviarEmail_Click(object sender, EventArgs e)
        {
            Usuario usuario = new Usuario();
            usuario.Email = TextBoxEmail.Text;
            ArrayList alTemp = DataAccess.queryUsuario(usuario, null);
            if (alTemp.Count == 0) return;
            usuario = (Usuario)alTemp[0];
            if (!Request.IsLocal)
            {
                if (LIEmail.mandarMailCriacaoUsuario(usuario) == 0)
                {
                    lblMensagem.Text = "Foi enviado um e-mail para você validar o seu login.";
                }
                else
                {
                    lblMensagem.Text = "Ocorreu um erro no reenvio do e-mail de validação. Tente mais tarde por favor. Pedimos desculpas pelo inconveniente.";
                }
            }
        }
Ejemplo n.º 11
0
        protected void btnFazerLogin_Click(object sender, EventArgs e)
        {
            Usuario usuarioBusca = new Usuario();
            usuarioBusca.Email = TextBoxEmail.Text;
            ArrayList alTemp = DataAccess.queryUsuario(usuarioBusca, null);
            if (alTemp.Count == 0)
            {
                ErroLogin();
            }

            Usuario usuario = (Usuario)alTemp[0];

            if (!usuario.IsValid)
            {
                lblMensagem.Text = "O usuário informado ainda não foi validado. Siga as instruções enviadas ao seu e-mail para validá-lo.";
                lblMensagem.Text += " Se quiser receber novo e-mail, clique no botão \"Reenviar e-mail de validação\" abaixo.";
                btnFazerLogin.Visible = false;
                LinkButtonEsqueciSenha.Visible = false;
                btnReenviarEmail.Visible = true;
                return;
            }

            if (DataAccess.ValidateSHA1HashData(usuario.Salt + TextBoxSenha.Text, usuario.Password))
            {
                //faço isso abaixo porque, o login bem-sucedido pode ter sido feito após o usuário ter pedido para resetar a senha.
                //O usuário pode ter esquecido e se lembrado da senha logo em seguida, por exemplo.
                DataAccess.validarUsuario(usuario);

                Session["UsuarioLogado"] = usuario;
                Session["mensagem"] = "Bem-vindo, " + usuario.Email + "!";
                Response.Redirect("home.aspx");
            }
            else
            {
                ErroLogin();
            }
        }//btnFazerLogin_Click()
Ejemplo n.º 12
0
        }//alterarSenhaUsuario()

        /// <summary>
        /// Retorna: 0 se sucesso, diferente de 0 se erro.
        /// </summary>
        /// <param name="usuario"></param>
        /// <returns></returns>
        public static int alterarDadosUsuario(Usuario usuario)
        {
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;
            String strSql = "UPDATE Usuario set apelido = '" + Utils.limpaString(usuario.Apelido) + "', celular = '";
            strSql += Utils.limpaString(usuario.Celular) + "'";
            strSql += " WHERE id_usuario = " + usuario.IdUsuario.ToString();

            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
            {
                //if (dr != null) dr.Close();
                trans.Rollback();
                return 1;//erro
            }
            finally
            {
                //if (dr != null) dr.Close();
                if (conn != null) conn.Close();
            }
        }//alterarDadosUsuario()
Ejemplo n.º 13
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            //if (IsPostBack) return;

            TextBoxNovaURL.Visible = false;
            btnNovaURLCancelar.Visible = false;
            btnNovaURLOk.Visible = false;

            if (Utils.HabilitarMobile && Request.Browser.IsMobileDevice)
            {

                TextBoxDescricao.Height = 300;

            }

            if (String.IsNullOrEmpty(Request["id_desejo"]))
            {
                //desejo = (Desejo)Session["Desejo"];
            }
            else
            {
                desejo = Desejo.getDesejoById(System.Convert.ToInt64(Request["id_desejo"]));
            }

            if (desejo == null)
            {
                lblMensagem.Text = "Desejo não encontrado.";
                return;
            }
            else
            {
                Session["Desejo"] = desejo;
            }

            lblNomeData.Text = "Desejo feito pelo(a) usuário(a) " + desejo.Usuario.Apelido + " em ";
            lblNomeData.Text += Utils.formatDatetimeToScreen3(desejo.DataAnuncio);

            lblTitulo.Text = desejo.DescricaoCurta;
            TextBoxDescricao.Text = desejo.DescricaoLonga;
            lblDepartamento.Text = desejo.Departamento.Nome;
            //lblOndeEncontrar.Text = (LocalDesejo.getLocalDesejoById(desejo.IdLocalBusca)).NomeLocal;
            //lblOndeEntregar.Text = (LocalDesejo.getLocalDesejoById(desejo.IdLocalEntrega)).NomeLocal;

            lblOndeEncontrar.Text = desejo.LocalBusca.NomeLocal;
            lblOndeEntregar.Text = desejo.LocalEntrega.NomeLocal;

            //lblPrecoMaximo.Text = Utils.formatDoubleToScreen(desejo.PrecoMaximo);

            usuarioLogado = (Usuario)Session["UsuarioLogado"];

            if (desejo.NumPropostas == 0)
            {
                lblNumPropostas.Text = "Esse desejo ainda não recebeu propostas.";
                btnMostrarPropostas.Visible = false;
                btnMostrarPropostas.Enabled = false;
            }
            else
            {
                lblNumPropostas.Text = "Esse desejo já recebeu " + desejo.NumPropostas.ToString() + " proposta(s).";
                if (usuarioLogado != null)
                {
                    if (desejo.Usuario.IdUsuario == usuarioLogado.IdUsuario)
                    {
                        btnMostrarPropostas.Visible = true;
                        btnMostrarPropostas.Enabled = true;
                        
                    }
                    else
                    {
                        btnMostrarPropostas.Visible = false;
                        btnMostrarPropostas.Enabled = false;
                    }
                }
                else
                {
                    btnMostrarPropostas.Visible = false;
                    btnMostrarPropostas.Enabled = false;
                }
            }

            if (usuarioLogado != null)
            {
                if (desejo.Usuario.IdUsuario == usuarioLogado.IdUsuario)
                {
                    btnApagarDesejo.Visible = true;
                    btnApagarDesejo.Enabled = true;
                    btnAddURL.Visible = true;
                    btnAddURL.Enabled = true;
                }
                else
                {
                    btnApagarDesejo.Visible = false;
                    btnApagarDesejo.Enabled = false;

                    btnFazerProposta.Visible = true;
                    btnFazerProposta.Enabled = true;

                    btnAddURL.Visible = false;
                    btnAddURL.Enabled = false;
                }
            }
            else
            {
                btnApagarDesejo.Visible = false;
                btnApagarDesejo.Enabled = false;
                btnAddURL.Visible = false;
                btnAddURL.Enabled = false;
                lblMensagem.Text = "Para fazer propostas, faça login primeiro.";
            }
            
            ArrayList alURLs = DataAccess.queryURLDesejo(desejo);
            if (alURLs.Count != 0)
            {
                iTemp = 0;
                vetColors = new System.Drawing.Color[2];
                vetColors[0] = System.Drawing.Color.LightCyan;//FromArgb(255, 255, 255);
                vetColors[1] = System.Drawing.Color.LightGray;
            }

            bool bMostrarBotaoApagarURL = false;
            if (usuarioLogado != null)
            {
                if (desejo.Usuario.IdUsuario == usuarioLogado.IdUsuario)
                {
                    bMostrarBotaoApagarURL = true;
                }
            }
            
            foreach (URLDesejo url in alURLs)
            {
                TableRow row = new TableRow();
                row.BackColor = vetColors[iTemp];
                iTemp = 1 - iTemp;

                TableCell cell = new TableCell();
                HyperLink hl = new HyperLink();
                hl.Text = Utils.truncateURL(url.URL);
                hl.NavigateUrl = url.URL;
                hl.Target = "_blank";
                cell.Controls.Add(hl);
                row.Cells.Add(cell);

                cell = new TableCell();
                if (bMostrarBotaoApagarURL)
                {
                    ImageButton imgBtnApagarURL = new ImageButton();
                    imgBtnApagarURL.ImageUrl = "~/Images/trashbasket.jpg";
                    imgBtnApagarURL.ID = "btnapagarurl_" + url.Ordinal.ToString();
                    imgBtnApagarURL.Click += imgBtnApagarURL_Click;
                    cell.Controls.Add(imgBtnApagarURL);
                }
                else
                {
                    cell.Text = "";
                }
                row.Cells.Add(cell);

                tblURLsDesejo.Rows.Add(row);
            }//foreach
        }//Page_Load()
Ejemplo n.º 14
0
        }//salvarMensagem()

        /// <summary>
        /// Retorna:
        /// Sucesso: 0
        /// Erro: diferente de zero
        /// </summary>
        /// <param name="proposta"></param>
        /// <param name="quemVisualizou"></param>
        /// <returns></returns>
        public static int atualizarDataViewMensagem(Proposta proposta, Usuario.EnumQuem quemVisualizou)
        {
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;
            //SqlDataReader dr = null;

            String strSql = "UPDATE Proposta SET ";
            if (quemVisualizou == Usuario.EnumQuem.PEDINTE)
            {
                strSql += "data_view_pedinte";
            }
            else
            {
                strSql += "data_view_proponente";
            }
            strSql += " = GETDATE() WHERE id_proposta = " + proposta.IdProposta.ToString();

            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();
            }
        }//atualizarDataViewMensagem()
Ejemplo n.º 15
0
        }//populateLocalDesejo()

        private static Usuario populateUsuario(SqlDataReader dr, String prefixo)
        {
            /*
        id_usuario
        apelido
        email
        celular
        password
        salt      
        token
        data_criacao
        */

            Usuario usuarioReturn = new Usuario();
            usuarioReturn.IdUsuario = System.Convert.ToInt32(dr[prefixo + "id_usuario"]);
            usuarioReturn.Apelido = System.Convert.ToString(dr[prefixo + "apelido"]).Trim();
            usuarioReturn.Email = System.Convert.ToString(dr[prefixo + "email"]);

            if (!dr.IsDBNull(dr.GetOrdinal(prefixo + "celular")))
            {
                usuarioReturn.Celular = System.Convert.ToString(dr[prefixo + "celular"]).Trim();
            }
            else
            {
                usuarioReturn.Celular = "";
            }

            /*
            byte[] byteTemp = (byte[])dr[prefixo + "password"];
            usuarioReturn.Password = byteArray2String(byteTemp);

            byteTemp = (byte[])dr[prefixo + "salt"];
            usuarioReturn.Salt = byteArray2String(byteTemp);
            */

            usuarioReturn.Password = System.Convert.ToString(dr[prefixo + "password"]);
            usuarioReturn.Salt = System.Convert.ToString(dr[prefixo + "salt"]);

            if (!dr.IsDBNull(dr.GetOrdinal(prefixo + "token")))
            {
                usuarioReturn.Token = new Guid(System.Convert.ToString(dr[prefixo + "token"]));
            }
            else
            {
                usuarioReturn.Token = Guid.Empty;
            }

            if (!dr.IsDBNull(dr.GetOrdinal(prefixo + "data_criacao")))
            {
                usuarioReturn.DataCriacao = System.Convert.ToDateTime(dr[prefixo + "data_criacao"]);
            }
            else
            {
                usuarioReturn.DataCriacao = DateTime.MinValue;
            }

            return usuarioReturn;
        }//populateUsuario()
Ejemplo n.º 16
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request.Browser.IsMobileDevice & Utils.HabilitarMobile)
            {
                lblIsMobile.Text = "Versão Mobile";
            }
            else
            {
                lblIsMobile.Text = "Versão Desktop";
            }

            pageStack = (PageStack)Session["PageStack"];

            if (pageStack == null)
            {
                LinkButtonVoltar.Visible = false;
            }
            else
            {
                if (pageStack.hasPages())
                {
                    LinkButtonVoltar.Visible = true;
                }
                else
                {
                    LinkButtonVoltar.Visible = false;
                }
            }

            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            lblMensagem.Text = (String)Session["mensagem"];
            Session["mensagem"] = "";

            if (usuarioLogado != null)
            {
                LinkButtonUsuarioLogado.Text = usuarioLogado.Apelido;
                LinkButtonUsuarioLogado.Enabled = true;
                btnLogout.Visible = true;
                btnLogin.Visible = false;
                LinkButtonMeusDesejos.Visible = true;
                HyperLinkCriarDesejo.Visible = true;
                LinkButtonPropostasRecebidas.Visible = true;
                LinkButtonPropostasFeitas.Visible = true;
            }
            else
            {
                LinkButtonUsuarioLogado.Text = "Não logado";
                LinkButtonUsuarioLogado.Enabled = false;
                btnLogout.Visible = false;
                btnLogin.Visible = true;
                LinkButtonMeusDesejos.Visible = false;
                HyperLinkCriarDesejo.Visible = false;
                LinkButtonPropostasRecebidas.Visible = false;
                LinkButtonPropostasFeitas.Visible = false;
            }

            if (Session["PedirConfirmacao"] != null)
            {
                if ((bool)Session["PedirConfirmacao"])
                {
                    btnConfirm.Visible = true;
                    btnCancel.Visible = true;
                }
                else
                {
                    btnConfirm.Visible = false;
                    btnCancel.Visible = false;
                }
            }
            else
            {
                btnConfirm.Visible = false;
                btnCancel.Visible = false;
            }
            Session["PedirConfirmacao"] = false;
            desejo = (Desejo)Session["Desejo"];
            if (desejo == null)
            {
                LinkButtonUltimoDesejo.Visible = false;
                lblUltimoDesejo.Visible = false;
            }
            else
            {
                lblUltimoDesejo.Visible = true;
                LinkButtonUltimoDesejo.Visible = true;
                LinkButtonUltimoDesejo.Text = Utils.truncateString(desejo.DescricaoCurta);
                LinkButtonUltimoDesejo.Click += LinkButtonUltimoDesejo_Click;
            }            
        }//Page_Load()
Ejemplo n.º 17
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            if (usuarioLogado == null)
            {
                Session["mensagem"] = "É necessário fazer login para visualizar uma proposta.";
                return;
            }

            if (Request["id_proposta"] != null)
            {
                proposta = new Proposta();
                proposta.IdProposta = System.Convert.ToInt64(Request["id_proposta"]);                
            }

            if (proposta == null) proposta = (Proposta)Session["Proposta"];

            proposta.Desejo = new Desejo();//faço isso para filtrar se o desejo tiver sido deletado
            buscarProposta();

            if (proposta == null)
            {
                Session["mensagem"] = strNaoEncontrada;
                btnAceitarProposta.Visible = false;
                btnDeleteProposta.Visible = false;
                btnDesfazerAceitacao.Visible = false;
                btnVerMensagens.Visible = false;
                return;
            }

            if (proposta.Usuario.IdUsuario != usuarioLogado.IdUsuario)
            {
                if (proposta.Desejo.Usuario.IdUsuario != usuarioLogado.IdUsuario)
                {
                    Session["mensagem"] = "Somente propostas feitas por você ou para seus desejos podem ser visualizadas.";
                    return;
                }
                else
                {
                    meuPapel = Usuario.EnumQuem.PEDINTE;
                }
            }
            else
            {
                meuPapel = Usuario.EnumQuem.PROPONENTE;
            }

            LinkButtonDesejo.Text = Utils.truncateString(proposta.Desejo.DescricaoCurta);
            lblDataProposta.Text = Utils.formatDatetimeToScreen3(proposta.DataProposta);
            lblNomeUsuarioProposta.Text = proposta.Usuario.Apelido;
            lblTipoProposta.Text = proposta.TipoProposta.Descricao;
            lblValor.Text = Utils.formatDoubleToScreen(proposta.ValorProposta);

            lblNumMensagens.Text = "Essa proposta recebeu " + proposta.NumMensagens.ToString() + " mensagens.";

            btnVerMensagens.Text = "Ver mensagens / Enviar Mensagem";

            if (proposta.Desejo.IdPropostaAceita == proposta.IdProposta)//essa proposta está selecionada
            {
                lblPropostaSelecionada.Text = "Essa proposta foi selecionada.";
                btnAceitarProposta.Visible = false;
                btnDesfazerAceitacao.Visible = true;
                lblAvaliarProposta.Visible = true;
                radioButtonListAvaliacao.Visible = true;
            }
            else
            {
                if (proposta.Desejo.IdPropostaAceita < 0)//nenhuma proposta foi selecionada
                {
                    btnAceitarProposta.Visible = true;
                    btnDesfazerAceitacao.Visible = false;
                }
                else
                {
                    lblPropostaSelecionada.Text = "Uma outra proposta foi selecionada.";
                    btnAceitarProposta.Visible = true;
                    btnDesfazerAceitacao.Visible = false;
                }
            }

            if (proposta.Desejo.Usuario.IdUsuario != usuarioLogado.IdUsuario)
            {
                btnAceitarProposta.Visible = false;
                btnDesfazerAceitacao.Visible = false;
                lblAvaliarProposta.Visible = false;
                radioButtonListAvaliacao.Visible = false;
            }
        }//Page_Load()
Ejemplo n.º 18
0
        }//criarUsuario()

        public static int alterarSenhaUsuario(Usuario usuario)
        {
            //SqlDataReader dr = null;
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;
            RNGCryptoServiceProvider rnd;
            //String strSql = "UPDATE id_usuario from Usuario where email='" + novousuario.Email + "'";

            try
            {
                conn = new SqlConnection(ConnString);
                conn.Open();
                cmd = conn.CreateCommand();
                cmd.CommandType = System.Data.CommandType.Text;

                rnd = new RNGCryptoServiceProvider();
                byte[] salt = new byte[20];
                rnd.GetBytes(salt);
                rnd.Dispose();

                String strSalt = byteArray2String(salt);

                cmd.CommandText = "UPDATE Usuario set password = '******', salt='" + strSalt + "' where id_usuario = ";
                cmd.CommandText += usuario.IdUsuario.ToString();

                trans = conn.BeginTransaction();
                cmd.Transaction = trans;
                cmd.ExecuteNonQuery();
                trans.Commit();
                return 0;//sucesso
            }
            catch
            {
                //if (dr != null) dr.Close();
                trans.Rollback();
                return 1;//erro
            }
            finally
            {
                //if (dr != null) dr.Close();
                if (conn != null) conn.Close();
            }
        }//alterarSenhaUsuario()
Ejemplo n.º 19
0
        public static EnumUserCreationResult criarUsuario(Usuario novousuario)
        {
            /*
        id_usuario
        apelido
        email
        password
        salt
        celular
        */
            SqlDataReader dr = null;
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;
            RNGCryptoServiceProvider rnd;            
            String strSql = "SELECT id_usuario from Usuario where email='" + novousuario.Email + "'";

            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;
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    dr.Close();
                    trans.Rollback();
                    return EnumUserCreationResult.EMAIL_JA_EXISTENTE;
                }

                dr.Close();
                strSql = "SELECT id_usuario from Usuario where apelido='" + novousuario.Apelido + "'";
                cmd.CommandText = strSql;
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    dr.Close();
                    trans.Rollback();
                    return EnumUserCreationResult.APELIDO_JA_EXISTENTE;
                }
                dr.Close();

                strSql = "INSERT into Usuario(apelido, email, celular, password, salt, token) output Inserted.id_usuario VALUES ('";
                strSql += Utils.limpaString(novousuario.Apelido) + "','" + Utils.limpaString(novousuario.Email) + "','";
                strSql += Utils.limpaString(novousuario.Celular) + "'"; // +"',convert(binary(20),'";

                rnd = new RNGCryptoServiceProvider();
                byte[] salt = new byte[20];
                rnd.GetBytes(salt);
                rnd.Dispose();

                String strSalt = byteArray2String(salt);

                //strSql += GetSHA1HashData(strSalt + novousuario.Password) + "'), convert(binary(20),'" + strSalt + "'),'";
                //strSql += GetSHA1HashData(novousuario.Password) + "'), convert(binary(20),'" + strSalt + "'),'";

                strSql += ",'" + GetSHA1HashData(strSalt + novousuario.Password) + "'";
                strSql += ",'" + strSalt + "'";
                novousuario.Token = Guid.NewGuid();
                strSql += ",'" + novousuario.Token.ToString() + "')";

                cmd.CommandText = strSql;
                dr = cmd.ExecuteReader();
                if (dr.Read())
                {
                    novousuario.IdUsuario = System.Convert.ToInt32(dr["id_usuario"]);
                }
                dr.Close();
                trans.Commit();
                return EnumUserCreationResult.SUCCESS;
            }
            catch
            {
                if (dr != null) dr.Close();
                trans.Rollback();
                return EnumUserCreationResult.UNKNOWN_ERROR;
            }
            finally
            {
                if (dr != null) dr.Close();
                if (conn != null) conn.Close();
            }
        }//criarUsuario()
Ejemplo n.º 20
0
        protected void LinkButton1_Click(object sender, EventArgs e)
        {
            if (TextBoxEmail.Text == "")
            {
                lblMensagem.Text = "Preencha o e-mail para resetar sua senha.";
                return;
            }

            Usuario usuarioBusca = new Usuario();
            usuarioBusca.Email = TextBoxEmail.Text;
            ArrayList alTemp = DataAccess.queryUsuario(usuarioBusca, null);
            if (alTemp.Count != 0)
            {
                Usuario usuarioEncontrado = (Usuario)alTemp[0];
                usuarioEncontrado.Token = Guid.NewGuid();
                if (DataAccess.resetUsuario(usuarioEncontrado) == 0)
                {
                    if (!Request.IsLocal) LIEmail.mandarMailResetSenhaUsuario(usuarioEncontrado);
                }
            }//if

            lblMensagem.Text = "Se o e-mail informado estiver correto, foi enviado um e-mail com as instruções para resetar a sua senha.";
            //Response.Redirect("login.aspx");
        }
Ejemplo n.º 21
0
        }//alterarDadosUsuario()

        public static int validarUsuario(Usuario usuarioValidar)
        {
            //SqlDataReader dr = null;
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;            
            String strSql = "UPDATE Usuario set token = NULL,";
            strSql += " data_criacao = case when (data_criacao is null ) then GETDATE() else data_criacao end";
            strSql += " where id_usuario = ";
            strSql += usuarioValidar.IdUsuario.ToString();

            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
            {
                //if (dr != null) dr.Close();
                trans.Rollback();
                return 1;//erro
            }
            finally
            {
                //if (dr != null) dr.Close();
                if (conn != null) conn.Close();
            }
        }//validarUsuario()
Ejemplo n.º 22
0
        }//validarUsuario()

        /// <summary>
        /// o token do usuarioReset tem que estar preenchido com um valor diferente de empty!
        /// </summary>
        /// <param name="usuarioReset"></param>
        /// <returns></returns>
        public static int resetUsuario(Usuario usuarioReset)
        {
            //SqlDataReader dr = null;
            SqlConnection conn = null;
            SqlCommand cmd = null;
            SqlTransaction trans = null;
            String strSql = "UPDATE Usuario set token = '" + usuarioReset.Token.ToString();
            strSql += "' where id_usuario = ";
            strSql += usuarioReset.IdUsuario.ToString();

            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
            {
                //if (dr != null) dr.Close();
                trans.Rollback();
                return 1;//erro
            }
            finally
            {
                //if (dr != null) dr.Close();
                if (conn != null) conn.Close();
            }
        }//resetUsuario()
Ejemplo n.º 23
0
        protected void btnOK_Click(object sender, EventArgs e)
        {
            lblMensagem.Text = "";

            if (TextBoxEmail.Text.Trim() == "")
            {
                lblMensagem.Text = "O e-mail não pode estar vazio.";
                return;
            }

            if (!checkApelido())
            {
                lblMensagem.Text = "O apelido só pode conter letras, números e underlines (_), sem espaço.";
                return;
            }

            if (TextBoxSenha1.Text.Length < 8)
            {
                lblMensagem.Text = "A senha precisa ter no mínimo 8 caracteres.";
                return;
            }

            if (TextBoxSenha1.Text.Length > 20)
            {
                lblMensagem.Text = "A senha precisa ter no máximo 20 caracteres.";
                return;
            }

            if (TextBoxSenha1.Text != TextBoxSenha2.Text)
            {
                lblMensagem.Text = "As senhas precisam coincidir.";
                return;
            }

            /*
            if (TextBoxCelular.Text.Length > 14)
            {
                lblMensagem.Text = "O número do celular só pode ter 14 algarismos no máximo.";
                return;
            }
            */

            if (!CheckBoxAceitarTermos.Checked)
            {
                lblMensagem.Text = "Você precisa aceitar os termos de uso do site para continuar.";
                return;
            }

            /*
            if (!Utils.ValidateReCaptcha())
            {
                lblMensagem.Text = "Preencha corretamente o texto de validação.";
                return;
            }
            */

            Usuario novoUsuario = new Usuario();
            novoUsuario.Apelido = TextBoxApelido.Text;
            //novoUsuario.Celular = TextBoxCelular.Text;
            novoUsuario.Email = TextBoxEmail.Text;
            novoUsuario.Password = TextBoxSenha1.Text;
            DataAccess.EnumUserCreationResult resultado = DataAccess.criarUsuario(novoUsuario);
            switch (resultado)
            {
                case DataAccess.EnumUserCreationResult.APELIDO_JA_EXISTENTE:
                    lblMensagem.Text = "Essa apelido já existe. Escolha outro por favor.";
                    break;
                case DataAccess.EnumUserCreationResult.EMAIL_JA_EXISTENTE:
                    lblMensagem.Text = "O e-mail informado já existe no sistema. Se o e-mail for seu, tente fazer logon.";
                    break;
                case DataAccess.EnumUserCreationResult.UNKNOWN_ERROR:
                    lblMensagem.Text = "Erro de sistema. Tente outra vez, por favor.";
                    break;
                case DataAccess.EnumUserCreationResult.SUCCESS:
                    //lblMensagem.Text = "Usuário criado com sucesso.";
                    Session["mensagem"] = "Obrigado por se cadastrar. Por favor, siga as instruções enviadas para seu e-mail.";
                    if (!Request.IsLocal) LIEmail.mandarMailCriacaoUsuario(novoUsuario);
                    Response.Redirect("home.aspx");
                    break;
            }//switch
        }//btnOK_Click()
Ejemplo n.º 24
0
        }//resetUsuario()

        public static ArrayList queryUsuario(Usuario usuarioBusca, LIqueryParameters paramsBusca)
        {
            ArrayList alReturn = null;
            SqlDataReader dr = null;
            SqlConnection conn = null;
            SqlCommand cmd = null;
            bool bWhere = false;
            int iTemp;

            String strSql = "SELECT";
            String strSelect = " U.*";

            if (paramsBusca != null)
            {
                if (paramsBusca.Top > 0)
                {
                    strSql += " TOP " + paramsBusca.Top.ToString() + strSelect;
                }
                else
                {
                    strSql += strSelect;
                }
            }
            else
            {
                strSql += strSelect;
            }

            strSql += " FROM Usuario U";

            if (usuarioBusca.IdUsuario >= 0)
            {
                if (bWhere)
                {
                    strSql += " AND ";
                }
                else
                {
                    strSql += " WHERE ";
                    bWhere = true;
                }
                strSql += "U.id_usuario = " + usuarioBusca.IdUsuario.ToString();
            }//if

            if (usuarioBusca.Email != "")
            {
                if (bWhere)
                {
                    strSql += " AND ";
                }
                else
                {
                    strSql += " WHERE ";
                    bWhere = true;
                }
                strSql += "U.email = '" + usuarioBusca.Email + "'";
            }//if

            if (paramsBusca != null)
            {
                if (paramsBusca.OrderBy.Count != 0)
                {
                    strSql += " ORDER BY ";
                    iTemp = 0;
                    foreach (ColumnOrder col in paramsBusca.OrderBy)
                    {
                        if (iTemp != 0) strSql += ",";
                        strSql += "U." + col.ColumnName;
                        if (col.Order == ColumnOrder.OrderType.ASC)
                        {
                            strSql += " ASC";
                        }
                        else
                        {
                            strSql += " DESC";
                        }
                        iTemp++;
                    }
                }
            }

            try
            {
                conn = new SqlConnection(ConnString);
                conn.Open();
                cmd = conn.CreateCommand();
                cmd.CommandType = System.Data.CommandType.Text;
                cmd.CommandText = strSql;
                dr = cmd.ExecuteReader();
                alReturn = new ArrayList();
                while (dr.Read())
                {
                    alReturn.Add(populateUsuario(dr, ""));
                }//while
                return alReturn;
            }
            catch(Exception)// ex)
            {
                /*
                ArrayList alErro = new ArrayList();
                Usuario userLixo = new Usuario();
                userLixo.Apelido = ex.Message;                
                alErro.Add(userLixo);
                return alErro;
                */
                return new ArrayList();//se deu erro então retorna um arraylist vazio                
            }
            finally
            {
                if (dr != null)
                {
                    dr.Close();
                }
                if (conn != null)
                {
                    conn.Close();
                }
            }
        }//queryUsuario()
Ejemplo n.º 25
0
        protected new void Page_Load(object sender, EventArgs e)
        {
            TableRow row;
            TableCell cell;

            proposta = (Proposta)Session["Proposta"];
            if (proposta == null)
            {
                Session["mensagem"] = "Proposta não encontrada.";
                disableAll();
                return;
            }

            usuarioLogado = (Usuario)Session["UsuarioLogado"];
            if (usuarioLogado == null)
            {
                Session["mensagem"] = "Para visualizar mensagens, faça login primeiro";
                disableAll();
                return;
            }

            if ((proposta.Usuario.IdUsuario != usuarioLogado.IdUsuario) && (proposta.Desejo.Usuario.IdUsuario != usuarioLogado.IdUsuario))
            {
                Session["mensagem"] = "Você não tem permissão para visualizar mensagens para essa proposta";
                disableAll();
                return;
            }

            LinkButtonDesejo.Text = "Desejo: " + Utils.truncateString(proposta.Desejo.DescricaoCurta);
            LinkButtonProposta.Text = "Proposta feita por " + proposta.Usuario.Apelido + " às " + Utils.formatDatetimeToScreen2(proposta.DataProposta);

            if (usuarioLogado.IdUsuario == proposta.Usuario.IdUsuario)
            {
                meuPapel = Usuario.EnumQuem.PROPONENTE;
            }
            else
            {
                if (usuarioLogado.IdUsuario == proposta.Desejo.Usuario.IdUsuario)
                {
                    meuPapel = Usuario.EnumQuem.PEDINTE;
                }
            }

            ArrayList alMensagens = DataAccess.queryMensagens(proposta, null);
            if (alMensagens.Count == 0)
            {
                Session["mensagem"] = "Sem mensagens para essa proposta";
                return;
            }

            foreach (Mensagem mensagem in alMensagens)
            {
                row = new TableRow();
                
                if (mensagem.QuemPostou == meuPapel)//a mensagem é minha
                {
                    row.BackColor = System.Drawing.Color.FromArgb(200, 200, 200);

                    cell = new TableCell();
                    cell.Text = "Você às " + Utils.formatDatetimeToScreen2(mensagem.DataHoraMensagem);
                    row.Cells.Add(cell);
                    cell = new TableCell();
                    //cell.Style.Add("background-image", "url('Images/balao_esquerda.jpg')");
                    
                    cell.Text = mensagem.Texto;
                    row.Cells.Add(cell);
                    cell = new TableCell();
                    cell.BackColor = System.Drawing.Color.FromArgb(255, 255, 255);
                    row.Cells.Add(cell);
                }
                else//a mensagem é do outro. quem é o outro?
                {
                    row.BackColor = System.Drawing.Color.FromArgb(160, 160, 160);

                    cell = new TableCell();
                    cell.BackColor = System.Drawing.Color.FromArgb(255, 255, 255);
                    row.Cells.Add(cell);
                    cell = new TableCell();
                    cell.Text = mensagem.Texto;
                    row.Cells.Add(cell);
                    cell = new TableCell();

                    if (meuPapel == Usuario.EnumQuem.PEDINTE)//eu sou o pedinte. logo, o outro é p proponente:
                    {
                        cell.Text = mensagem.Proposta.Usuario.Apelido + " às " + Utils.formatDatetimeToScreen2(mensagem.DataHoraMensagem);
                    }
                    else//eu sou o proponente. logo, o outro é o pedinte:
                    {
                        cell.Text = mensagem.Proposta.Desejo.Usuario.Apelido + " às " + Utils.formatDatetimeToScreen2(mensagem.DataHoraMensagem);
                    }
                    row.Cells.Add(cell);
                }
                
                tblResultado.Rows.Add(row);
            }//foreach

            DataAccess.atualizarDataViewMensagem(proposta, meuPapel);

            lblNovaMensagem.Text = "Nova mensagem (máximo de " + Mensagem.TamanhoMaximoText.ToString() + " caracteres):";
            //TextBoxNovaMensagem.MaxLength = Mensagem.TamanhoMaximoText;
        }//Page_Load()
Ejemplo n.º 26
0
        }//mandarMailResetSenhaUsuario()

        public static int mandarMailSenhaAlterada(Usuario usuario)
        {
            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);
            mail.To.Add(new MailAddress(usuario.Email, usuario.Apelido));
            //mail.CC.Add(new MailAddress("*****@*****.**"));
            mail.Subject = "InverShop - senha alterada";
            mail.BodyEncoding = System.Text.Encoding.UTF8;
            mail.Body = "Prezado " + usuario.Apelido + ",<br><br>";
            mail.Body += "Sua senha foi alterada na InverShop (invershop.com).<br>";
            mail.Body+="Se foi você quem fez isso, pode apagar esse e-mail sem problemas.<br>";
            mail.Body += "Caso contrário, alguém pode ter alterado a sua senha. Nesse caso, entre no site invershop.com e altere sua senha.";

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