public Requerimento Importar(Requerimento requerimento, BancoDeDados bancoInterno, BancoDeDados bancoCredenciado) { try { int id = requerimento.Empreendimento.Id; EmpreendimentoCredenciadoBus bus = new EmpreendimentoCredenciadoBus(); Empreendimento empCredenciado = bus.Obter(requerimento.Empreendimento.Id); //Busca o empreendimento no banco do credenciado Empreendimento empInterno = null; empCredenciado.SelecaoTipo = requerimento.Empreendimento.SelecaoTipo; #region Empreendimento Cadastrado no Interno empCredenciado.Id = 0; if (empCredenciado.InternoId.GetValueOrDefault() > 0) { empInterno = Obter(empCredenciado.InternoId.GetValueOrDefault()); if (empInterno != null && empInterno.Id > 0) { empCredenciado.Id = empInterno.Id; empCredenciado.Coordenada.Id = empInterno.Coordenada.Id; } } if (!string.IsNullOrEmpty(empCredenciado.CNPJ) && empCredenciado.Id <= 0) { empCredenciado.Id = _da.ObterId(empCredenciado.CNPJ); } #endregion Empreendimento Cadastrado no Interno #region Responsáveis empCredenciado.Responsaveis.ForEach(r => { r.Id = requerimento.Pessoas.Where(x => x.Id == r.Id).SingleOrDefault().InternoId.GetValueOrDefault(); }); ConfigurarResponsaveis(empCredenciado, empInterno); #endregion Responsáveis #region Apagar ID's empCredenciado.Responsaveis.ForEach(r => { r.IdRelacionamento = 0; }); empCredenciado.Enderecos.ForEach(r => { r.Id = 0; }); empCredenciado.MeiosContatos.ForEach(r => { r.Id = 0; }); empCredenciado.Coordenada.Datum.Sigla = ((_configCoordenada.Obter <List <Datum> >(ConfiguracaoCoordenada.KeyDatuns).FirstOrDefault(x => x.Id == empCredenciado.Coordenada.Datum.Id)) ?? new Datum()).Texto; #endregion Apagar ID's //Verificar CEP if (!_validar.Salvar(empCredenciado, true)) { return(null); } if (empCredenciado.Id == 0) { _da.Criar(empCredenciado, bancoInterno); } else { _da.Editar(empCredenciado, bancoInterno); } empCredenciado.InternoId = empCredenciado.Id; requerimento.Empreendimento = empCredenciado; bus.SalvarInternoId(new Empreendimento() { Id = id, InternoId = empCredenciado.Id, InternoTid = empCredenciado.Tid, Codigo = empCredenciado.Codigo }, bancoCredenciado); } catch (Exception exc) { Validacao.AddErro(exc); } return(requerimento); }