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);
        }
Example #2
0
        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);
        }
Example #3
0
        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);
        }
Example #4
0
        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;
            }
        }