public ContatoViewModel Atualizar(ContatoViewModel contatoViewModel) { var contato = Mapper.Map <ContatoViewModel, Contato>(contatoViewModel); var contatoReturn = _contatoServico.Atualizar(contato); if (contatoReturn.IsValid()) { Commit(); } return(contatoViewModel); }
public void AtualizarContato(Contato contato) { Contato contatoAnterior = _contatoServico.ObterPorId(contato.ContatoId); contatoAnterior.Emails = _emailAppServico.ObterTudo().Where(e => e.ContatoId == contatoAnterior.ContatoId); contatoAnterior.Telefones = _telefoneAppServico.ObterTudo().Where(t => t.ContatoId == contatoAnterior.ContatoId); foreach (var email in contato.Emails) { if (email.EmailId == 0) { email.Ativo = true; email.ContatoId = contato.ContatoId; _emailAppServico.Adicionar(email); } else { var emailAtualizar = _emailAppServico.ObterPorId(email.EmailId); emailAtualizar.Ativo = email.Ativo; emailAtualizar.EmailContato = email.EmailContato; _emailAppServico.Atualizar(emailAtualizar); } } foreach (var telefone in contato.Telefones) { if (telefone.TelefoneId == 0) { telefone.Ativo = true; telefone.ContatoId = contato.ContatoId; _telefoneAppServico.Adicionar(telefone); } else { var telefoneAtualizar = _telefoneAppServico.ObterPorId(telefone.TelefoneId); telefoneAtualizar.Ativo = telefone.Ativo; telefoneAtualizar.TelefoneContato = telefone.TelefoneContato; _telefoneAppServico.Atualizar(telefoneAtualizar); } } contatoAnterior.Nome = contato.Nome; _contatoServico.Atualizar(contatoAnterior); }