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; }
/// <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)); } }