public ServiceSyncTipComEntity SynchronizeTipComDACS(ItrisAuthenticateEntity authenticateEntity) { //Listas CUD en DB_DACS ServiceSyncTipComEntity serviceSyncTipComEntity = new ServiceSyncTipComEntity(); serviceSyncTipComEntity.ListaCreate = new List <TIP_COM>(); serviceSyncTipComEntity.ListaUpdate = new List <TIP_COM>(); serviceSyncTipComEntity.ListaDelete = new List <TIP_COM>(); try { List <TIP_COM> listaTipComItris = new List <TIP_COM>(); ItrisTipoDeComercioBusiness itrisTipoDeComercioBusiness = new ItrisTipoDeComercioBusiness(authenticateEntity); ItrisTipoDeComercioResponse itrisTipoDeComercioResponse = Task.Run(async() => await itrisTipoDeComercioBusiness.Get()).GetAwaiter().GetResult(); List <TIP_COM> listaServiceTipCom = this.Read() as List <TIP_COM>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objItris in itrisTipoDeComercioResponse.data) { var tipCom = listaServiceTipCom.Where(a => a.ID == objItris.ID).SingleOrDefault(); if (tipCom != null) { if (!TipoComercioIguales(tipCom, objItris)) { ActualizoTipCom(tipCom, objItris); serviceSyncTipComEntity.ListaUpdate.Add(tipCom); } } else { serviceSyncTipComEntity.ListaCreate.Add(CreoNuevoTipCom(objItris)); } } //Obtengo los elementos que tengo que eliminar en la bd DACS foreach (var objService in listaServiceTipCom) { var objDelete = itrisTipoDeComercioResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault(); if (objDelete == null) { serviceSyncTipComEntity.ListaDelete.Add(objService); } } PersistirListas(serviceSyncTipComEntity); } catch (Exception ex) { throw ex; } return(serviceSyncTipComEntity); }
public ServiceSyncTipComEntity SynchronizeSQLite(List <TIP_COM> listaTipComSQLite) { //Listas CUD en DB_DACS ServiceSyncTipComEntity serviceSyncTipComEntity = new ServiceSyncTipComEntity(); serviceSyncTipComEntity.ListaCreate = new List <TIP_COM>(); serviceSyncTipComEntity.ListaUpdate = new List <TIP_COM>(); serviceSyncTipComEntity.ListaDelete = new List <TIP_COM>(); try { List <TIP_COM> listaServiceTipCom = this.Read() as List <TIP_COM>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objService in listaServiceTipCom) { var tipCom = listaTipComSQLite.Where(a => a.ID == objService.ID).SingleOrDefault(); if (tipCom != null) { if (!TipComIguales(tipCom, objService)) { serviceSyncTipComEntity.ListaUpdate.Add(objService); } } else { serviceSyncTipComEntity.ListaCreate.Add(objService); } } //Obtengo los elementos que tengo que eliminar en la bd DACS foreach (var objSQLite in listaTipComSQLite) { var objDelete = listaServiceTipCom.Where(a => a.ID == objSQLite.ID).SingleOrDefault(); if (objDelete == null) { serviceSyncTipComEntity.ListaDelete.Add(objSQLite); } } } catch (Exception ex) { throw ex; } return(serviceSyncTipComEntity); }
private void PersistirListas(ServiceSyncTipComEntity serviceSyncTipComEntity) { try { foreach (var obj in serviceSyncTipComEntity.ListaCreate) { serviceTipComRepository.Create(obj); } foreach (var obj in serviceSyncTipComEntity.ListaUpdate) { serviceTipComRepository.Update(obj); } foreach (var obj in serviceSyncTipComEntity.ListaDelete) { serviceTipComRepository.Delete(obj); } } catch (Exception ex) { throw ex; } }