Example #1
0
        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)
            {
            }
        }
Example #2
0
        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));
        }
Example #3
0
        public async Task <ActionResult> IndexAsync()
        {
            //var items = await SmartMonitorDataManager<Parameter>.GetItemsAsync(d => !d.Completed);
            List <Parameter> items = BlobTable <Parameter> .GetAllItems();

            return(View(items));
        }
Example #4
0
        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"));
        }
Example #6
0
        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));
        }
Example #8
0
        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));
        }
Example #9
0
        public void Terminate()
        {
            Terminated = true;

            _iotHubReceiver.Terminate();

            _gpsQueue.Terminate();

            BlobTable <SmartDevice> .Terminate();
        }
Example #10
0
        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));
        }
Example #12
0
        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));
        }
Example #13
0
        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));
        }
Example #14
0
        public void Refresh()
        {
            List <SmartDevice> items = BlobTable <SmartDevice> .GetAllItems();

            _devices.Clear();

            foreach (SmartDevice item in items)
            {
                if (item.GpsTracking)
                {
                    _devices.Add(item);
                }
            }
        }
Example #15
0
        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());
        }
Example #16
0
        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));
        }
Example #18
0
        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));
        }
Example #20
0
        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"));
        }
Example #22
0
 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"));
        }