private void ProcessGpsMessage(GpsMessage gpsMsg) { if (gpsMsg == null) { return; } try { SmartDevice device = _gpsDevices.Find(x => x.DeviceId == gpsMsg.DeviceId); if (device != null) { device.Latitude = gpsMsg.Latitude; device.Longitude = gpsMsg.Longitude; BlobTable <SmartDevice> .Update(device); } #if DEBUG Console.WriteLine(Scf.Net.IotHub.MessageHelper.ToString(gpsMsg)); #endif _gpsQueue.SendMessage(Scf.Net.IotHub.MessageHelper.ToString(gpsMsg)); } catch (Exception ex) { } }
public async Task <ActionResult> IndexAsync() { Account acct = null; List <Account> items = await Task.Run(() => BlobTable <Account> .GetAllItems()); if (items != null && items.Count > 0) { acct = items[0]; } //var items = await SmartMonitorDataManager<Account>.GetItemsAsync(d => !d.Completed); //if (items != null) //{ // List<Account> list = items.ToList(); // if (list.Count > 0) // acct = list[0]; //} if (acct == null) { acct = new Account(); } return(View(acct)); }
public async Task <ActionResult> IndexAsync() { //var items = await SmartMonitorDataManager<Parameter>.GetItemsAsync(d => !d.Completed); List <Parameter> items = BlobTable <Parameter> .GetAllItems(); return(View(items)); }
public async Task <ActionResult> IndexAsync() { //var items = await SmartMonitorDataManager<UserGroup>.GetItemsAsync(d => !d.Completed); List <UserGroup> items = await Task.Run(() => BlobTable <UserGroup> .GetAllItems()); return(View(items)); }
public async Task <ActionResult> DeleteConfirmedAsync([Bind(Include = "Id")] string id) { //await SmartMonitorDataManager<Parameter>.DeleteItemAsync(id); BlobTable <Setting> .Delete(id); return(RedirectToAction("Index")); }
public ActionResult SaveAlarms(string id, Alarm[] alarms) { Parameter item = null; ViewData["parameterId"] = id; //Task.Run(async () => //{ //item = await SmartMonitorDataManager<Parameter>.GetItemAsync(id); item = BlobTable <Parameter> .GetItem(id); if (item != null) { if (item.Alarms != null) { item.Alarms.Clear(); } else { item.Alarms = new List <Alarm>(); } foreach (Alarm alarm in alarms) { alarm.DeviceId = item.Id; item.Alarms.Add(alarm); BlobTable <Alarm> .Upsert(alarm.Id, alarm); } } //}).Wait(); return(RedirectToAction("Index")); }
public async Task <ActionResult> Details(string id) { //var item = await SmartMonitorDataManager<SmartDevice>.GetItemAsync(id); SmartDevice item = BlobTable <SmartDevice> .GetItem(id); return(PartialView(item)); }
public void ConvertBlobTableToModel() { // arrange var blobEntity = new BlobTable() { Id = 10, CreatedDate = new DateTime(2017, 12, 10, 0, 0, 0), Name = "filename", FileName = "filename.ext", FilePath = "filepath", FileSize = 9999, URL = "url" }; var blobModel = new Blob() { Id = 10, CreatedDate = new DateTime(2017, 12, 10, 0, 0, 0), Name = "filename", FileSize = 9999, URL = "url" }; // act var blob = mapper.Map <Blob>(blobEntity); // assert Assert.True(blobModel.IsBlobEqual(blob)); }
public void Terminate() { Terminated = true; _iotHubReceiver.Terminate(); _gpsQueue.Terminate(); BlobTable <SmartDevice> .Terminate(); }
public async Task <ActionResult> EditAsync([Bind(Include = "Id,CompanyName,Address,City,State,ZipCode,Phone,Email")] Account item) { if (ModelState.IsValid) { //await SmartMonitorDataManager<Account>.UpsertItemAsync(item); await Task.Run(() => BlobTable <Account> .Upsert(item.Id, item)); return(RedirectToAction("Index")); } return(View(item)); }
public async Task <ActionResult> EditAsync([Bind(Include = "RowKey,Name,UserId,DeviceId,DeviceKey,Description,SerialNumber,Platform, Manufacturer, Model,GpsTracking,Latitude,Longitude,Completed")] SmartDevice item) { if (ModelState.IsValid) { //await SmartMonitorDataManager<SmartDevice>.UpdateItemAsync(item.Id, item); BlobTable <SmartDevice> .Upsert(item.Id, item); return(RedirectToAction("Index")); } return(View(item)); }
public async Task <ActionResult> DetailsAsync(string id) { //Account item = await SmartMonitorDataManager<Account>.GetItemAsync(id); Account item = BlobTable <Account> .GetItem(id); if (item == null) { item = new Account(); } return(View(item)); }
public async Task <ActionResult> EditAsync([Bind(Include = "Id,Name,Units,Serial,Type,LogToDatabase,MonitoringInterval, MonitoringIntervalType,Description,Completed")] Parameter item) { if (ModelState.IsValid) { //await SmartMonitorDataManager<Parameter>.UpdateItemAsync(item.Id, item); BlobTable <Parameter> .Upsert(item.Id, item); return(RedirectToAction("Index")); } return(PartialView(item)); }
public void Refresh() { List <SmartDevice> items = BlobTable <SmartDevice> .GetAllItems(); _devices.Clear(); foreach (SmartDevice item in items) { if (item.GpsTracking) { _devices.Add(item); } } }
public async Task <ActionResult> AlarmsAsync(string id) { Parameter item = null; //item = await SmartMonitorDataManager<Parameter>.GetItemAsync(id); item = BlobTable <Parameter> .GetItem(id); item.Alarms = BlobTable <Alarm> .GetAllItems(); item.Alarms = item.Alarms.FindAll(x => x.DeviceId == id); ViewData["parameterId"] = item.Id; return((item != null) ? PartialView(item.Alarms) : PartialView()); }
public void Initialize() { Terminated = false; _gpsQueue = new BlobQueue("gpsmessages", blobConnectionString, this, this); _gpsQueue.Initialize(); _iotHubReceiver = new Receiver(hubConnectionString, this); _iotHubReceiver.Initialize(this); BlobTable <SmartDevice> .Initialize(blobConnectionString); _gpsDevices = BlobTable <SmartDevice> .GetAllItems(); }
public async Task <ActionResult> DeleteAsync(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Setting item = await SmartMonitorDataManager<Setting>.GetItemAsync(id); Setting item = BlobTable <Setting> .GetItem(id); if (item == null) { return(HttpNotFound()); } return(PartialView(item)); }
public async Task <ActionResult> EditAsync(string id) { if (id == null) { return(new HttpStatusCodeResult(HttpStatusCode.BadRequest)); } //Account item = await SmartMonitorDataManager<Account>.GetItemAsync(id); Account item = BlobTable <Account> .GetItem(id); if (item == null) { return(HttpNotFound()); } return(View(item)); }
// GET: Communication public ActionResult Index() { Communication comm = new Communication(); List <SmartDevice> list = BlobTable <SmartDevice> .GetAllItems(); if (list != null) { comm.SelectedDevices = list; } //Task.Run(async () => //{ // var items = await SmartMonitorDataManager<SmartDevice>.GetItemsAsync(d => !d.Completed); // comm.SelectedDevices = items.ToList(); //}).Wait(); return(View(comm)); }
protected void Application_Start() { AreaRegistration.RegisterAllAreas(); FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); RouteConfig.RegisterRoutes(RouteTable.Routes); BundleConfig.RegisterBundles(BundleTable.Bundles); string connString = ConfigurationManager.AppSettings["BlobStorageConnectionString"]; BlobTable <Parameter> .Initialize(connString); BlobTable <Account> .Initialize(connString); BlobTable <SmartDevice> .Initialize(connString); BlobTable <Setting> .Initialize(connString); BlobTable <UserGroup> .Initialize(connString); BlobTable <User> .Initialize(connString); BlobTable <Alarm> .Initialize(connString); BlobContent.Initialize(connString, this); string pushConnString = ConfigurationManager.AppSettings["PushHubConnectionString"]; string hubname = ConfigurationManager.AppSettings["PushHubName"]; PushManager.Start(hubname, pushConnString); //SmartMonitorDataManager<Parameter>.Initialize("Parameters"); //SmartMonitorDataManager<Account>.Initialize("Account"); //SmartMonitorDataManager<SmartDevice>.Initialize("SmartDevices"); //SmartMonitorDataManager<Setting>.Initialize("Settings"); //SmartMonitorDataManager<UserGroup>.Initialize("UserGroups"); //SmartMonitorDataManager<User>.Initialize("Users"); //PushNotificationManager.Instance.Initialize(); //AzureActiveDirectoryManager.Instance.Initialize(); //IoTHubEventManager.Instance.Initialize(); }
public ActionResult SaveSelected(string data) { SelectedItem[] checkedItems = JsonConvert.DeserializeObject <SelectedItem[]>(data); List <SmartDevice> items = BlobTable <SmartDevice> .GetAllItems(); if (items != null && items.Count > 0) { foreach (SelectedItem chkitem in checkedItems) { int index = items.FindIndex(i => i.Id == chkitem.Id); SmartDevice item = (index >= 0) ? items[index] : null; if (item != null) { item.Selected = chkitem.Selected; BlobTable <SmartDevice> .Update(item); } } } //Task.Run(async () => //{ // var tmpitem = await SmartMonitorDataManager<SmartDevice>.GetItemsAsync(d => !d.Completed); // List<SmartDevice> items = tmpitem.ToList(); // foreach (SelectedItem chkitem in checkedItems) // { // int index = items.FindIndex(i => i.Id == chkitem.Id); // SmartDevice item = (index >= 0) ? items[index] : null; // if (item != null) // { // item.Selected = chkitem.Selected; // await SmartMonitorDataManager<SmartDevice>.UpsertItemAsync(item); // } // } //}); return(RedirectToAction("Index")); }
public async Task AddBlobAsync(BlobTable newBlob) { await this.context.Blobs .AddAsync(newBlob); }
public ActionResult SendMessage(string message, string data) { string[] checkedItems = JsonConvert.DeserializeObject <string[]>(data); List <SmartDevice> items = BlobTable <SmartDevice> .GetAllItems(); if (items != null && items.Count > 0) { foreach (string chkitem in checkedItems) { int index = items.FindIndex(i => i.Id == chkitem); SmartDevice item = (index >= 0) ? items[index] : null; if (item != null) { Scf.Net.PushHub.PushMessage msg = new Scf.Net.PushHub.PushMessage(); msg.DeviceId = item.DeviceId; msg.Message = message; msg.Type = Scf.Net.PushHub.PushMessage.PushType.Unknown; switch (item.Platform) { case SmartDevice.PlatformType.Android: msg.Type = Scf.Net.PushHub.PushMessage.PushType.Android; break; case SmartDevice.PlatformType.Apple: msg.Type = Scf.Net.PushHub.PushMessage.PushType.Apple; break; case SmartDevice.PlatformType.UWP: msg.Type = Scf.Net.PushHub.PushMessage.PushType.Windows; break; case SmartDevice.PlatformType.Windows: msg.Type = Scf.Net.PushHub.PushMessage.PushType.WindowsPhone; break; } PushManager.SendMessage(msg); } } } //Task.Run(async () => //{ // var tmpitem = await SmartMonitorDataManager<SmartDevice>.GetItemsAsync(d => !d.Completed); // List<SmartDevice> items = tmpitem.ToList(); // foreach (string itemid in checkedItems) // { // int index = items.FindIndex(i => i.Id == itemid); // SmartDevice item = (index >= 0) ? items[index] : null; // if (item != null) // { // PushMessage msg = new PushMessage(); // msg.DeviceId = item.DeviceId; // msg.Message = message; // msg.Type = PushMessage.PushType.Unknown; // switch (item.Platform) // { // case SmartDevice.PlatformType.Android: // msg.Type = PushMessage.PushType.Android; // break; // case SmartDevice.PlatformType.Apple: // msg.Type = PushMessage.PushType.Apple; // break; // case SmartDevice.PlatformType.UWP: // msg.Type = PushMessage.PushType.Windows; // break; // case SmartDevice.PlatformType.Windows: // msg.Type = PushMessage.PushType.Windows; // break; // } // PushNotificationManager.Instance.SendMessage(msg); // } // } //}); return(RedirectToAction("Index")); }