コード例 #1
0
        public async Task <IActionResult> PutTemperatureSensor(int id, TemperatureSensor temperatureSensor)
        {
            if (id != temperatureSensor.Id)
            {
                return(BadRequest());
            }

            _context.Entry(temperatureSensor).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!TemperatureSensorExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #2
0
        public async Task <IActionResult> PutRecord(long id, Record @record)
        {
            if (id != @record.TimeStamp)
            {
                return(BadRequest());
            }

            _context.Entry(@record).State = EntityState.Modified;

            try
            {
                await _context.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!RecordExists(id))
                {
                    return(NotFound());
                }
                else
                {
                    throw;
                }
            }

            return(NoContent());
        }
コード例 #3
0
        public async Task <ActionResult <SensorItem> > PostSensorItem(SensorItem item)
        {
            _context.SensorItems.Add(item);
            _service.Write(item);

            await _context.SaveChangesAsync();

            return(CreatedAtAction(nameof(GetSensorItem), new { id = item.Id }, item));
        }
コード例 #4
0
        // Add new sensor
        public async Task <bool> AddNewSensor(string token, Sensor sensor)
        {
            try
            {
                if (token == "c55add77fa7f6c27f7c5fa819b4752af1fc5af9cdb103452e")
                {
                    sensor.Token        = TokenGenerator.generateToken();
                    sensor.TokenAddedAt = DateTime.Now;
                    await context.Sensors.AddAsync(sensor);

                    await context.SaveChangesAsync();

                    return(true);
                }
                else
                {
                    return(false);
                }
            }
            catch
            {
                return(false);
            }
        }
コード例 #5
0
        public async Task <ActionResult <Sensor> > PostSensor(Sensor sensor)
        {
            /* Tag tem formato <país>.<região>.<sensor> */
            bool tagOk = sensor.Tag.Split('.').Count() == TAG_FORMAT_COUNT;

            /* Valor vem como string mas tem que ser parsable como int */
            bool valorOk = Int32.TryParse(sensor.Valor, out int valor);

            if (tagOk)
            {
                sensor.Status = valorOk ? "Processado" : "Erro";

                _context.Sensors.Add(sensor);
                await _context.SaveChangesAsync();

                return(CreatedAtAction("GetSensor", new { id = sensor.Id }, sensor));
            }

            return(UnprocessableEntity());
        }
コード例 #6
0
 public async Task <int> SaveChanges()
 {
     return(await Db.SaveChangesAsync());
 }