/// <summary> /// Grava um contato inserindo ou atualizando o contato 02/04/2014 /// </summary> /// <param name="contato">objeto contato</param> /// <param name="notificacoes">mensagens de retorno </param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Gravar(Contato contato, out List<Notificacao> notificacoes) { bool cadastro = contato.Id == 0;//para informar se if (contato.Pessoa.Id <=0 )//Pessoa Id check { notificacoes = new List<Notificacao>(); notificacoes.Add(new Notificacao("Não foi possivel identificar a pessoa para cadastrar o contato.", 'e')); return false; } notificacoes = ValidaCampos(contato); if (notificacoes.Count > 0)//este ponto identifica erros de validacao return false; if (!(cadastro ? new DataBase.pessoa.ContatoBD().Inserir(contato) : new DataBase.pessoa.ContatoBD().Atualizar(contato))) { notificacoes.Add(new Notificacao("Problema com Banco de Dados, notifique o administrador", 'e')); return false; } notificacoes.Add(cadastro ? new Notificacao("Contato cadastrado com Sucesso", 's') : new Notificacao("Contato atualizado com Sucesso", 's')); return true; }
public void BtnsOpcoes(object sender, CommandEventArgs e) { switch (e.CommandName.ToString()) { case "Novo": { LimparCamposContato(); } break; case "Salvar": { var con = new Contato(Convert.ToInt32(conId.Value), ttbConDescricao.Text, Convert.ToInt32(ddlTipoContato.SelectedValue), ttbConObs.Text, new Pessoa(Convert.ToInt32(ddlPes.SelectedValue))); new ContatoCtr().GravaOuAtualiza(con); CarregaContatosPes(); LimparCamposContato(); } break; case "Cancelar": { } break; case "Excluir": { var con = new Contato(Convert.ToInt32(conId.Value), new Pessoa(Convert.ToInt32(ddlPes.SelectedValue))); new ContatoCtr().Excluir(con); CarregaContatosPes(); LimparCamposContato(); } break; } }
protected List<Notificacao> notificacoes = new List<Notificacao>(); //notificações #endregion Fields #region Methods public void BtnsOpcoes(object sender, CommandEventArgs e) { switch (e.CommandName) { case "gravar": { var contato = new Contato(Convert.ToInt32(contatoId.Value), ttbContatoDescricao.Text, Convert.ToChar(ddlTipoContato.SelectedValue), ttbObs.Text, new Pessoa(Convert.ToInt32(pesId.Value))); if (new ContatoCtr().Gravar(contato, out notificacoes)) { contatoId.Value = "0"; CarregaContatosPes(); LimparCamposContato(); } ((Sistema)Master).ExibirNotificacoes(notificacoes); } break; case "cancelar": { contatoId.Value = "0"; CarregaContatosPes(); LimparCamposContato(); } break; case "remover": { Notificacao notificacao; if (new ContatoCtr().Excluir(new Contato(Convert.ToInt32(contatoId.Value), new Pessoa(Convert.ToInt32(pesId.Value))), out notificacao)) { contatoId.Value = "0"; CarregaContatosPes(); LimparCamposContato(); } notificacoes.Add(notificacao);//insere o resultado da exclusao; ((Sistema)Master).ExibirNotificacoes(notificacoes); } break; case "selecionar": { contatoId.Value = e.CommandArgument.ToString(); CarregaContatosPes(); CarregaDadosContato(); } break; } }
/// <summary> /// Exclui um contato do banco de dados /// </summary> /// <param name="contato">Objeto contato</param> /// <param name="mensagem">Informativo sobre a operacao </param> /// <returns>verdadeiro em caso de exclusao com sucesso</returns> public bool Excluir(Contato contato, out Notificacao notificacao) { if (contato.Id <= 0) { notificacao = new Notificacao("Não foi possivel identificar o codigo do contato a ser excluido", 'e'); return false; } if (contato.Pessoa.Id <= 0) { notificacao = new Notificacao("Não foi possivel identificar o codigo da pessoa portadora do contato a ser excluido", 'e'); return false; } if (new DataBase.pessoa.ContatoBD().Excluir(contato)) { notificacao = new Notificacao("Contato Excluido com Sucesso", 's'); return true; } notificacao = new Notificacao("Não foi possivel excluir o contato informado, tente novamente, se o erro persistir contate o adminsitrador", 'e'); return false; }
/// <summary> /// recupera um contato do banco de dados 08/04/2014 /// </summary> /// <param name="contato">objeto contato com id desejada</param> /// <returns>Dados do contato do banco de dados</returns> public bool Recuperar(Contato contato, out Notificacao notificacao) { if (contato.Id <= 0) { notificacao = new Notificacao("Não foi possivel identificar o codigo do contato a ser recuperado", 'e'); return false; } if (!new DataBase.pessoa.ContatoBD().Recuperar(contato)) { notificacao = new Notificacao("Não foi possivel recuperar o contato, Erro no Banco de Dados", 'e'); return false; } notificacao = new Notificacao("Contato recuperado com sucesso", 's'); return true; }
/// <summary> /// traz uma lista de erros das validacoes do campos informados 02/04/2014 /// </summary> /// <param name="contato">Obj contato</param> /// <returns>Lista de Erros</returns> public List<Notificacao> ValidaCampos(Contato contato) { var list = new List<Notificacao>(); switch (contato.Tipo) { case 'e': { if (!ValidaEmail(contato.Descricao)) list.Add(new Notificacao("Email Inválido, por favor verifique.", 'e')); } break; default: { if (contato.Descricao.Length < 8 || contato.Descricao.Length > 14) list.Add(new Notificacao("Numero invalido, verifique, padrão (18)99766-9977 ou 3222-5577.", 'e')); if (contato.Descricao.Contains("@")) list.Add(new Notificacao("Contato aparenta ser um e-mail, por favor verifique o tipo de contato", 'e')); } break; } if (contato.Descricao.Length > 45) { list.Add(new Notificacao("Contato muito extenso, você usou " + (contato.Descricao.Length) + " do maximo de 45 caracteres", 'e')); } return list; }
//carrega os campos do contato selecionado private void CarregaDadosContato() { var con = new Contato(Convert.ToInt32(conId.Value), new Pessoa(Convert.ToInt32(ddlPes.SelectedValue))); new ContatoCtr().Carregar(con); ddlTipoContato.SelectedValue = con.Tipo.ToString(); TrocaFiltroDescricao(); ttbConDescricao.Text = con.Descricao; ttbConObs.Text = con.Obs; }
/// <summary> /// preenche os campos de contato quando um contato é selecionado na lista /// </summary> private void CarregaDadosContato() { Notificacao notificacao; var con = new Contato(Convert.ToInt32(contatoId.Value), new Pessoa(Convert.ToInt32(pesId.Value))); if (!new ContatoCtr().Recuperar(con, out notificacao)) { notificacoes.Add(notificacao); } else { ddlTipoContato.SelectedValue = con.Tipo.ToString(); ttbContatoDescricao.Text = con.Descricao; ttbObs.Text = con.Obs; } ((Sistema)Master).ExibirNotificacoes(notificacoes); }
//opcoes de cadastro de contatos public void ContatoOpcoes(object sender, CommandEventArgs e) { switch (e.CommandName) { case "adicionar": { //Instancia Lista var listaContatos = new List<Contato>(); //Carrega Objeto var contato = new Contato(ttbContatoDescricao.Text, Convert.ToChar(ddlTipoContato.SelectedValue), ttbContatoObs.Text); //Valida Objeto e obtem Erros var erros = new Controller.Pessoa.ContatoCtr().ValidaCampos(contato); ((Sistema)Master).ExibirNotificacoes(erros); //lista os erros if (erros.Count == 0) { //checa lista em sessao if (Session["ListaContatos"] != null) { listaContatos = (List<Contato>)Session["ListaContatos"]; } listaContatos.Add(contato);//adiciona novo objeto a lista Session["ListaContatos"] = listaContatos;//grava lista em sessao LimparDadosContato();//limpa os campos //renderiza tabela rContatos.DataSource = listaContatos; rContatos.DataBind(); } } break; case "remover": { //checa lista em sessao if (Session["ListaContatos"] != null) { var listaContato = (List<Endereco>)Session["ListaContatos"]; listaContato.RemoveAt(Convert.ToInt32(e.CommandArgument)); Session["ListaContatos"] = listaContato; rEnderecos.DataSource = listaContato;//renderiza tabela rEnderecos.DataBind(); } } break; case "limpar": { LimparDadosContato(); } break; } }