Exemple #1
0
        public HttpResponseMessage Synchronize([FromBody] List <ERP_LOCALIDADES> lista)
        {
            log.Info("Ingreso Synchronize");

            HttpResponseMessage             response     = new HttpResponseMessage();
            ServiceSyncErpLocalidadesEntity resultSQLite = null;

            try
            {
                ServiceErpLocalidadesBusiness serviceErpLocalidadesBusiness = new ServiceErpLocalidadesBusiness();

                //Comparo el input enviado desde SQLite con la base local
                log.Info("Ejecuta serviceErpLocalidadesBusiness.SynchronizeSQLite(lista): " + JsonConvert.SerializeObject(lista));
                resultSQLite = serviceErpLocalidadesBusiness.SynchronizeSQLite(lista);
                log.Info("Respuesta serviceErpLocalidadesBusiness.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);
        }
Exemple #2
0
        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);
        }
Exemple #3
0
        public ServiceSyncErpLocalidadesEntity SynchronizeSQLite(List <ERP_LOCALIDADES> listaLocalidadesSQLite)
        {
            //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> listaServiceLocalidades = this.Read() as List <ERP_LOCALIDADES>;

                //Comparo elemento por elemento para chequear los insert y actualizaciones
                foreach (var objService in listaServiceLocalidades)
                {
                    var localidad = listaLocalidadesSQLite.Where(a => a.ID == objService.ID).SingleOrDefault();
                    if (localidad != null)
                    {
                        if (!LocalidadIguales(localidad, objService))
                        {
                            serviceSyncErpLocalidadesEntity.ListaUpdate.Add(objService);
                        }
                    }
                    else
                    {
                        serviceSyncErpLocalidadesEntity.ListaCreate.Add(objService);
                    }
                }

                //Obtengo los elementos que tengo que eliminar en la bd DACS
                foreach (var objSQLite in listaLocalidadesSQLite)
                {
                    var objDelete = listaServiceLocalidades.Where(a => a.ID == objSQLite.ID).SingleOrDefault();
                    if (objDelete == null)
                    {
                        serviceSyncErpLocalidadesEntity.ListaDelete.Add(objSQLite);
                    }
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
            return(serviceSyncErpLocalidadesEntity);
        }
Exemple #4
0
        private void PersistirListas(ServiceSyncErpLocalidadesEntity serviceSyncErpLocalidadesEntity)
        {
            try
            {
                foreach (var obj in serviceSyncErpLocalidadesEntity.ListaCreate)
                {
                    serviceErpLocalidadesRepository.Create(obj);
                }

                foreach (var obj in serviceSyncErpLocalidadesEntity.ListaUpdate)
                {
                    serviceErpLocalidadesRepository.Update(obj);
                }

                foreach (var obj in serviceSyncErpLocalidadesEntity.ListaDelete)
                {
                    serviceErpLocalidadesRepository.Delete(obj);
                }
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }