/// <summary>
        /// Reinicia todos os controles de caixa postal para o seu estado inicial
        /// </summary>
        private void ReiniciaControles()
        {
            List <CaixaPostal> caixasPostais = (List <CaixaPostal>)GerenciamentoCaixaPostal.CarregaCaixasPostais();

            this.ViewState[ConstantesGlobais.CAIXAS_POSTAIS] = caixasPostais;

            this.TxtNomeCaixaPostal.Text   = string.Empty;
            this.TxtEnderecoEmail.Text     = string.Empty;
            this.TxtEnderecoServidor.Text  = string.Empty;
            this.TxtPorta.Text             = string.Empty;
            this.BtnSalvar.CommandArgument = string.Empty;

            this.RptCaixaPostal.DataSource = caixasPostais.OrderBy(u => u.NomeCaixaPostal);
            this.RptCaixaPostal.DataBind();
        }
        /// <summary>
        /// Exclui a caixa postal
        /// </summary>
        /// <param name="idCaixaPostal">Identificador da caixa postal</param>
        private void ExcluiCaixaPostal(int idCaixaPostal)
        {
            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (!GerenciamentoCaixaPostal.ExcluiCaixaPostal(idCaixaPostal))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_EXCLUSAO;
                return;
            }

            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
            this.LblMensagem.Text = MENSAGEM_SUCESSO_EXCLUSAO;

            this.ReiniciaControles();
        }
        /// <summary>
        /// Atualiza as informações da caixa postal
        /// </summary>
        /// <param name="idCaixaPostal">Identificador da caixa postal</param>
        private void AtualizaCaixaPostal(int?idCaixaPostal)
        {
            List <CaixaPostal> caixasPostais = (List <CaixaPostal>) this.ViewState[ConstantesGlobais.CAIXAS_POSTAIS];
            CaixaPostal        caixaPostal   = idCaixaPostal.HasValue ? caixasPostais.First(c => c.Id == idCaixaPostal) : new CaixaPostal();

            caixaPostal.NomeCaixaPostal  = this.TxtNomeCaixaPostal.Text;
            caixaPostal.EnderecoEmail    = this.TxtEnderecoEmail.Text;
            caixaPostal.EnderecoServidor = this.TxtEnderecoServidor.Text;
            caixaPostal.Porta            = this.TxtPorta.Text;
            caixaPostal.Senha            = this.TxtSenha.Text;

            this.DivMensagem.Visible             = true;
            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_ERRO;

            if (string.IsNullOrEmpty(caixaPostal.NomeCaixaPostal))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_NOME_VAZIO;
                return;
            }

            if (string.IsNullOrEmpty(caixaPostal.EnderecoEmail) || !Util.EEmailValido(caixaPostal.EnderecoEmail))
            {
                this.LblMensagem.Text = MENSAGEM_ERRO_EMAIL_INVALIDO;
                return;
            }

            if (!GerenciamentoCaixaPostal.AtualizaCaixaPostal(caixaPostal))
            {
                this.LblMensagem.Text = caixaPostal.Id.HasValue ? MENSAGEM_ERRO_EDICAO : MENSAGEM_ERRO_INCLUSAO;
                return;
            }

            this.DivMensagem.Attributes["class"] = ConstantesGlobais.CLASSE_MENSAGEM_SUCESSO;
            this.LblMensagem.Text = caixaPostal.Id.HasValue ? MENSAGEM_SUCESSO_EDICAO : MENSAGEM_SUCESSO_INCLUSAO;

            this.ReiniciaControles();
        }