public Requerimento Importar(Requerimento requerimento, BancoDeDados bancoInterno, BancoDeDados bancoCredenciado) { int id = requerimento.Empreendimento.Id; EmpreendimentoCredenciadoBus bus = new EmpreendimentoCredenciadoBus(); Empreendimento empCredenciado = bus.Obter(requerimento.Empreendimento.Id, bancoCredenciado); //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(), bancoInterno); 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, bancoInterno); } #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, bancoInterno, 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 = ((_da.ObterDatuns().FirstOrDefault(x => x.Id == empCredenciado.Coordenada.Datum.Id)) ?? new Datum()).Texto; #endregion Apagar ID's 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); return(requerimento); }