public ServiceSyncErpEmpresasEntity SynchronizeErpEmpresasDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate) { //Listas CUD en DB_DACS ServiceSyncErpEmpresasEntity serviceSyncErpEmpresasEntity = new ServiceSyncErpEmpresasEntity(); serviceSyncErpEmpresasEntity.ListaCreate = new List <ERP_EMPRESAS>(); serviceSyncErpEmpresasEntity.ListaUpdate = new List <ERP_EMPRESAS>(); serviceSyncErpEmpresasEntity.ListaDelete = new List <ERP_EMPRESAS>(); try { List <ERP_EMPRESAS> listaEmpresasItris = new List <ERP_EMPRESAS>(); ItrisErpEmpresasBusiness itrisErpEmpresasBusiness = new ItrisErpEmpresasBusiness(authenticateEntity); ItrisErpEmpresasResponse itrisErpEmpresasResponse = Task.Run(async() => await itrisErpEmpresasBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult(); List <ERP_EMPRESAS> listaServiceEmpresas = this.Read() as List <ERP_EMPRESAS>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objItris in itrisErpEmpresasResponse.data) { var empresa = listaServiceEmpresas.Where(a => a.ID == objItris.ID).SingleOrDefault(); if (empresa != null) { if (!EmpresasIguales(empresa, objItris)) { ActualizoEmpresa(empresa, objItris); serviceSyncErpEmpresasEntity.ListaUpdate.Add(empresa); } } else { serviceSyncErpEmpresasEntity.ListaCreate.Add(CreoNuevaEmpresa(objItris)); } } //Obtengo los elementos que tengo que eliminar en la bd DACS //foreach (var objService in listaServiceEmpresas) //{ // var objDelete = itrisErpEmpresasResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault(); // if (objDelete == null) // serviceSyncErpEmpresasEntity.ListaDelete.Add(objService); //} PersistirListas(serviceSyncErpEmpresasEntity); } catch (Exception ex) { throw ex; } return(serviceSyncErpEmpresasEntity); }
public async Task <ItrisErpEmpresasResponse> Get() { try { itrisErpEmpresasResponse = await itrisErpEmpresasRepository.Get(itrisAuthenticateEntity.GetUrl()); return(itrisErpEmpresasResponse); } catch (Exception ex) { throw ex; } }
public async Task <ItrisErpEmpresasResponse> GetLastUpdate(string lastUpdate) { try { itrisErpEmpresasResponse = await itrisErpEmpresasRepository.Get(itrisAuthenticateEntity.GetApi3FilterDateLastUpdate(lastUpdate)); return(itrisErpEmpresasResponse); } catch (Exception ex) { throw ex; } }
public async Task <ItrisErpEmpresasResponse> Get(ItrisErpEmpresasEntity entity) { try { string filter = string.Format("ID='{0}'", entity.ID); itrisErpEmpresasResponse = await itrisErpEmpresasRepository.Get(itrisAuthenticateEntity.GetAllWithFilterUrl(filter)); return(itrisErpEmpresasResponse); } catch (Exception ex) { throw ex; } }