public async Task <QueueMessageRequest> FromRequest(HttpRequestMessage message)
        {
            _log.LogTrace($"Converting {nameof(HttpRequestMessage)} to {nameof(QueueMessageRequest)}");

            var request = new QueueMessageRequest
            {
                Uri = message.RequestUri
            };

            request.Headers = request.Headers;

            if (message.Content != null)
            {
                var streamTask = message.Content.ReadAsStreamAsync();

                _log.LogTrace($"Add headers");
                foreach (var header in message.Content.Headers)
                {
                    request.Headers.TryAdd(header.Key, header.Value);
                }

                _log.LogTrace($"Converting content");
                request.Body = await streamTask;
            }

            else
            {
                request.Body = Stream.Null;
            }

            return(request);
        }
Example #2
0
        public override async Task <QueueMessageResponse> QueueMessage(QueueMessageRequest request, ServerCallContext context)
        {
            var messageId = await this.internalApi.QueueMessage(
                request.TransId,
                request.QueueId,
                request.Message.Payload.ToByteArray(),
                request.Message.MetaData,
                request.Message.Priority,
                request.Message.MaxAttempts,
                request.Message.ExpiryInMinutes,
                request.Message.CorrelationId,
                request.Message.GroupName);

            return(new QueueMessageResponse {
                MessageId = messageId, TransId = request.TransId
            });
        }
Example #3
0
        public async Task <ImagenIndoor> ObtenerImagen()
        {
            ImagenIndoor         toReturn = null;
            QueueMessageResponse response = null;
            QueueMessageRequest  request  = null;

            try
            {
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "obtenerImagen");
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = ResponseParser.parseImagenIndoor(response.Result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }
Example #4
0
        public async Task <List <Programacion> > GetProgramaciones()
        {
            List <Programacion>  toReturn = null;
            QueueMessageResponse response = null;
            QueueMessageRequest  request  = null;

            try
            {
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "obtenerProgramaciones");
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = ResponseParser.parseListaProgramaciones(response.Result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }
Example #5
0
        public async Task <HumedadYTemperatura> GetHumedadYTemperatura()
        {
            HumedadYTemperatura  toReturn = null;
            QueueMessageResponse response = null;
            QueueMessageRequest  request  = null;

            try
            {
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "humedadYTemperatura");
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = ResponseParser.parseHumedadYTemperatura(response.Result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }
Example #6
0
        public async Task <bool> EditProgramacion(Programacion aEditar)
        {
            bool toReturn = false;
            QueueMessageResponse response = null;
            QueueMessageRequest  request  = null;

            try
            {
                string toEdit = RequestParser.parseEditarProgramacionRequest(aEditar).ReadAsStringAsync().Result;
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "editarProgramacion", toEdit);
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = response.Success;
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }
Example #7
0
        public async Task <bool> FanExtra(bool prender)
        {
            bool toReturn = false;
            QueueMessageResponse response      = null;
            QueueMessageRequest  request       = null;
            List <string>        getParameters = new List <string>()
            {
                prender.ToString()
            };

            try
            {
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "fanExtra", getParameters);
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = response.Success;
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }
Example #8
0
        public async Task <bool> HabilitarDeshabilitarProgramacion(int idProgramacion, bool estado)
        {
            bool toReturn = false;
            QueueMessageResponse response      = null;
            QueueMessageRequest  request       = null;
            List <string>        getParameters = new List <string>()
            {
                idProgramacion.ToString(), estado.ToString()
            };

            try
            {
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "cambiarEstadoProgramacion", getParameters);
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = response.Success;
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }
Example #9
0
        public async Task <List <Evento> > GetEventosPorFechaYTipo(DateTime desde, DateTime hasta, ConfigGPIO tipo)
        {
            List <Evento>        toReturn      = null;
            QueueMessageResponse response      = null;
            QueueMessageRequest  request       = null;
            List <string>        getParameters = new List <string>()
            {
                desde.ToString(formatoFecha), hasta.ToString(formatoFecha), tipo.ToString()
            };

            try
            {
                request = new QueueMessageRequest(Configuracion.Instancia.usuario, Configuracion.Instancia.contrasenia, "obtenerEventosPorFecha", getParameters);
                QueueMessageSenderReciever client = new QueueMessageSenderReciever(request);
                response = await client.CallForResponse();

                toReturn = ResponseParser.parseListaEventos(response.Result);
            }
            catch (Exception ex)
            {
                Console.Write(ex.StackTrace);
            }
            return(toReturn);
        }