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;
            }
        }
 private bool VerificaFoto(Foto foto)
 {
     if (!string.IsNullOrEmpty(foto.NomeFoto))
     {
         string extensao = foto.NomeFoto.Split('.')[foto.NomeFoto.Split('.').Length - 1];
         if (extensao.ToLower().Equals("jpeg") || extensao.ToLower().Equals("jpg") || extensao.ToLower().Equals("bmp") || extensao.ToLower().Equals("gif") || extensao.ToLower().Equals("png"))
             foto.FotoValida = true;
         else
             throw new Exception("Formato de foto inválido");
     }
     return foto.FotoValida;
 }
        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";
            }
        }