/// <summary> /// Atualiza no banco de dados um Endereço /// </summary> /// <param name="end">obj endereço</param> /// <returns>verdadeiro se nãou hover erro</returns> public bool Atualizar(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"UPDATE enderecos set logradouro = @logradouro, numero = @num, bairro= @bairro, cep = @cep, obs = @obs, cid_id = @cidId where pes_id = @pesId and id = @id"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@id", end.Id); _bd.Cmd.Parameters.AddWithValue("@logradouro", end.Logradouro == "" ? (object)DBNull.Value : end.Logradouro); _bd.Cmd.Parameters.AddWithValue("@num", end.Numero == "" ? (object)DBNull.Value : end.Numero); _bd.Cmd.Parameters.AddWithValue("@bairro", end.Bairro == "" ? (object)DBNull.Value : end.Bairro); _bd.Cmd.Parameters.AddWithValue("@cep", end.Cep == "" ? (object)DBNull.Value : end.Cep); _bd.Cmd.Parameters.AddWithValue("@obs", end.Obs == "" ? (object)DBNull.Value : end.Obs); _bd.Cmd.Parameters.AddWithValue("@cidId", end.Cidade.Id >0 ? end.Cidade.Id : (object)DBNull.Value); _bd.ExecuteNonQuery(); } catch (Exception) { return false; } return true; }
//ultima modificacao/checagem em 28/01/2014 funcionando! by GM /// <summary> /// Troca o Endereço Princpipal para o novo informado /// </summary> /// <param name="endId"></param> /// <param name="pesCod"></param> /// <returns></returns> public bool AtualizaPrincipal(Endereco end) { _bd = new Persistencia(); try { _bd.IniciarTransacao(); //limpa todos principais _bd.Cmd.CommandText = @"update enderecos set principal = 0 where pes_id = @pesId"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.ExecuteNonQuery(); _bd.Cmd.Parameters.Clear(); //seta novo principal _bd.Cmd.CommandText = @"update enderecos set principal = 1 where pes_id = @pesId and id = @id";//id do endereco _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@id", end.Id);//look aki _bd.ExecuteNonQuery(); } catch (Exception) { _bd.CancelarTransacao(); return false; } _bd.ConfirmarTransacao(); return true; }
/// <summary> /// Altera o Status do endereço para falso, tornando -o invisivel em partes do sistema /// </summary> /// <param name="end"></param> /// <returns></returns> public bool Desativar(Endereco end) { if(new EnderecoBD().Desativar(end)) { if(end.Principal) PassarUltimoPrincipal(end); return true; } return false; }
public void BtnsOpcoes(object sender, CommandEventArgs e) { switch (e.CommandName) { case "gravar": { var endereco = new Endereco(Convert.ToInt32(enderecoId.Value),ttbLogradouro.Text,ttbEndNum.Text,ttbBairro.Text,ttbCep.Text,ttbEndObs.Text,new Cidade(Convert.ToInt32(cidadeId.Value)),new Pessoa(Convert.ToInt32(pesId.Value))); if (new EnderecoCtr().Gravar(endereco, out notificacoes)) { enderecoId.Value = "0"; CarregaEnderecosPes(); LimpaCampos(); } ((Sistema)Master).ExibirNotificacoes(notificacoes); } break; case "cancelar": { enderecoId.Value = "0"; CarregaEnderecosPes(); LimpaCampos(); } break; case "remover": { Notificacao notificacao; if (new EnderecoCtr().Excluir(new Endereco(Convert.ToInt32(enderecoId.Value), new Pessoa(Convert.ToInt32(pesId.Value))), out notificacao)) { enderecoId.Value = "0"; CarregaEnderecosPes(); LimpaCampos(); } notificacoes.Add(notificacao); //insere o resultado da exclusao; ((Sistema)Master).ExibirNotificacoes(notificacoes); } break; case "selecionar": { enderecoId.Value = e.CommandArgument.ToString(); CarregaEnderecosPes(); CarregaDadosEndereco(); } break; } }
/// <summary> /// Exclui ou Desativa um endereço caso ele tenha vinculo com relatórios 02/04/2014 /// </summary> /// <param name="endereco">endereco</param> /// <returns>bool</returns> public bool Excluir(Endereco endereco, out Notificacao notificacao) { if (endereco.Id <= 0) { notificacao = new Notificacao("Não foi possivel identificar o codigo do endereço a ser excluido", 'e'); return false; } if (endereco.Pessoa.Id <= 0) { notificacao = new Notificacao("Não foi possivel identificar o codigo da pessoa portadora do endereço a ser excluido", 'e'); return false; } if (!new EnderecoBD().Excluir(endereco)) { notificacao = new Notificacao("Não foi possivel excluir o endereco informado, tente novamente, se o erro persistir contate o adminsitrador", 'e'); return false; } notificacao = new Notificacao("Endereço excluido com Sucesso", 's'); return true;//se excluir retorna true }
/// <summary> /// Grava ou Atualiza um Endereço em Banco de Dados 02/04/2014 /// </summary> /// <param name="endereco">Obj Endereço</param> /// <returns>verdadeiro se salvo com sucesso</returns> public bool Gravar(Endereco endereco, out List<Notificacao> notificacoes) { bool cadastro = endereco.Id == 0; notificacoes = ValidaCampos(endereco); if (notificacoes.Count > 0)//este ponto identifica erros de validacao return false; //abaixo retorna falso caso nao consiga gravar nem atualizar if (!(cadastro ? new EnderecoBD().Inserir(endereco) : new EnderecoBD().Atualizar(endereco))) { notificacoes.Add(new Notificacao("Problema com Banco de Dados, notifique o administrador", 'e')); return false; } notificacoes.Add(cadastro ? new Notificacao("Endereco cadastrado com Sucesso", 's') : new Notificacao("Endereco atualizado com Sucesso", 's')); return true; }
public bool GravaOuAtualiza(Endereco end) { bool ok; if (end.Id == -1)//insert { ok = new EnderecoBD().Inserir(end); } else//update { ok = new EnderecoBD().Atualizar(end); } //checa se tem algum principal registrado. caso não tenha torna o unico e atual como principal if (new EnderecoBD().CheckPrincipal(end) == 0) end.Principal = true; if (ok && end.Principal) {//se inserirou ou atualizou e o endereço foi selecionado como principal AtualizarPrincipal(end); } return ok; }
public void GerFrnLinhas(object sender, CommandEventArgs e) { bool existeLinhas; bool b = ddlLinhas1.Items.Count > 0 ? existeLinhas = true : existeLinhas = false;//checa se existe linhas para gerenciar switch (e.CommandName) { case "Abrir": { if (existeLinhas) { if (!string.IsNullOrEmpty(e.CommandArgument.ToString()))//caso tenha sido passado a id da linha por argumento { ddlLinhas1.SelectedValue = e.CommandArgument.ToString(); } RenderEnderecosLinhaGelinhas(); } boxGerFrnLinha.Visible = existeLinhas; gelinhasNull.Visible = !existeLinhas; } break; case "Sair": { if (existeLinhas) { ddlLinhas1.SelectedIndex = 0; } ttbFornecedor.Text = ""; fornecedorIdglinhas.Value = "0"; alertaEndsFornecedor.Visible = false; rEnderecosFornecedor.Visible = false; CarregarRepeaterLinhasColetaPrincipal(); } break; case "Remover": { var fornecedorLinha = new FornecedorLinha(Convert.ToInt32(e.CommandArgument), new Linha(Convert.ToInt32(ddlLinhas1.SelectedValue))); if (new Controller.coleta.FornecedorLinhaCtrl().Remover(fornecedorLinha)) { if (fornecedorIdglinhas.Value == "0") { LimparFornecedor(); } else { RenderFrnEnderecosGelinhas();//recarrega tabela enderecos fornecedor } RenderEnderecosLinhaGelinhas();//recarrega tabela enderecos linha } } break; case "Adicionar": { var endSelecionado = new Endereco(Convert.ToInt32(e.CommandArgument), new Pessoa(Convert.ToInt32(fornecedorIdglinhas.Value))); if (new Controller.coleta.FornecedorLinhaCtrl().Adicionar(new FornecedorLinha(endSelecionado, new Linha(Convert.ToInt32(ddlLinhas1.SelectedValue))))) { if (fornecedorIdglinhas.Value == "0") { LimparFornecedor(); } else { RenderFrnEnderecosGelinhas();//recarrega tabela enderecos fornecedor } RenderEnderecosLinhaGelinhas();//recarrega tabela enderecos linha } } break; } }
//ultima modificacao/checagem em 28/01/2014 funcionando! by GM public bool Inserir(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO enderecos (pes_id, cid_id, logradouro,numero, bairro, complemento, cep, principal,obs,ativo) VALUES (@pesId, @cidId,@logradouro,@num,@bairro,@complemento,@cep,@principal,@obs,1); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@cidId", end.Cidade.Id); _bd.Cmd.Parameters.AddWithValue("@logradouro", end.Logradouro == "" ? (object)DBNull.Value : end.Logradouro); _bd.Cmd.Parameters.AddWithValue("@num", end.Numero == "" ? (object)DBNull.Value : end.Numero); _bd.Cmd.Parameters.AddWithValue("@bairro", end.Bairro == "" ? (object)DBNull.Value : end.Bairro); _bd.Cmd.Parameters.AddWithValue("@complemento", end.Complemento == "" ? (object)DBNull.Value : end.Complemento); _bd.Cmd.Parameters.AddWithValue("@cep", end.Cep == "" ? (object)DBNull.Value : end.Cep); _bd.Cmd.Parameters.AddWithValue("@principal", false); _bd.Cmd.Parameters.AddWithValue("@obs", end.Obs == "" ? (object)DBNull.Value : end.Obs); //ja altera a id do objeto passado por parametro caso tenha que atualizar o status como principal end.Id = Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
//carrega os campos do endereço selecionado private void CarregaDadosEndereco() { Notificacao notificacao; var end = new Endereco(Convert.ToInt32(enderecoId.Value), new Pessoa(Convert.ToInt32(pesId.Value))); if (!(new EnderecoCtr().Recuperar(end, out notificacao)))//carrega os dados de endereço! { notificacoes.Add(notificacao); } else { cidadeId.Value = end.Cidade.Id.ToString();//restaura id cidade ttbCidade.Text = end.Cidade.Nome;//completa cidade text ttbLogradouro.Text = end.Logradouro; ttbEndNum.Text = end.Numero; ttbBairro.Text = end.Bairro; ttbCep.Text = end.Cep; ttbEndObs.Text = end.Obs; } }
/// <summary> /// Exclui permanente mente um endereço do banco de dados caso ele nao esteja vinculado a outros lançamentos! /// </summary> /// <param name="end">endereco!</param> /// <returns>verdadeiro em caso de sucesso</returns> public bool Excluir(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.Parameters.AddWithValue("@endId", end.Id); _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); //exclui efetivamente o endereço _bd.Cmd.CommandText = @"DELETE FROM enderecos WHERE id= @endId and pes_id = @pesId"; _bd.ExecuteNonQuery(); } catch (Exception) { return false; } return true; }
//ultima modificacao/checagem em 28/01/2014 funcionando! by GM public int PrimeiroAtivo(Endereco end) { _bd = new Persistencia(); _bd.Cmd.CommandText = "select min(id) from enderecos where ativo = 1 and pes_id = @pesId"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); try { return Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { //caso nao tenha nenhum outro ativo return -1; } }
//carrega os campos do endereço selecionado private void CarregaDadosEndereco() { var end = new Endereco(Convert.ToInt32(enderecoId.Value), new Pessoa(Convert.ToInt32(ddlPes.SelectedValue))); new EnderecoCtr().Carregar(end); //carrega os dados de endereço! cidadeId.Value = end.Cidade.Id.ToString();//restaura id cidade txtCidade.Text = end.Cidade.Nome;//completa cidade text txtLogradouro.Text = end.Logradouro; txtEndNum.Text = end.Numero; txtBairro.Text = end.Bairro; txtComplemento.Text = end.Complemento; txtCep.Text = end.Cep; txtObs.Text = end.Obs; ckPrincipal.Checked = end.Principal; CarregaEnderecosPes(); }
public bool Desativar(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"Update enderecos set ativo = 0, principal = 0 WHERE id= @endId and pes_id = @pesId"; _bd.Cmd.Parameters.AddWithValue("@endId", end.Id); _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.ExecuteNonQuery(); } catch (Exception) { return false; } return true; }
/// <summary> /// checa qual endereço principal da pessoa informada /// </summary> /// <param name="pesCod"></param> /// <returns>id do endereço principal</returns> public int CheckPrincipal(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"select id from enderecos where pes_id = @pesId and principal = 1 and ativo = 1"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); return Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return -1; } }
public FornecedorLinha(int seq, Endereco end) { _sequencia = seq; _endereco = end; }
/// <summary> /// traz uma lista de erros das validacoes do campos informados 02/04/2014 /// </summary> /// <param name="endereco">Obj endereco</param> /// <returns>Lista de Erros</returns> public List<Notificacao> ValidaCampos(Endereco endereco) { var list = new List<Notificacao>(); if (endereco.Logradouro.Length < 5) { list.Add(new Notificacao("O Logradouro deve conter pelo menos 5 caracteres Ex: Rua A", 'e')); } if (endereco.Logradouro.Length > 150) { list.Add(new Notificacao("O Logradouro é muito extenso", 'e')); } if (endereco.Cep.Length > 0 && endereco.Cep.Length != 10) { list.Add(new Notificacao("CEP inválido, verifique o CEP informado", 'e')); } if (endereco.Numero.Length > 6) { list.Add(new Notificacao("o Numero do endereço pode ser S/N ou digito com no maximo 6 caracteres", 'e')); } if (endereco.Bairro.Length > 0) { if (endereco.Bairro.Length < 5) { list.Add(new Notificacao("O bairro é muito curto", 'e')); } if (endereco.Bairro.Length > 50) { list.Add(new Notificacao("O bairro é muito extenso", 'e')); } } if (endereco.Obs.Length > 50) { list.Add(new Notificacao("A Observação está muito extensa, reduza " + (endereco.Obs.Length - 50) + "caracteres para o limite de 50", 'e')); } if (endereco.Cidade.Id <= 0 || endereco.Cidade.Id > 9714) { list.Add(new Notificacao("Cidade informada é invalida", 'e')); } return list; }
/// <summary> /// Retorna um objeto Endereco preenchido 02/04/2014 /// </summary> /// <param name="endereco">obj Endereco com Id chave</param> /// <param name="min">carrega o minimo do endereco!</param> /// <param name="pesDados">Verdadeiro adiciona nome da pessoa </param> /// <returns>retorna falso caso nao encontre o endereco com a Id informada</returns> public bool Recuperar(Endereco endereco, out Notificacao notificacao, bool min = false, bool pesDados = false) { if (endereco.Id <= 0) { notificacao = new Notificacao("Não foi possivel identificar o codigo do endereço a ser recuperado", 'e'); return false; } if (!new EnderecoBD().Recuperar(endereco, min)) { notificacao = new Notificacao("Não foi possivel recuperar o endereço, Erro no Banco de Dados", 'e'); return false; } if (pesDados)//tenta carregar a pessoa dentro do endereço { new PessoaCtrl().Recuperar(endereco.Pessoa, out notificacao, true);//traz somente o nome da pessoa } notificacao = new Notificacao("Endereço recuperado com sucesso", 's'); return true; }
private void SalvarEndereco() { var endereco = new Endereco(Convert.ToInt32(enderecoId.Value), txtLogradouro.Text, txtEndNum.Text, txtBairro.Text, txtComplemento.Text, txtCep.Text, Convert.ToBoolean(ckPrincipal.Checked), txtObs.Text, new Cidade(Convert.ToInt32(cidadeId.Value)), new Pessoa(Convert.ToInt32(ddlPes.SelectedValue)) ); if (new EnderecoCtr().GravaOuAtualiza(endereco)) { tipoNotificacao.Value = "alert-success"; lblNotificacao.Text = "Endereço salvo com sucesso"; } else { tipoNotificacao.Value = "alert-error"; lblNotificacao.Text = "Falha ao Salvar o Endereço, verifique os campos."; } }
private void ExcluirEndereco() { var end = new Endereco(Convert.ToInt32(enderecoId.Value), new Pessoa(Convert.ToInt32(ddlPes.SelectedValue)), Convert.ToBoolean(ckPrincipal.Checked)); if (new EnderecoCtr().ExcluirEndereco(end, true))//caso nao exclua tenta desativar { tipoNotificacao.Value = "alert-success"; lblNotificacao.Text = "Endereço excluido com sucesso"; } else { tipoNotificacao.Value = "alert-error"; lblNotificacao.Text = "Falha ao Excluir o Endereço, verifique os campos."; } }
/// <summary> /// Atualiza o primeiro endereço ativo da lista como principal /// </summary> /// <param name="end"></param> private static void PassarUltimoPrincipal(Endereco end) { int novoEndId = new EnderecoBD().PrimeiroAtivo(end); if (novoEndId > 0) { new EnderecoBD().AtualizaPrincipal(new Endereco(novoEndId, end.Pessoa)); } }
/// <summary> /// Retorna um objeto Endereco preenchido /// </summary> /// <param name="end">obj Endereco com Id chave</param> /// <param name="min">carrega o minimo do endereco!</param> /// <returns>retorna falso caso nao encontre o endereco com a Id informada</returns> public bool Carregar(Endereco end,bool min=false) { return new EnderecoBD().Recuperar(end,min); }
/// <summary> /// Insere no banco de dados um Endereço /// </summary> /// <param name="end">obj endereço</param> /// <returns>verdadeiro se nãou hover erro</returns> public bool Inserir(Endereco end) { _bd = new Persistencia(); try { _bd.Cmd.CommandText = @"INSERT INTO enderecos (pes_id, cid_id, logradouro,numero, bairro, cep, obs) VALUES (@pesId, @cidId,@logradouro,@num,@bairro,@cep,@obs); SELECT LAST_INSERT_ID()"; _bd.Cmd.Parameters.AddWithValue("@pesId", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@cidId", end.Cidade.Id); _bd.Cmd.Parameters.AddWithValue("@logradouro", end.Logradouro == "" ? (object)DBNull.Value : end.Logradouro); _bd.Cmd.Parameters.AddWithValue("@num", end.Numero == "" ? (object)DBNull.Value : end.Numero); _bd.Cmd.Parameters.AddWithValue("@bairro", end.Bairro == "" ? (object)DBNull.Value : end.Bairro); _bd.Cmd.Parameters.AddWithValue("@cep", end.Cep == "" ? (object)DBNull.Value : end.Cep); _bd.Cmd.Parameters.AddWithValue("@obs", end.Obs == "" ? (object)DBNull.Value : end.Obs); end.Id = Convert.ToInt32(_bd.ExecuteScalar()); } catch (Exception) { return false; } return true; }
/// <summary> /// Recupera no banco de dados um Endereço /// </summary> /// <param name="endereco">obj endereço </param> /// <param name="min">Se Minimo nao tras cep nem bairro nem observação do endereço</param> /// <returns>verdadeiro se nãou hover erro</returns> public bool Recuperar(Endereco endereco, bool min = false) { _bd = new Persistencia(); _bd.Cmd.CommandText = @"Select e.id, e.logradouro, e.numero, e.bairro, e.cep, e.obs, c.id as cid_id, c.nome as cid_nome, c.uf from enderecos e inner join cidades c on e.cid_id = c.id where e.pes_id = @pesCod and e.id = @endId"; _bd.Cmd.Parameters.AddWithValue("@pesCod", endereco.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@endId", endereco.Id); try { DataTable endBd = _bd.ExecuteReader(); endereco.Id = Convert.ToInt32(endBd.Rows[0]["id"]); endereco.Logradouro = endBd.Rows[0]["logradouro"].ToString(); endereco.Numero = endBd.Rows[0]["numero"].ToString(); if (!min)// se nao for endereco minimo! { endereco.Bairro = endBd.Rows[0]["bairro"].ToString(); endereco.Cep = endBd.Rows[0]["cep"].ToString(); endereco.Obs = endBd.Rows[0]["obs"].ToString(); } endereco.Cidade = new Cidade(Convert.ToInt32(endBd.Rows[0]["cid_id"]), endBd.Rows[0]["cid_nome"].ToString()); endereco.Cidade.Uf = endBd.Rows[0]["uf"].ToString(); } catch { return false; } return true; }
//ultima modificacao/checagem em 14/01/2014 funcionando! by GM public bool Recuperar(Endereco end, bool min = false) { _bd = new Persistencia(); _bd.Cmd.CommandText = @"Select end.id, end.logradouro, end.numero, end.bairro, end.complemento, end.cep, end.principal, end.obs, cid.id as cidCod, cid.nome as cidNome, cid.uf_id from enderecos end inner join cidades cid on cid.id = end.cid_id where end.pes_id = @pesCod and end.id = @endId"; _bd.Cmd.Parameters.AddWithValue("@pesCod", end.Pessoa.Id); _bd.Cmd.Parameters.AddWithValue("@endId", end.Id); try { DataTable endBd = _bd.ExecuteReader(); end.Id = Convert.ToInt32(endBd.Rows[0]["id"]); end.Logradouro = endBd.Rows[0]["logradouro"].ToString(); end.Numero = endBd.Rows[0]["numero"].ToString(); if (!min)// se nao for endereco minimo! { end.Bairro = endBd.Rows[0]["bairro"].ToString(); end.Complemento = endBd.Rows[0]["complemento"].ToString(); end.Cep = endBd.Rows[0]["cep"].ToString(); end.Principal = Convert.ToBoolean(endBd.Rows[0]["principal"]); end.Obs = endBd.Rows[0]["obs"].ToString(); } end.Cidade = new Cidade(Convert.ToInt32(endBd.Rows[0]["cidCod"]), endBd.Rows[0]["cidNome"].ToString()); end.Cidade.Estado = new Estado(Convert.ToInt32(endBd.Rows[0]["uf_id"])); } catch { return false; } return true; }
public FornecedorLinha(Endereco end,Linha linha) { Linha = linha; _endereco = end; }
//opcoes cadastro de endereco public void EnderecoOpcoes(object sender, CommandEventArgs e) { switch (e.CommandName) { case "adicionar": { //Instancia Lista var listaEndereco = new List<Endereco>(); //Carrega Objeto var endereco = new Endereco(ttbLogradouro.Text, ttbEndNum.Text, ttbBairro.Text, ttbCep.Text, ttbEndObs.Text, new Cidade(Convert.ToInt32(cidadeId.Value), ttbCidade.Text)); //Valida Objeto e obtem Erros var erros = new Controller.Pessoa.EnderecoCtr().ValidaCampos(endereco); ((Sistema)Master).ExibirNotificacoes(erros);//Lista os erros if (erros.Count == 0) { //checa lista em sessao if (Session["ListaEnderecos"] != null) { listaEndereco = (List<Endereco>)Session["ListaEnderecos"]; } listaEndereco.Add(endereco);//adiciona novo objeto a lista Session["ListaEnderecos"] = listaEndereco;//grava lista em sessao LimpaDadosEndereco(); //limpa os campos rEnderecos.DataSource = listaEndereco;//renderiza tabela rEnderecos.DataBind(); } } break; case "remover": { //checa lista em sessao if (Session["ListaEnderecos"] != null) { var listaEndereco = (List<Endereco>)Session["ListaEnderecos"]; listaEndereco.RemoveAt(Convert.ToInt32(e.CommandArgument)); Session["ListaEnderecos"] = listaEndereco; rEnderecos.DataSource = listaEndereco;//renderiza tabela rEnderecos.DataBind(); } } break; case "limpar": { LimpaDadosEndereco(); } break; } }