protected void Page_Load(object sender, EventArgs e)
        {
            if(!Page.IsPostBack)
            {
                string Login = Page.User.Identity.Name;

                UsuarioBll UsuarioBll = new UsuarioBll();
                Usuario Usuario = UsuarioBll.RetornaUsuario(Login);

                if(Usuario.Tipo.Equals(TipoUsuario.Admin.GetHashCode()))
                {
                    Response.Redirect("~/Admin/Pedidos.aspx");
                }
                else if(Usuario.Tipo.Equals(TipoUsuario.Cli.GetHashCode()))
                {
                    Response.Redirect("~/Cli/Pedidos.aspx");
                }
            }
        }
        protected void gvUsuarios_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            if (e.CommandName.Equals("Alterar"))
            {
                int index = int.Parse(e.CommandArgument.ToString());
                int ID = int.TryParse(gvUsuarios.Rows[index].Cells[1].Text, out ID) ? ID : 0;

                try
                {
                    UsuarioBll usuarioBll = new UsuarioBll();
                    Usuario usuario = usuarioBll.RetornaUsuario(ID);

                    txtID.Text = string.Format("{0:000000}", usuario.ID);
                    txtNome.Text = usuario.Nome;
                    txtLogin.Text = usuario.Login;
                    txtSenha.Text = usuario.Senha;
                    txtEmail.Text = usuario.Email;
                    cbAtivo.Checked = usuario.Ativo;

                    hfTipoOperacao.Value = TipoOperacao.Update.ToString();
                }
                catch (Exception ex)
                {
                    LogBll.InserirLog(new Log
                    {
                        Data = DateTime.Now,
                        ItemID = ID,
                        Login = Context.User.Identity.Name,
                        Mensagem = ex.Message,
                        Operacao = TipoOperacao.Read.ToString(),
                        Tabela = "Usuario"
                    });
                    Msg.Erro(Resource.ContateAdminstrador, this);
                }
            }
        }
        private void AlterarUsuario()
        {
            int ID = int.TryParse(txtID.Text, out ID) ? ID : 0;

            try
            {
                UsuarioBll usuarioBll = new UsuarioBll();
                Usuario usuario = usuarioBll.RetornaUsuario(ID);

                usuario.Login = txtLogin.Text;

                if (!usuarioBll.VerificaUsuarioExistente(usuario, TipoOperacao.Update))
                {
                    usuario.Nome = txtNome.Text;
                    usuario.Senha = txtSenha.Text;
                    usuario.Email = txtEmail.Text;
                    usuario.Ativo = cbAtivo.Checked;

                    usuarioBll.AlterarUsuario(usuario);
                    LimparFormulario();

                    LogBll.InserirLog(new Log
                    {
                        ItemID = usuario.ID,
                        Data = DateTime.Now,
                        Login = Context.User.Identity.Name,
                        Operacao = hfTipoOperacao.Value,
                        Tabela = "Usuario"
                    });
                    Msg.Sucesso(Resource.ItemSalvoSucesso, this);
                }
                else
                {
                    Msg.Info(string.Format(Resource.UsuarioExistente, usuario.Login), this);
                }
            }
            catch (Exception ex)
            {
                LogBll.InserirLog(new Log
                {
                    ItemID = ID,
                    Data = DateTime.Now,
                    Mensagem = ex.Message,
                    Operacao = hfTipoOperacao.Value,
                    Tabela = "Usuario",
                    Login = Context.User.Identity.Name
                });
                Msg.Erro(Resource.ContateAdminstrador, this);
            }
        }
        private void ExcluirUsuario()
        {
            int contador = 0;

            try
            {
                foreach (GridViewRow row in gvUsuarios.Rows)
                {
                    CheckBox chkSelecionado = (CheckBox)row.FindControl("chkSelecionar");

                    if (chkSelecionado.Checked.Equals(true))
                    {
                        int ID = int.TryParse(row.Cells[1].Text, out ID) ? ID : 0;

                        Usuario usuario = new Usuario();
                        UsuarioBll usuarioBll = new UsuarioBll();

                        usuario = usuarioBll.RetornaUsuario(ID);

                        usuarioBll.RemoverUsuario(usuario);

                        contador++;

                        LogBll.InserirLog(new Log
                        {
                            ItemID = usuario.ID,
                            Login = Context.User.Identity.Name,
                            Operacao = TipoOperacao.Delete.ToString(),
                            Tabela = "Usuario",
                            Data = DateTime.Now
                        });
                    }
                }

                if (contador > 0)
                    Msg.Sucesso(string.Format(Resource.ItemExcluidoSucesso, contador), this);
                else
                    Msg.Warning(Resource.ItemSelecioneExclusao, this);

                LimparFormulario();
                BindarGrid();
            }
            catch (Exception ex)
            {
                LogBll.InserirLog(new Log
                {
                    Data = DateTime.Now,
                    Login = Context.User.Identity.Name,
                    Mensagem = ex.Message,
                    Operacao = TipoOperacao.Delete.ToString(),
                    Tabela = "Usuario"
                });

                Msg.Erro(Resource.ContateAdminstrador, this);
            }
        }