019/SmartHome

/SmartHome/Controllers/SensorController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Configuration;
using System.Net.Http;
using Microsoft.AspNetCore.Mvc.Rendering;
using System.Net.Http.Headers;
using Newtonsoft.Json;
using System.Text;

namespace SmartHome.Pages
{
public class SensorModel : PageModel
{
private readonly IConfiguration _configuration;

public SensorModel(IConfiguration configuration)
{
_configuration = configuration;
}

public string SensorType { get; set; }
public List<SelectListItem> SensorList { get; set; }

public void OnGet()
{
var httpClient = new HttpClient();
var uri = new Uri(_configuration["SensorApi"]);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configuration["AccessKey"]);
var response = httpClient.GetAsync(uri);
response.Wait();
var content = response.Result.Content.ReadAsStringAsync().Result;
var sensorList = JsonConvert.DeserializeObject<List<Sensor>>(content);
SensorList = new List<SelectListItem>();
foreach (var item in sensorList)
{
SensorList.Add(new SelectListItem
{
Value = item.SensorId.ToString(),
Text = item.SensorName
});
}
}

public void OnPost()
{
var httpClient = new HttpClient();
var uri = new Uri(_configuration["SensorApi"]);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configuration["AccessKey"]);
var json = new
{
SensorId = int.Parse(Request.Form["SensorId"]),
Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
Value = float.Parse(Request.Form["Value"]),
SensorType = Request.Form["SensorType"]
};
var content = new StringContent(JsonConvert.SerializeObject(json), Encoding.UTF8, "application/json");
var response = httpClient.PostAsync(uri, content);
response.Wait();
var content1 = response.Result.Content.ReadAsStringAsync().Result;
}
}
}

/SmartHome/Controllers/DeviceController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Configuration;
using System.Net.Http;
using Microsoft.AspNetCore.Mvc.Rendering;
using System.Net.Http.Headers;
using Newtonsoft.Json;
using System.Text;

namespace SmartHome.Pages
{
public class DeviceModel : PageModel
{
private readonly IConfiguration _configuration;

public DeviceModel(IConfiguration configuration)
{
_configuration = configuration;
}

public string DeviceType { get; set; }
public List<SelectListItem> DeviceList { get; set; }

public void OnGet()
{
var httpClient = new HttpClient();
var uri = new Uri(_configuration["DeviceApi"]);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configuration["AccessKey"]);
var response = httpClient.GetAsync(uri);
response.Wait();
var content = response.Result.Content.ReadAsStringAsync().Result;
var deviceList = JsonConvert.DeserializeObject<List<Device>>(content);
DeviceList = new List<SelectListItem>();
foreach (var item in deviceList)
{
DeviceList.Add(new SelectListItem
{
Value = item.DeviceId.ToString(),
Text = item.DeviceName
});
}
}

public void OnPost()
{
var httpClient = new HttpClient();
var uri = new Uri(_configuration["DeviceApi"]);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configuration["AccessKey"]);
var json = new
{
DeviceId = int.Parse(Request.Form["DeviceId"]),
Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss"),
Value = float.Parse(Request.Form["Value"]),
DeviceType = Request.Form["DeviceType"]
};
var content = new StringContent(JsonConvert.SerializeObject(json), Encoding.UTF8, "application/json");
var response = httpClient.PostAsync(uri, content);
response.Wait();
var content1 = response.Result.Content.ReadAsStringAsync().Result;
}
}
}

/SmartHome/Controllers/ControllerController.cs
using System;
using System.Collections.Generic;
using System.Linq;
using System.Threading.Tasks;
using Microsoft.AspNetCore.Mvc;
using Microsoft.AspNetCore.Mvc.RazorPages;
using Microsoft.Extensions.Configuration;
using System.Net.Http;
using Microsoft.AspNetCore.Mvc.Rendering;
using System.Net.Http.Headers;
using Newtonsoft.Json;
using System.Text;

namespace SmartHome.Pages
{
public class ControllerModel : PageModel
{
private readonly IConfiguration _configuration;

public ControllerModel(IConfiguration configuration)
{
_configuration = configuration;
}

public string ControllerType { get; set; }
public List<SelectListItem> ControllerList { get; set; }

public void OnGet()
{
var httpClient = new HttpClient();
var uri = new Uri(_configuration["ControllerApi"]);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configuration["AccessKey"]);
var response = httpClient.GetAsync(uri);
response.Wait();
var content = response.Result.Content.ReadAsStringAsync().Result;
var controllerList = JsonConvert.DeserializeObject<List<Controller>>(content);
ControllerList = new List<SelectListItem>();
foreach (var item in controllerList)
{
ControllerList.Add(new SelectListItem
{
Value = item.ControllerId.ToString(),
Text = item.ControllerName
});
}
}

public void OnPost()
{
var httpClient = new HttpClient();
var uri = new Uri(_configuration["ControllerApi"]);
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", _configuration["AccessKey"]);
var json = new
{
ControllerId = int.Parse(Request.Form["ControllerId"]),
Time = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss