示例#1
0
		public ServiceSyncTipArtEntity SynchronizeTipArtDACS(ItrisAuthenticateEntity authenticateEntity)
		{
			//Listas CUD en DB_DACS
			ServiceSyncTipArtEntity serviceSyncTipArtEntity = new ServiceSyncTipArtEntity();
			serviceSyncTipArtEntity.ListaCreate = new List<TIP_ART>();
			serviceSyncTipArtEntity.ListaUpdate = new List<TIP_ART>();
			serviceSyncTipArtEntity.ListaDelete = new List<TIP_ART>();

			try
			{
				List<TIP_ART> listaTipArtItris = new List<TIP_ART>();

				ItrisTipoDeArticuloBusiness itrisTipoDeArticuloBusiness = new ItrisTipoDeArticuloBusiness(authenticateEntity);
				ItrisTipoDeArticuloResponse itrisTipoDeArticuloResponse =
					Task.Run(async () => await itrisTipoDeArticuloBusiness.Get()).GetAwaiter().GetResult();

				List<TIP_ART> listaServiceTipArt = this.Read() as List<TIP_ART>;

				//Comparo elemento por elemento para chequear los insert y actualizaciones
				foreach (var objItris in itrisTipoDeArticuloResponse.data)
				{
					var tipArt = listaServiceTipArt.Where(a => a.ID == objItris.ID).SingleOrDefault();
					if (tipArt != null)
					{
						if (!TipoDeArticuloIguales(tipArt, objItris))
						{
							ActualizoTipArt(tipArt, objItris);
							serviceSyncTipArtEntity.ListaUpdate.Add(tipArt);
						}
					}
					else
						serviceSyncTipArtEntity.ListaCreate.Add(CreoNuevoTipArt(objItris));
				}

				//Obtengo los elementos que tengo que eliminar en la bd DACS
				foreach (var objService in listaServiceTipArt)
				{
					var objDelete = itrisTipoDeArticuloResponse.data.Where(a => a.ID == objService.ID).SingleOrDefault();
					if (objDelete == null)
						serviceSyncTipArtEntity.ListaDelete.Add(objService);
				}

				PersistirListas(serviceSyncTipArtEntity);
			}
			catch (Exception ex)
			{
				throw ex;
			}

			return serviceSyncTipArtEntity;
		}
示例#2
0
		private void PersistirListas(ServiceSyncTipArtEntity serviceSyncTipArtEntity)
		{
			try
			{
				foreach (var obj in serviceSyncTipArtEntity.ListaCreate)
					serviceTipArtRepository.Create(obj);

				foreach (var obj in serviceSyncTipArtEntity.ListaUpdate)
					serviceTipArtRepository.Update(obj);

				foreach (var obj in serviceSyncTipArtEntity.ListaDelete)
					serviceTipArtRepository.Delete(obj);
			}
			catch (Exception ex)
			{
				throw ex;
			}
		}
示例#3
0
		public ServiceSyncTipArtEntity SynchronizeSQLite(List<TIP_ART> listaTipArtSQLite)
		{
			//Listas CUD en DB_DACS
			ServiceSyncTipArtEntity serviceSyncTipArtEntity = new ServiceSyncTipArtEntity();
			serviceSyncTipArtEntity.ListaCreate = new List<TIP_ART>();
			serviceSyncTipArtEntity.ListaUpdate = new List<TIP_ART>();
			serviceSyncTipArtEntity.ListaDelete = new List<TIP_ART>();

			try
			{
				List<TIP_ART> listaServiceTipArt = this.Read() as List<TIP_ART>;

				//Comparo elemento por elemento para chequear los insert y actualizaciones
				foreach (var objService in listaServiceTipArt)
				{
					var asesor = listaTipArtSQLite.Where(a => a.ID == objService.ID).SingleOrDefault();
					if (asesor != null)
					{
						if (!TipArtIguales(asesor, objService))
						{
							serviceSyncTipArtEntity.ListaUpdate.Add(objService);
						}
					}
					else
						serviceSyncTipArtEntity.ListaCreate.Add(objService);
				}

				//Obtengo los elementos que tengo que eliminar en la bd DACS
				foreach (var objSQLite in listaTipArtSQLite)
				{
					var objDelete = listaServiceTipArt.Where(a => a.ID == objSQLite.ID).SingleOrDefault();
					if (objDelete == null)
						serviceSyncTipArtEntity.ListaDelete.Add(objSQLite);
				}
			}
			catch (Exception ex)
			{
				throw ex;
			}
			return serviceSyncTipArtEntity;
		}