public IHttpActionResult PutHeartRateData(int id, HeartRateData heartRateData)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != heartRateData.Id)
            {
                return BadRequest();
            }

            db.Entry(heartRateData).State = EntityState.Modified;

            try
            {
                db.SaveChanges();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!HeartRateDataExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public async Task<IHttpActionResult> PostHeartRateData(HeartRateData heartRateData)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            await SendNotificationAsync(heartRateData);

            //var hub = NotificationHubClient.CreateClientFromConnectionString(
            //    "Endpoint=sb://banddemonotificationhub-ns.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedAccessKey=8im4ijcsb95TOZ7uwSSLi/j9HIMEoTh6MdpVFsqyQNw=",
            //    "banddemonotificationhub");

            //var toast = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
            //            "<wp:Notification xmlns:wp=\"WPNotification\">" +
            //                "<wp:Toast>" +
            //                    "<wp:Text1>" + heartRateData.Value + "</wp:Text1>" +
            //                    "<wp:Text2>" + heartRateData.CreatedAt + "</wp:Text2>" +
            //                "</wp:Toast> " +
            //            "</wp:Notification>";

            //// Create the Tile message.
            //string tile = "<?xml version=\"1.0\" encoding=\"utf-8\"?>" +
            //"<wp:Notification xmlns:wp=\"WPNotification\">" +
            //    "<wp:Tile>" +
            //      "<wp:Title>Seyes khouk</wp:Title>" +
            //      "<wp:BackTitle>" + heartRateData.Value + "</wp:BackTitle>" +
            //      "<wp:BackContent>" + heartRateData.CreatedAt + "</wp:BackContent>" +
            //   "</wp:Tile> " +
            //"</wp:Notification>";
            ////"<wp:Count>" + "3" + "</wp:Count>" +

            //await hub.SendMpnsNativeNotificationAsync(toast);
            //await hub.SendMpnsNativeNotificationAsync(tile);

            db.HeartRateDatas.Add(heartRateData);
            db.SaveChanges();

            return CreatedAtRoute("DefaultApi", new { id = heartRateData.Id }, heartRateData);
        }
        private async Task SendNotificationAsync(HeartRateData heartRateData)
        {
            NotificationHubClient hub = NotificationHubClient
                .CreateClientFromConnectionString("to be done by you !", 
                "banddemonotificationhub");

            var toast = @"<toast><visual><binding template=""ToastText01""><text id=""1"">" + heartRateData.Value + @"</text><text id=""2"">" + heartRateData.CreatedAt.Hour + ":" + heartRateData.CreatedAt.Minute + "</text></binding></visual></toast>";

            var tile = @"<?xml version=""1.0"" encoding=""utf-8""?><tile><visual><binding template =""TileSquareBlock""><text id=""1"">" + heartRateData.Value + @"</text><text id=""2"">" + heartRateData.CreatedAt.Hour + ":" + heartRateData.CreatedAt.Minute + "</text></binding></visual></tile>";

            await hub.SendWindowsNativeNotificationAsync(toast);
            await hub.SendWindowsNativeNotificationAsync(tile);
        }