public ServiceSyncErpLocalidadesEntity SynchronizeErpLocalidadesDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate) { //Listas CUD en DB_DACS ServiceSyncErpLocalidadesEntity serviceSyncErpLocalidadesEntity = new ServiceSyncErpLocalidadesEntity(); serviceSyncErpLocalidadesEntity.ListaCreate = new List <ERP_LOCALIDADES>(); serviceSyncErpLocalidadesEntity.ListaUpdate = new List <ERP_LOCALIDADES>(); serviceSyncErpLocalidadesEntity.ListaDelete = new List <ERP_LOCALIDADES>(); try { List <ERP_LOCALIDADES> listaAsesoresItris = new List <ERP_LOCALIDADES>(); ItrisErpLocalidadesBusiness itrisErpLocalidadesBusiness = new ItrisErpLocalidadesBusiness(authenticateEntity); ItrisErpLocalidadesResponse itrisErpLocalidadesResponse = Task.Run(async() => await itrisErpLocalidadesBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult(); List <ERP_LOCALIDADES> listaServiceLocalidades = this.Read() as List <ERP_LOCALIDADES>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objItris in itrisErpLocalidadesResponse.data) { var localidad = listaServiceLocalidades.Where(a => a.ID == objItris.ID).SingleOrDefault(); if (localidad != null) { if (!LocalidadesIguales(localidad, objItris)) { ActualizoLocalidad(localidad, objItris); serviceSyncErpLocalidadesEntity.ListaUpdate.Add(localidad); } } else { serviceSyncErpLocalidadesEntity.ListaCreate.Add(CreoNuevaLocalidad(objItris)); } } //Obtengo los elementos que tengo que eliminar en la bd DACS //foreach (var objService in listaServiceLocalidades) //{ // var objDelete = itrisErpLocalidadesResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault(); // if (objDelete == null) // serviceSyncErpLocalidadesEntity.ListaDelete.Add(objService); //} PersistirListas(serviceSyncErpLocalidadesEntity); } catch (Exception ex) { throw ex; } return(serviceSyncErpLocalidadesEntity); }
public async Task <ItrisErpLocalidadesResponse> Get() { try { itrisErpLocalidadesResponse = await itrisErpLocalidadesRepository.Get(itrisAuthenticateEntity.GetAll()); } catch (Exception ex) { throw ex; } return(itrisErpLocalidadesResponse); }
public async Task <ItrisErpLocalidadesResponse> GetLastUpdate(string lastUpdate) { try { itrisErpLocalidadesResponse = await itrisErpLocalidadesRepository.Get(itrisAuthenticateEntity.GetApi3FilterDateLastUpdate(lastUpdate)); return(itrisErpLocalidadesResponse); } catch (Exception ex) { throw ex; } }