Esempio n. 1
0
        /// <summary>
        /// Cria ou modifica uma caixa postal
        /// </summary>
        /// <param name="caixaPostal">Caixa postal base para a criação ou modificação</param>
        /// <returns>Indica se a criação ou modificação foi bem sucedida</returns>
        public static bool AtualizaCaixaPostal(CaixaPostal caixaPostal)
        {
            string json;

            try
            {
                if (caixaPostal.Id.HasValue)
                {
                    AuxiliarJson.Coloca(caixaPostal, EnderecosApi.ContaEmail + "/" + caixaPostal.Id, true);
                }
                else
                {
                    json        = AuxiliarJson.Posta(caixaPostal, EnderecosApi.ContaEmail);
                    caixaPostal = (CaixaPostal)AuxiliarJson.Desserializa <CaixaPostal>(json);
                    return(true);
                }

                return(true);
            }
            catch (Exception ex)
            {
                Log.Info(ex.InnerException == null ? ex.Message : ex.InnerException.ToString());
                return(false);
            }
        }
        /// <summary>
        /// Define os controles de edição com os valores da caixa postal
        /// </summary>
        /// <param name="idCaixaPostal">Identificador da caixa postal</param>
        private void EditaCaixaPostal(int idCaixaPostal)
        {
            List <CaixaPostal> caixasPostais = (List <CaixaPostal>) this.ViewState[ConstantesGlobais.CAIXAS_POSTAIS];
            CaixaPostal        caixaPostal   = caixasPostais.First(c => c.Id == idCaixaPostal);

            this.TxtNomeCaixaPostal.Text   = caixaPostal.NomeCaixaPostal;
            this.TxtEnderecoEmail.Text     = caixaPostal.EnderecoEmail;
            this.TxtEnderecoServidor.Text  = caixaPostal.EnderecoServidor;
            this.TxtPorta.Text             = caixaPostal.Porta;
            this.BtnSalvar.CommandArgument = caixaPostal.Id.ToString();
        }
        /// <summary>
        /// Evento de construção de cada linha de caixa postal na tabela
        /// </summary>
        /// <param name="sender">Objeto que disparou esse evento</param>
        /// <param name="e">Contém os argumentos fornecidos nesse evento</param>
        protected void RptCaixaPostal_ItemDataBound(object sender, RepeaterItemEventArgs e)
        {
            if (e != null && (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem))
            {
                CaixaPostal caixaPostal         = (CaixaPostal)e.Item.DataItem;
                Label       lblNomeCaixaPostal  = (Label)e.Item.FindControl("LblNomeCaixaPostal");
                Label       lblEnderecoEmail    = (Label)e.Item.FindControl("LblEnderecoEmail");
                Label       lblEnderecoServidor = (Label)e.Item.FindControl("LblEnderecoServidor");
                LinkButton  btnEditar           = (LinkButton)e.Item.FindControl("BtnEditar");
                LinkButton  btnExcluir          = (LinkButton)e.Item.FindControl("BtnExcluir");

                lblNomeCaixaPostal.Text    = caixaPostal.NomeCaixaPostal;
                lblEnderecoEmail.Text      = caixaPostal.EnderecoEmail;
                lblEnderecoServidor.Text   = caixaPostal.EnderecoServidor;
                btnEditar.CommandArgument  = caixaPostal.Id.ToString();
                btnExcluir.CommandArgument = caixaPostal.Id.ToString();
            }
        }
        /// <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();
        }