//persiste o relacionamento com Area de Atuação private bool RelacionaContatoAreaAtuacao(Intelbras.Message.Helper.MSG0058 xml, Contato contato, ContatoService contatoService) { if (xml.IdentidadeEmissor == Enum.Sistemas.RetornaSistema(Enum.Sistemas.Sistema.API)) { if (xml.ListaAreaAtuacao != null && xml.ListaAreaAtuacao.Count > 0) { List <AreaAtuacao> listaAreaAtuacao = new List <AreaAtuacao>(); foreach (var area in xml.ListaAreaAtuacao) { AreaAtuacao novaArea = new Servicos.AreaAtuacaoService(this.Organizacao, this.IsOffline).ObterPorCodigo(area); if (novaArea != null) { listaAreaAtuacao.Add(novaArea); } else { resultadoPersistencia.Sucesso = false; throw new ArgumentException("Área de Atuação não cadastrado no Crm."); } } try { contatoService.PersistirAreasAtuacao(contato, listaAreaAtuacao); } catch { throw new ArgumentException("Erro ao salvar relacionamento."); } } } return(true); }