public bool insertGRupo(Grupo grupo, Usuario user)
        {
            userDao = new UsuarioDao();
            try
            {
                if (grupo != null)
                {
                    if(grupo.Grup == 'a')
                    userDao.InsertUsuarioGrupo(1, user);
                    else if(grupo.Grup == 'b')
                        userDao.InsertUsuarioGrupo(2, user);
                    else
                        userDao.InsertUsuarioGrupo(3, user);

                    return true;
                }
                else
                {
                    return false;
                }
            }
            catch(Exception ex)
            {
                return false;
            }
        }
 public bool CadastrarUsuario(Usuario usuario)
 {
     AdoUtils ado = new AdoUtils();
     string query = "INSERT INTO tb_usuario (nm_usuario, email, senha, tipo_usuario, end_foto) " +
                    "VALUES (@nm_usuario, @email, @senha, @tipo_usuario, @end_foto);";
     List<KeyValuePair<string, object>> parametros = new List<KeyValuePair<string, object>>();
     parametros.Add(new KeyValuePair<string, object>("@nm_usuario", usuario.nm_usuario));
     parametros.Add(new KeyValuePair<string, object>("@email", usuario.email));
     parametros.Add(new KeyValuePair<string, object>("@senha", usuario.senha));
     //parametros.Add(new KeyValuePair<string, object>("@id_usuario", usuario.id_usuario));
     parametros.Add(new KeyValuePair<string, object>("@tipo_usuario", usuario.tipo_usuario));
     parametros.Add(new KeyValuePair<string, object>("@end_foto", usuario.end_foto));
     int codUsuario = 0;
     if (ado.ExecuteCommand(query, parametros.ToArray()))
     {
         query = "SELECT TOP 1 id_usuario FROM tb_usuario ORDER BY id_usuario DESC";
         int.TryParse(ado.GetObject(query).ToString(), out codUsuario);
         usuario.id_usuario = codUsuario;
         return true;
     }
     else
     {
         return false;
     }
 }
 public Usuario UpdateDadosUsuario(Usuario usuario)
 {
     AdoUtils ado = new AdoUtils();
     string query = "UPDATE tb_usuario SET nm_usuario = ('" + usuario.nm_usuario + "'), email = ('" + usuario.email + "'), senha = ('" + usuario.senha + "') where id_usuario = " + usuario.id_usuario;
     ado.ExecuteCommand(query);
     return usuario;
 }
 public bool UpdateFoto(Usuario usuario)
 {
     AdoUtils ado = new AdoUtils();
     //UsuarioBll userBll = new UsuarioBll();
     //string query = "UPDATE tb_usuario SET end_foto = ('../Util/Imagens/ImagensUsuarios/" + usuario.id_usuario + extencao + "') where id_usuario = " + usuario.id_usuario;
     string query = "UPDATE tb_usuario SET end_foto = '"+usuario.end_foto+"' where id_usuario = " + usuario.id_usuario;
     return ado.ExecuteCommand(query);
     //return usuario.end_foto;
 }
 public Usuario LoadUsuario(string email, string senha)
 {
     Usuario usuario = null;
         string query = "SELECT * FROM tb_usuario WHERE email = '" + email + "' AND senha = '" + senha + "'";
         AdoUtils ado = new AdoUtils();
         //   Boolean user = ado.ExecuteCommand(query);
         DataTable dt = ado.GetDataTable(query);
         if (dt.Rows.Count > 0)
         {
             usuario = new Usuario(dt.Rows[0]);
         }
     return usuario;
 }
        public bool CadastrarUsuario(Usuario usuario, string confSenha, Foto foto, out string mensagemResposta)
        {
            mensagemResposta = "";
            try
            {
                if (string.IsNullOrEmpty(usuario.nm_usuario))
                    throw new Exception("Nome não pode ser vazio!");

                if (string.IsNullOrEmpty(usuario.email) || !usuario.email.Contains("@"))
                    throw new Exception("Email inválido!");

                if (string.IsNullOrEmpty(usuario.senha))
                    throw new Exception("Senha não pode ser vazia");

                if (!usuario.senha.Equals(confSenha))
                    throw new Exception("As senhas não conferem");

                UsuarioDao dao = new UsuarioDao();

                if (VerificaFoto(foto))
                {
                    if (dao.CadastrarUsuario(usuario))
                    {
                        usuario.end_foto = @"../Util/Imagens/ImagensUsuarios/" + usuario.id_usuario + "." + foto.NomeFoto.Split('.')[foto.NomeFoto.Split('.').Length - 1];
                        dao.UpdateFoto(usuario);
                    }
                }
                else
                {
                    dao.CadastrarUsuario(usuario);
                }

                return true;

            }
            catch (System.Data.SqlClient.SqlException sqlEx)
            {
                mensagemResposta = "Houve um erro ao inserir o usuário no Banco de dados. <br>\n Número do erro: " + sqlEx.Number;
                return false;
            }
            catch (Exception ex)
            {
                mensagemResposta = ex.Message;
                return false;
            }
        }
        public Usuario loadUsuario(string email, string senha, out string mensagemErro)
        {
            mensagemErro = "";
            try
            {
                userDao = new UsuarioDao();
                user = userDao.LoadUsuario(email, senha);
                if (user != null)
                    return user;
                else
                {
                    mensagemErro = "Usuário Inválido!!";
                    return user;
                }

            }
            catch (Exception ex)
            {
                mensagemErro = "Erro ao carregar usuário! <br> Mensagem do erro: "+ex.Message;
                return null;
            }
        }
        //public string CadastrarUsuario(bool fotoValida, Usuario usuario)
        //{
        //    try
        //    {
        //        userDao = new UsuarioDao();
        //        //if (fotoValida)
        //        //{
        //            userDao.CadastrarUsuario(usuario);
        //            return "Cadastro realizado com sucesso!";
        //        //}
        //        //throw new Exception();
        //    }
        //    catch (Exception ex)
        //    {
        //        return "Usuario Invalido!";
        //    }
        //}
        /*
        public bool verificaFoto(Usuario usuario)
        {
            char[] ext = usuario.end_foto.ToCharArray();
            Array.Reverse(ext);
            Extencao = "";

            foreach (var item in ext)
            {
                Extencao += item;
                if (item == '.')
                {
                    break;
                }
            }

            ext = Extencao.ToCharArray();
            Array.Reverse(ext);
            Extencao = "";
            foreach (var item in ext)
            {
                Extencao += item;
            }

            if (Extencao == ".jpeg" || Extencao == ".jpg" || Extencao == ".bmp" || Extencao == ".gif" || Extencao == ".png")
            {
                return true;
            }
            else
            {
                Extencao = "Imagem invalida!";
                return false;
            }

        }*/
        //public bool UpdateFoto(Usuario usuario)
        //{
        //    if (usuario.end_foto != @"../Util/Imagens/ImagensUsuarios/" + usuario.id_usuario + Extencao)
        //    {
        //        usuario.end_foto = userDao.UpdateFoto(usuario);
        //        return true;
        //    }
        //    return false;
        //}
        public Usuario loadUsuario(Usuario usuario)
        {
            try
            {
                userDao = new UsuarioDao();
                user = userDao.LoadUsuario(usuario.email, usuario.senha);
                if (user != null)
                    return user;

            }
            catch (Exception ex)
            {

            }
            return user;
        }
 public void InsertUsuarioGrupo(int grupo, Usuario user)
 {
     AdoUtils ado = new AdoUtils();
     string query = "UPDATE tb_usuario SET id_grupo =('" + grupo +"') where id_usuario = " + user.id_usuario;
     ado.ExecuteCommand(query);
 }
        protected void bntConfirma_Click(object sender, EventArgs e)
        {
            try
            {
                string mensagemErro = "";

                if (cadastroNovo == true)
                {

                    user = new Usuario();

                    userBll = new UsuarioBll();
                    user.nm_usuario = txtNome.Text;
                    user.senha = txtSenha.Text;
                    user.email = txtEmail.Text;
                    user.end_foto = @"../Util/Imagens/ImagensSite/semfoto.jpg";
                    user.tipo_usuario = "usuario";

                    foto = new Foto();
                    foto.NomeFoto = AsyncFileUpload1.FileName;
                    foto.FotoValida = false;

                    if (userBll.CadastrarUsuario(user, txtConfirmaSenha.Text, foto, out mensagemErro))
                    {
                        if (foto.FotoValida)
                            AsyncFileUpload1.SaveAs(Server.MapPath(user.end_foto));
                        Session["usuario"] = user;
                        Response.Redirect("~/Pages/PerfilUsuario.aspx");
                    }
                    else
                    {
                        lblMensagem.Text = mensagemErro;
                        lblMensagem.Visible = true;
                    }

                    #region Comentado
                    //bool fotoValida = userBll.verificaFoto(user);
                    //if (fotoValida)
                    //{
                    //    AsyncFileUpload1.SaveAs(Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName));
                    //    path = @"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName;

                    //    lblMensagem.Text = userBll.CadastrarUsuario(fotoValida, user);
                    //    File.Move(Server.MapPath(path), Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + user.id_usuario + userBll.Extencao));
                    //    bool fotoAtualizada = userBll.updateFoto(user);
                    //}
                    //userBll.CadastrarUsuario(false, user);
                    #endregion
                }
                else // cadastro velho
                {
                    //aqui estará a edição né?

                    userBll = new UsuarioBll();
                    user = (Usuario)Session["usuario"];

                    user.nm_usuario = txtNome.Text;
                    user.senha = txtSenha.Text;
                    user.email = txtEmail.Text;
                    user.end_foto = @"../Util/Imagens/ImagensSite/semfoto.jpg";
                    user.tipo_usuario = "usuario";

                    foto = new Foto();
                    foto.NomeFoto = AsyncFileUpload1.FileName;
                    foto.FotoValida = false;

                    if (userBll.updateDadosUsuario(user,txtSenha.Text, txtConfirmaSenha.Text, foto, out mensagemErro))
                    {
                        if (foto.FotoValida)
                        {
                            AsyncFileUpload1.SaveAs(Server.MapPath(user.end_foto));
                        }
                        else if (File.Exists(Server.MapPath(user.end_foto)) && foto.FotoValida == false && user.end_foto != @"../Util/Imagens/ImagensSite/semfoto.jpg")
                        {
                            File.Delete(user.end_foto);
                        }
                    }
                    #region Comentado
                    ////bool fotoValida = userBll.verificaFoto(user);
                    ////if (fotoValida)
                    ////{
                    ////   // fuFotoPerfil.SaveAs(Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + fuFotoPerfil.FileName));
                    ////        AsyncFileUpload1.SaveAs(Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName));
                    ////   // path = @"../Util/Imagens/ImagensUsuarios/" + fuFotoPerfil.FileName;
                    ////        path = @"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName;

                    ////    //lblMensagem.Text = userBll.CadastrarUsuario(fotoValida, user);
                    ////    File.Delete(Server.MapPath(user.end_foto));
                    ////    File.Move(Server.MapPath(path), Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + user.id_usuario + userBll.Extencao));
                    //    //bool fotoAtualizada = userBll.updateFoto(user);
                    ////  //  bool dadosAtualizado = userBll.updateDadosUsuario(user);
                    ////}
                    #endregion
                }

                #region Comentado
                //userBll = new UsuarioBll();
                //user = new Usuario();

                //user.nm_usuario = txtNome.Text;
                //user.senha = txtSenha.Text;
                //user.email = txtEmail.Text;
                //user.end_foto = @"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName;
                //user.tipo_usuario = "usuario";
                //bool fotoValida = userBll.verificaFoto(user);

                //if (fotoValida)
                //{
                //    AsyncFileUpload1.SaveAs(Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName));
                //    path = @"../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName;

                //    lblMensagem.Text  =  userBll.CadastrarUsuario(fotoValida, user);
                //    File.Move(Server.MapPath(path), Server.MapPath(@"../Util/Imagens/ImagensUsuarios/" + user.id_usuario + userBll.Extencao));
                //    bool fotoAtualizada = userBll.updateFoto(user);
                //}
                //throw new Exception();
                //Session["usuario"] = user;
                //Response.Redirect("~/Pages/UpdateFoto.aspx");
                #endregion
            }
            catch (Exception ex)
            {
                lblMensagem.Text = "Ocorreram problemas na conclusão de seu cadastro";
            }
        }
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Session["usuario"] != null && !IsPostBack)
            {
                user = (Usuario)Session["usuario"];
                txtNome.Text = user.nm_usuario;
                txtEmail.Text = user.email;
                txtSenha.Text = string.Empty;
                txtConfirmaSenha.Text = string.Empty;
            }

            if (Session["usuario"] != null)
            {
                cadastroNovo = false;
            }
            else
                cadastroNovo = true;

            #region Comentado
            //if (Session["User"] != null)
            //{
            //    ViewState["usuario"] = Session["User"];
            //    Session.Remove("User");
            //}
            ////Upload de imagens para o avatar
            /*  if (Page.IsPostBack)
              {
                  if (AsyncFileUpload1.HasFile)
                  {
                      AsyncFileUpload1.SaveAs(Server.MapPath(@"~\Util\Imagens\ImagensUsuarios\" + AsyncFileUpload1.FileName));
                      Image1.ImageUrl = "../Util/Imagens/ImagensUsuarios/" + AsyncFileUpload1.FileName;
                      Image1.Height = 70;
                      Image1.Visible = true;
                      Image1.DataBind();
                  }
              }*/
            #endregion
        }
 protected void Page_Load(object sender, EventArgs e)
 {
     if (Session["usuario"] != null)
     {
         user = (Usuario)Session["usuario"];
         lblNome.Text = user.nm_usuario;
         imgPerfil.ImageUrl = user.end_foto;
     }
     else
     {
         Response.Redirect("~/Pages/Home.aspx");
     }
 }