public HttpResponseMessage Devices(FormDataCollection formData) { var allDevices = NetomitySystem.Factory().NetomityObjects.Where(o => o.Type == NetomityObjectType.Device).Cast <StateDevice>(); if (formData != null && formData.Count() > 0) { var fDevice = formData.FirstOrDefault(); var device = allDevices.Where(d => d.Id.ToString() == formData.First().Key).FirstOrDefault(); if (device != null) { device.Command(fDevice.Value); } } // return _JSONResponse<List<NetomityObject>>(true, objs); return(RenderPage <IEnumerable <StateDevice> >(BaseFolder + "devicecontrol.html", allDevices)); }
/// <summary> /// Converts a dictionary object to a query string representation such as: /// firstname=shannon&lastname=deminick /// </summary> /// <param name="items"></param> /// <param name="keysToIgnore">Any keys found in this collection will be removed from the output</param> /// <returns></returns> public static string ToQueryString(this FormDataCollection items, params string[] keysToIgnore) { if (items == null) { return(""); } if (items.Count() == 0) { return(""); } var builder = new StringBuilder(); foreach (var i in items.Where(i => !keysToIgnore.InvariantContains(i.Key))) { builder.Append(string.Format("{0}={1}&", i.Key, i.Value)); } return(builder.ToString().TrimEnd('&')); }
[InlineData("x=\"null\"", "\"null\"")] // quoted null, preserved as is public void Whitespace(string queryString, string expected) { FormDataCollection fd = new FormDataCollection(queryString); Assert.Equal(1, fd.Count()); Assert.Equal(expected, fd.Get("x")); }