示例#1
0
        protected override void DoPost(CoapExchange exchange)
        {
            string payload = exchange.Request.PayloadString;

            if (payload != null)
            {
                EntidadPeticionSegura peticionSegura = JsonConvert.DeserializeObject <EntidadPeticionSegura>(payload);  //Deserializamos la peticion en un objeto de tipo json
                EntidadPeticion       peticion       = servicioSeguridad.ToEntidadPeticion(peticionSegura);

                var insercion = Task.Run(async() => await servicioInsertaInformacion.InsertaPeticion(peticion));     //Lanzamos la peticion para que inserte los datos de forma asincrona

                if (insercion.Result)
                {
                    exchange.Respond(CoAP.StatusCode.Changed);
                }
                else
                {
                    log.Error("ERR RECURSOPETICION (DoPost) - No se ha podido insertar la información en la base de datos.");
                    exchange.Respond(CoAP.StatusCode.BadRequest);
                }
            }
            else
            {
                log.Error("ERR RECURSOPETICION (DoPost) - La petición está vacía.");
            }
        }
示例#2
0
        protected override void DoPost(CoAP.Server.Resources.CoapExchange exchange)
        {
            String          payload         = exchange.Request.PayloadString;
            EntidadPeticion entidadPeticion = JsonConvert.DeserializeObject <EntidadPeticion>(payload);

            Task.Run(async() => await servicioInsertaInformacion.InsertaPeticion(entidadPeticion));

            Console.WriteLine(entidadPeticion.Sensor);
            exchange.Respond(CoAP.StatusCode.Changed);
        }
示例#3
0
        public async Task TestInsertaInformacion()
        {
            DateTime stampInicial = DateTime.UtcNow;
            float    humedad = 23, temperatura = 25;

            var listaDatos = new List <EntidadDatoBase>()
            {
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(1)
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(2)
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(3)
                },
                new EntidadDatoBase()
                {
                    Humedad = humedad, Temperatura = temperatura, Stamp = stampInicial.AddMinutes(4)
                }
            };

            EntidadPeticion peticion = new EntidadPeticion()
            {
                Sensor       = sensor,
                Proyecto     = proyecto,
                EstacionBase = estacionBase,
                Datos        = listaDatos
            };

            try
            {
                var resultado = await servicioInsertaInformacion.InsertaPeticion(peticion);

                Assert.IsNotNull(resultado);
                Assert.IsTrue(resultado);
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }

            try
            {
                var datosBd = await repositorioSensor.ObtenerDatos(idSensor, stampInicial.AddMinutes(-1), stampInicial.AddMinutes(5));

                Assert.IsNotNull(datosBd);
                Assert.AreEqual(listaDatos.Count(), datosBd.Count());
            }
            catch (Exception ex)
            {
                Assert.Fail(ex.Message);
            }
        }