Example #1
0
        // GET api/gecko
        public HttpResponseMessage Get()
        {
            try
            {
               var retVal = new GeckoItems();
                var items = new List<DataItem>() {
                    new DataItem(){ Text = "Text 1", Type = DataItemType.None },
                    new DataItem(){ Text = "Text 1", Type = DataItemType.Info },
                    new DataItem(){ Text = "Text 1", Type = DataItemType.Alert }
                };
                retVal.DataItems = items.ToArray();

                return this.Request.CreateResponse<GeckoItems>(HttpStatusCode.OK, retVal);
            }
            catch (Exception ex)
            {
                return this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
            }
        }
Example #2
0
        public void Live_Push_RagNumbers()
        {
            // Arrange
            var widgetKey = RAGNUMBERS_WIDGETKEY;        // replace this value with your own
            var obj       = new GeckoItems()
            {
                DataItems = new DataItem[3] {
                    new DataItem()
                    {
                        Value = 16, Text = "Long past due"
                    },
                    new DataItem()
                    {
                        Value = 64, Text = "Overdue"
                    },
                    new DataItem()
                    {
                        Value = 32, Text = "Due"
                    }
                }
            };

            var push = new PushPayload <GeckoItems>()
            {
                ApiKey = _apiKey,
                Data   = obj
            };
            var client = new GeckoConnect();
            var json   = JsonConvert.SerializeObject(push, Formatting.Indented); // Just for curiosity sake

            // Act
            Assert.AreNotEqual("<api key here>", _apiKey);
            Assert.AreNotEqual("<widget key here>", widgetKey);
            var result = client.Push <GeckoItems>(push, widgetKey);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Success);
            Assert.IsTrue(string.IsNullOrWhiteSpace(result.Message));
        }
        public HttpResponseMessage RAGNumbersOnly([FromUri] string format = "JSON", [FromUri] string type = "3")
        {
            try
            {
                if (!User.Identity.IsAuthenticated)
                {
                    return(this.Request.CreateErrorResponse(HttpStatusCode.Unauthorized, new Exception("API key not specified.")));
                }
                if (Guid.Parse(ConfigurationManager.AppSettings["GeckoAPIkey"]).ToString() != User.Identity.Name)
                {
                    return(this.Request.CreateErrorResponse(HttpStatusCode.Unauthorized, new Exception(string.Format("Unknown API key, should be '{0}'.", ConfigurationManager.AppSettings["GeckoAPIkey"]))));
                }
                //if (int.Parse(type) != 3) { return this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, new ArgumentException(string.Format("type '{0}' is wrong.", type))); }

                // You would modify what gets returned here to make it meaningful
                var retVal = new GeckoItems();
                var items  = new List <DataItem>()
                {
                    new DataItem()
                    {
                        Text = "test1", Value = rand.Next(100)
                    },
                    new DataItem()
                    {
                        Text = "test2", Value = rand.Next(100)
                    },
                    new DataItem()
                    {
                        Text = "test3", Value = rand.Next(100)
                    }
                };
                retVal.DataItems = items.ToArray();

                return(this.Request.CreateResponse <GeckoItems>(HttpStatusCode.OK, retVal));
            }
            catch (Exception ex)
            {
                return(this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex));
            }
        }
Example #4
0
        public HttpResponseMessage RAGColumnAndNumbers([FromUri]string format = "JSON", [FromUri]string type = "2")
        {
            try
            {
                if (!User.Identity.IsAuthenticated) { return this.Request.CreateErrorResponse(HttpStatusCode.Unauthorized, new Exception("API key not specified.")); }
                if (Guid.Parse(ConfigurationManager.AppSettings["GeckoAPIkey"]).ToString() != User.Identity.Name) { return this.Request.CreateErrorResponse(HttpStatusCode.Unauthorized, new Exception(string.Format("Unknown API key, should be '{0}'.", ConfigurationManager.AppSettings["GeckoAPIkey"]))); }
                //if (int.Parse(type) != 2) { return this.Request.CreateErrorResponse(HttpStatusCode.BadRequest, new ArgumentException(string.Format("Type parameter '{0}' is wrong.", type))); }

                // You would modify what gets returned here to make it meaningful
                var retVal = new GeckoItems();
                var items = new List<DataItem>() {
                    new DataItem(){ Text = "test1", Value = rand.Next(100), Prefix = "$" },
                    new DataItem(){ Text = "test2", Value = rand.Next(100), Prefix = "$" },
                    new DataItem(){ Text = "test3", Value = rand.Next(100), Prefix = "$" }
                };
                retVal.DataItems = items.ToArray();

                return this.Request.CreateResponse<GeckoItems>(HttpStatusCode.OK, retVal);
            }
            catch (Exception ex)
            {
                return this.Request.CreateErrorResponse(HttpStatusCode.InternalServerError, ex);
            }
        }
Example #5
0
        public void Live_Push_RagNumbers()
        {
            // Arrange
            var widgetKey = "<widget key here>";        // replace this value with your own
            var obj = new GeckoItems()
            {
                DataItems = new DataItem[3] {
                    new DataItem() { Value = 16, Text = "Long past due" },
                    new DataItem() { Value = 64, Text = "Overdue" },
                    new DataItem() { Value = 32, Text = "Due" }
                }
            };

            var push = new PushPayload<GeckoItems>()
            {
                ApiKey = this.apiKey,
                Data = obj
            };
            var client = new GeckoConnect();
            var json = JsonConvert.SerializeObject(push, Formatting.Indented);  // Just for curiosity sake

            // Act
            Assert.AreNotEqual("<api key here>", this.apiKey);
            Assert.AreNotEqual("<widget key here>", widgetKey);
            var result = client.Push<GeckoItems>(push, widgetKey);

            // Assert
            Assert.IsNotNull(result);
            Assert.IsTrue(result.Success);
            Assert.IsTrue(string.IsNullOrWhiteSpace(result.Message));
        }