public AlterarEnderecoViewModel GetEndereco(int pessoaID) { AlterarEnderecoViewModel AEVM = new AlterarEnderecoViewModel(); using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities()) { Negocio_Endereco NE = db.Negocio_Endereco.Where(o => o.Pessoa_ID == pessoaID && o.Ativo == true).FirstOrDefault(); AEVM.PessoaID = NE.Pessoa_ID; AEVM.CEP = NE.CEP; AEVM.Complemento = NE.Complemento; AEVM.Numero = NE.Numero.Value; AEVM.Logradouro = NE.Negocio_Base_Endereco.Logradouro; AEVM.Bairro = NE.Negocio_Base_Endereco.Bairro; AEVM.Cidade = NE.Negocio_Base_Endereco.Cidade; AEVM.Estado = NE.Negocio_Base_Endereco.Estado; AEVM.Pais = NE.Negocio_Base_Endereco.Pais; return(AEVM); } }
public async Task UpdateEndereco(AlterarEnderecoViewModel endereco) { using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities()) { using (var dbContextTransaction = db.Database.BeginTransaction()) { try { Negocio_Endereco atualizarNE = db.Negocio_Endereco.Where(o => o.Pessoa_ID == endereco.PessoaID && o.Ativo == true).FirstOrDefault(); Negocio_Base_Endereco NBE = db.Negocio_Base_Endereco.Where(o => o.CEP == endereco.CEP).FirstOrDefault(); if (NBE != null) { Negocio_Endereco NE = new Negocio_Endereco(); NE.CEP = endereco.CEP; NE.Complemento = endereco.Complemento; NE.Numero = endereco.Numero; NE.Ativo = true; NE.Pessoa_ID = endereco.PessoaID; db.Negocio_Endereco.Add(NE); await db.SaveChangesAsync(); atualizarNE.Ativo = false; db.Entry(atualizarNE).State = EntityState.Modified; await db.SaveChangesAsync(); } else { Negocio_Base_Endereco novoNBE = new Negocio_Base_Endereco(); novoNBE.CEP = endereco.CEP; novoNBE.Logradouro = endereco.Logradouro; novoNBE.Bairro = endereco.Bairro; novoNBE.Cidade = endereco.Cidade; novoNBE.Estado = endereco.Estado; novoNBE.Pais = endereco.Pais; db.Negocio_Base_Endereco.Add(novoNBE); await db.SaveChangesAsync(); Negocio_Endereco NE = new Negocio_Endereco(); NE.CEP = endereco.CEP; NE.Complemento = endereco.Complemento; NE.Numero = endereco.Numero; NE.Ativo = true; NE.Pessoa_ID = endereco.PessoaID; db.Negocio_Endereco.Add(NE); await db.SaveChangesAsync(); atualizarNE.Ativo = false; db.Entry(atualizarNE).State = EntityState.Modified; await db.SaveChangesAsync(); } dbContextTransaction.Commit(); } catch { dbContextTransaction.Rollback(); } } } }
//Add usuario será feito no AccountController, para enviar o email com a senha temporaria. public int AddPessoa(RegistrarComumViewModel pessoa) { using (NimbusAcad_DB_Entities db = new NimbusAcad_DB_Entities()) { Negocio_Pessoa NP = new Negocio_Pessoa(); Negocio_Endereco NE = new Negocio_Endereco(); Negocio_Base_Endereco NBE = new Negocio_Base_Endereco(); NP.Primeiro_Nome = pessoa.PrimeiroNome; NP.Sobrenome = pessoa.Sobrenome; NP.CPF = pessoa.CPF; NP.RG = pessoa.RG; NP.Sexo = pessoa.Sexo; NP.Dt_Nascimento = pessoa.DtNascimento; NP.Tel_Principal = pessoa.TelPrincipal; NP.Tel_Opcional = pessoa.TelOpcional; NP.Email = pessoa.Email; NP.Email_Confirmado = false; NP.Tot_Notif_NL = 0; db.Negocio_Pessoa.Add(NP); db.SaveChanges(); //Endereço --> Verificar se já existe endereço no CEP informado var endereco = db.Negocio_Base_Endereco.Where(o => o.CEP.Equals(pessoa.CEP)).FirstOrDefault(); if (endereco == null) { //Negocio_Base_Endereco NBE.CEP = pessoa.CEP; NBE.Logradouro = pessoa.Logradouro; NBE.Bairro = pessoa.Bairro; NBE.Cidade = pessoa.Cidade; NBE.Estado = pessoa.Estado; NBE.Pais = pessoa.Pais; db.Negocio_Base_Endereco.Add(NBE); db.SaveChanges(); //Negocio_Endereco int pessoaID = GetPessoaIDporEmail(pessoa.Email); if (pessoaID != 0) { NE.CEP = pessoa.CEP; NE.Complemento = pessoa.Complemento; NE.Numero = pessoa.Numero; NE.Ativo = true; NE.Pessoa_ID = pessoaID; db.Negocio_Endereco.Add(NE); db.SaveChanges(); } } else { int pessoaID = GetPessoaIDporEmail(pessoa.Email); if (pessoaID != 0) { NE.CEP = pessoa.CEP; NE.Complemento = pessoa.Complemento; NE.Numero = pessoa.Numero; NE.Ativo = true; NE.Pessoa_ID = pessoaID; db.Negocio_Endereco.Add(NE); db.SaveChanges(); } } return(GetPessoaIDporEmail(pessoa.Email)); } }