public async Task SendMessage(Action action, Sensor sensor, double value) { var typedMessage = new TypedMessage(); var taskDescriptor = new TaskDescriptor(); var actionDescriptor = new ActionDescriptor(); actionDescriptor.Parameter = "true"; actionDescriptor.Type = Action.Indication; taskDescriptor.Action = actionDescriptor; var conditionDescriptor = new ConditionDescriptor(); conditionDescriptor.ComparisonType = Condition.GreaterThan; conditionDescriptor.SensorType = sensor; conditionDescriptor.Target = value; taskDescriptor.Condition = conditionDescriptor; taskDescriptor.DeviceId = "raspberry1"; typedMessage.Data = taskDescriptor; typedMessage.Type = AutomationSystemCore.Management.MessageHeaders.CreateTask; string connectionString = "HostName=AutomationSystemHub.azure-devices.net;DeviceId=test;SharedAccessKey=O/B4sln1uG0KmnBeSeEZoxbVODL27q5coJmd8G/z2s4="; var deviceClientSend = DeviceClient.CreateFromConnectionString(connectionString); var messageString = JsonConvert.SerializeObject(typedMessage); var message = new Microsoft.Azure.Devices.Client.Message(Encoding.ASCII.GetBytes(messageString)); await deviceClientSend.SendEventAsync(message); Debug.WriteLine("{0} > Sending message: {1}", DateTime.Now, messageString); }
public async Task <IActionResult> PostConditionDescriptor([FromBody] ConditionDescriptor conditionDescriptor) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } _context.ConditionDescriptors.Add(conditionDescriptor); await _context.SaveChangesAsync(); return(CreatedAtAction("GetConditionDescriptor", new { id = conditionDescriptor.Id }, conditionDescriptor)); }
public void SeedConditionDescriptorTable() { DataTable table = _seedData.Tables["ConditionDescriptors"]; int rowcount = table.Rows.Count; for (int i = 0; i < rowcount; i++) { object[] columns = table.Rows[i].ItemArray; ConditionDescriptor conditiondescriptor = new ConditionDescriptor { Id = new Guid(columns[0].ToString()), Text = columns[1].ToString() }; _context.ConditionDescriptors.Add(conditiondescriptor); } _context.SaveChanges(); }
public async Task <IActionResult> PutConditionDescriptor([FromRoute] Guid id, [FromBody] ConditionDescriptor conditionDescriptor) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } if (id != conditionDescriptor.Id) { return(BadRequest()); } _context.Entry(conditionDescriptor).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!ConditionDescriptorExists(id)) { return(NotFound()); } else { throw; } } return(NoContent()); }