public async Task <ActionResult> EditarEndereco([Bind(Include = "CEP, Complemento, Numero, PessoaID, Logradouro, Bairro, Cidade, Estado, Pais")] AlterarEnderecoViewModel endereco) { if (ModelState.IsValid) { await _userStore.UpdateEndereco(endereco); return(RedirectToAction("Index")); } ModelState.AddModelError("", "Algo deu errado"); return(View()); }
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(); } } } }