public HttpResponseMessage Synchronize([FromBody] List <ERP_ASESORES> lista) { log.Info("Ingreso Synchronize"); HttpResponseMessage response = new HttpResponseMessage(); ServiceSyncErpAsesoresEntity resultSQLite = null; try { ServiceErpAsesoresBusiness serviceErpAsesoresBusiness = new ServiceErpAsesoresBusiness(); //Comparo el input enviado desde SQLite con la base local log.Info("Ejecuta serviceErpAsesoresBusiness.SynchronizeSQLite(lista): " + JsonConvert.SerializeObject(lista)); resultSQLite = serviceErpAsesoresBusiness.SynchronizeSQLite(lista); log.Info("Respuesta serviceErpAsesoresBusiness.SynchronizeSQLite(lista): " + JsonConvert.SerializeObject(lista)); response = Request.CreateResponse(HttpStatusCode.Created, resultSQLite); } catch (Exception ex) { log.Error("Mensaje de Error: " + ex.Message); if (ex.InnerException != null) { log.Error("Inner exception: " + ex.InnerException.Message); } response = Request.CreateResponse(HttpStatusCode.BadRequest, ex.Message); } log.Info("Salio Synchronize"); return(response); }
public ServiceSyncErpAsesoresEntity SynchronizeErpAsesoresDACS(ItrisAuthenticateEntity authenticateEntity, string lastUpdate) { //Listas CUD en DB_DACS ServiceSyncErpAsesoresEntity serviceSyncErpAsesoresEntity = new ServiceSyncErpAsesoresEntity(); serviceSyncErpAsesoresEntity.ListaCreate = new List <ERP_ASESORES>(); serviceSyncErpAsesoresEntity.ListaUpdate = new List <ERP_ASESORES>(); serviceSyncErpAsesoresEntity.ListaDelete = new List <ERP_ASESORES>(); try { List <ERP_ASESORES> listaAsesoresItris = new List <ERP_ASESORES>(); ItrisErpAsesoresBusiness itrisErpAsesoresBusiness = new ItrisErpAsesoresBusiness(authenticateEntity); ItrisErpAsesoresResponse itrisErpAsesoresResponse = Task.Run(async() => await itrisErpAsesoresBusiness.GetLastUpdate(lastUpdate)).GetAwaiter().GetResult(); List <ERP_ASESORES> listaServiceAsesores = this.Read() as List <ERP_ASESORES>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objItris in itrisErpAsesoresResponse.data) { var asesor = listaServiceAsesores.Where(a => a.ID == objItris.ID).SingleOrDefault(); if (asesor != null) { if (!AsesoresIguales(asesor, objItris)) { ActualizoAsesor(asesor, objItris); serviceSyncErpAsesoresEntity.ListaUpdate.Add(asesor); } } else { serviceSyncErpAsesoresEntity.ListaCreate.Add(CreoNuevoAsesor(objItris)); } } //No elimino mas porque solo cuento con los ultimos por fecha de actualización //Obtengo los elementos que tengo que eliminar en la bd DACS //foreach (var objService in listaServiceAsesores) //{ // var objDelete = itrisErpAsesoresResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault(); // if (objDelete == null) // serviceSyncErpAsesoresEntity.ListaDelete.Add(objService); //} PersistirListas(serviceSyncErpAsesoresEntity); } catch (Exception ex) { throw ex; } return(serviceSyncErpAsesoresEntity); }
public ServiceSyncErpAsesoresEntity SynchronizeSQLite(List <ERP_ASESORES> listaAsesoresSQLite) { //Listas CUD en DB_DACS ServiceSyncErpAsesoresEntity serviceSyncErpAsesoresEntity = new ServiceSyncErpAsesoresEntity(); serviceSyncErpAsesoresEntity.ListaCreate = new List <ERP_ASESORES>(); serviceSyncErpAsesoresEntity.ListaUpdate = new List <ERP_ASESORES>(); serviceSyncErpAsesoresEntity.ListaDelete = new List <ERP_ASESORES>(); try { List <ERP_ASESORES> listaServiceAsesores = this.Read() as List <ERP_ASESORES>; //Comparo elemento por elemento para chequear los insert y actualizaciones foreach (var objService in listaServiceAsesores) { var asesor = listaAsesoresSQLite.Where(a => a.ID == objService.ID).SingleOrDefault(); if (asesor != null) { if (!AsesoresIguales(asesor, objService)) { serviceSyncErpAsesoresEntity.ListaUpdate.Add(objService); } } else { serviceSyncErpAsesoresEntity.ListaCreate.Add(objService); } } //Obtengo los elementos que tengo que eliminar en la bd DACS foreach (var objSQLite in listaAsesoresSQLite) { var objDelete = listaServiceAsesores.Where(a => a.ID == objSQLite.ID).SingleOrDefault(); if (objDelete == null) { serviceSyncErpAsesoresEntity.ListaDelete.Add(objSQLite); } } } catch (Exception ex) { throw ex; } return(serviceSyncErpAsesoresEntity); }
private void PersistirListas(ServiceSyncErpAsesoresEntity serviceSyncErpAsesoresEntity) { try { foreach (var obj in serviceSyncErpAsesoresEntity.ListaCreate) { serviceErpAsesoresRepository.Create(obj); } foreach (var obj in serviceSyncErpAsesoresEntity.ListaUpdate) { serviceErpAsesoresRepository.Update(obj); } foreach (var obj in serviceSyncErpAsesoresEntity.ListaDelete) { serviceErpAsesoresRepository.Delete(obj); } } catch (Exception ex) { throw ex; } }