Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2014
180
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.72 KB | None | 0 0
  1. enum Gender { Male, Female }
  2.  
  3. class Person
  4. {
  5. int Age { get; set; }
  6. Gender Gender { get; set; }
  7. }
  8.  
  9. { "Age": 35, "Gender": "Male" }
  10.  
  11. [JsonConverter(typeof(StringEnumConverter))]
  12. public Gender Gender { get; set; }
  13.  
  14. class Person
  15. {
  16. int Age { get; set; }
  17.  
  18. [ScriptIgnore]
  19. Gender Gender { get; set; }
  20.  
  21. string GenderString { get { return Gender.ToString(); } }
  22. }
  23.  
  24. HttpConfiguration config = GlobalConfiguration.Configuration;
  25. config.Formatters.JsonFormatter.SerializerSettings.Formatting =
  26. Newtonsoft.Json.Formatting.Indented;
  27.  
  28. config.Formatters.JsonFormatter.SerializerSettings.Converters.Add
  29. (new Newtonsoft.Json.Converters.StringEnumConverter());
  30.  
  31. [DataContract(
  32. Namespace =
  33. "http://schemas.datacontract.org/2004/07/Whatever")]
  34. class Person
  35. {
  36. [DataMember]
  37. int Age { get; set; }
  38.  
  39. Gender Gender { get; set; }
  40.  
  41. [DataMember(Name = "Gender")]
  42. string GenderString
  43. {
  44. get { return this.Gender.ToString(); }
  45. set
  46. {
  47. Gender g;
  48. this.Gender = Enum.TryParse(value, true, out g) ? g : Gender.Male;
  49. }
  50. }
  51. }
  52.  
  53. Newtonsoft.Json.JsonConvert.SerializeObject(
  54. objectToSerialize,
  55. Newtonsoft.Json.Formatting.None,
  56. new Newtonsoft.Json.JsonSerializerSettings()
  57. {
  58. Converters = new List<Newtonsoft.Json.JsonConverter> {
  59. new Newtonsoft.Json.Converters.StringEnumConverter()
  60. }
  61. })
  62.  
  63. public enum Role
  64. {
  65. None = Permission.None,
  66. Guest = Permission.Browse,
  67. Reader = Permission.Browse| Permission.Help ,
  68. Manager = Permission.Browse | Permission.Help | Permission.Customise
  69. }
  70.  
  71. Get["/roles"] = _ =>
  72. {
  73. var type = typeof(Role);
  74. var data = Enum
  75. .GetNames(type)
  76. .Select(name => new
  77. {
  78. Id = (int)Enum.Parse(type, name),
  79. Name = name
  80. })
  81. .ToArray();
  82.  
  83. return Response.AsJson(data);
  84. };
  85.  
  86. [
  87. {"Id":0,"Name":"None"},
  88. {"Id":2097155,"Name":"Guest"},
  89. {"Id":2916367,"Name":"Reader"},
  90. {"Id":4186095,"Name":"Manager"}
  91. ]
  92.  
  93. fillSelect=(id, url, selectedValue=0)->
  94. $select = $ id
  95. $option = (item)-> $ "<option/>",
  96. {
  97. value:"#{item.Id}"
  98. html:"#{item.Name}"
  99. selected:"selected" if item.Id is selectedValue
  100. }
  101. $.getJSON(url).done (data)->$option(item).appendTo $select for item in data
  102.  
  103. $ ->
  104. fillSelect "#role", "/roles", 2916367
  105.  
  106. <select id="role" name="role"></select>
  107.  
  108. <select id="role" name="role">
  109. <option value="0">None</option>
  110. <option value="2097155">Guest</option>
  111. <option value="2916367" selected="selected">Reader</option>
  112. <option value="4186095">Manager</option>
  113. </select>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement