Ejemplo n.º 1
0
        public async Task <HttpResponseMessage> Get()
        {
            log.Info("Ingreso");
            HttpResponseMessage response = new HttpResponseMessage();

            //CLASS
            string ITRIS_SERVER = ConfigurationManager.AppSettings["ITRIS_SERVER"];
            string ITRIS_PUERTO = ConfigurationManager.AppSettings["ITRIS_PUERTO"];
            string ITRIS_CLASE  = ConfigurationManager.AppSettings["ITRIS_CLASE_TIPO_ARTICULO"];

            //AUTHENTICATE
            string ITRIS_USER     = ConfigurationManager.AppSettings["ITRIS_USER"];
            string ITRIS_PASS     = ConfigurationManager.AppSettings["ITRIS_PASS"];
            string ITRIS_DATABASE = ConfigurationManager.AppSettings["ITRIS_DATABASE"];

            ItrisTipoDeArticuloResponse responseItris;

            try
            {
                ItrisAuthenticateEntity authenticateEntity =
                    new ItrisAuthenticateEntity(ITRIS_SERVER, ITRIS_PUERTO, ITRIS_CLASE, ITRIS_USER, ITRIS_PASS, ITRIS_DATABASE);

                ItrisTipoDeArticuloBusiness itrisTipoDeArticuloBusiness = new ItrisTipoDeArticuloBusiness(authenticateEntity);

                //REQUEST GENERARNDO LA SESSION DESDE EL BUSINESS
                log.Info("Ejecuta itrisTipoDeArticuloBusiness.Get():");
                string session = itrisTipoDeArticuloBusiness.SessionString;
                responseItris = await itrisTipoDeArticuloBusiness.Get(session);

                string mensaje = itrisTipoDeArticuloBusiness.CloseSession(session);
                log.Info("Respuesta itrisTipoDeArticuloBusiness.Get(): " + JsonConvert.SerializeObject(responseItris));

                //REQUEST DELEGANDO EL MANEJO DE SESION EN EL REPOSITORY BASE. ABRE Y CIERRA EN EL MISMO REQUEST
                //log.Info("Ejecuta itrisTipoDeArticuloBusiness.Get():");
                //responseItris = await itrisTipoDeArticuloBusiness.Get();
                //log.Info("Respuesta itrisTipoDeArticuloBusiness.Get(): " + JsonConvert.SerializeObject(responseItris));

                response = Request.CreateResponse(HttpStatusCode.Created, responseItris.data);
            }
            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");
            return(response);
        }
Ejemplo n.º 2
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;
		}