Advertisement
Guest User

settings

a guest
Mar 1st, 2015
252
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.42 KB | None | 0 0
  1. // caller
  2.  
  3. public void SetStringValue(string name, string val)
  4. {
  5. UserData.SetPropertyValue(this, name, val);
  6. }
  7.  
  8. // userdata file
  9.  
  10. namespace PreferencesXML.iOS
  11. {
  12. public static class UserData
  13. {
  14. public static object GetPropertyValue(object data, string propertyName)
  15. {
  16. return data.GetType().GetProperties().SingleOrDefault(pi => pi.Name == propertyName).GetValue(data, null);
  17. }
  18.  
  19. public static void SetPropertyValue<T>(object data, string propertyName, T value)
  20. {
  21. data.GetType().GetProperties().SingleOrDefault(pi => pi.Name == propertyName).SetValue(data, value);
  22. }
  23.  
  24. private static string pUserSettingsFile;
  25.  
  26. private static UserSetting userSetting;
  27.  
  28. public static UserSetting UserSetting
  29. {
  30. get
  31. {
  32. if (userSetting == null)
  33. {
  34. if (File.Exists(UserSettingsFile))
  35. {
  36. userSetting = Serialiser.XmlDeserializeObject<UserSetting>(UserSettingsFile);
  37. }
  38. else
  39. {
  40. userSetting = new UserSetting();
  41. Serialiser.XmlSerializeObject(userSetting, UserSettingsFile);
  42. }
  43. }
  44.  
  45. return userSetting;
  46. }
  47.  
  48. set
  49. {
  50. if (value == null)
  51. {
  52. throw new ArgumentNullException("value is null!");
  53. }
  54. // end if
  55.  
  56. userSetting = value;
  57. if (File.Exists(UserSettingsFile))
  58. {
  59. File.Delete(UserSettingsFile);
  60. }
  61.  
  62. Serialiser.XmlSerializeObject(userSetting, UserSettingsFile);
  63. }
  64. }
  65.  
  66. public static string UserSettingsFile
  67. {
  68. get
  69. {
  70. if (string.IsNullOrEmpty(pUserSettingsFile))
  71. {
  72. pUserSettingsFile = Path.Combine(AppDelegate.Self.ContentDirectory, "UserSettings.xml");
  73. }
  74.  
  75. return pUserSettingsFile;
  76. }
  77. }
  78.  
  79. public static string Company
  80. {
  81. get
  82. {
  83. return UserSetting.companyName;
  84. }
  85.  
  86. set
  87. {
  88. UserSetting settings = UserSetting;
  89. settings.companyName = value;
  90. UserSetting = settings;
  91. }
  92. }
  93.  
  94. public static double Pi
  95. {
  96. get
  97. {
  98. return UserSetting.pi;
  99. }
  100.  
  101. set
  102. {
  103. UserSetting settings = UserSetting;
  104. settings.pi = value;
  105. UserSetting = settings;
  106. }
  107. }
  108.  
  109. public static bool OnOff
  110. {
  111. get
  112. {
  113. return UserSetting.onOff;
  114. }
  115.  
  116. set
  117. {
  118. UserSetting settings = UserSetting;
  119. settings.onOff = value;
  120. UserSetting = settings;
  121. }
  122. }
  123. }
  124.  
  125. public class UserSetting
  126. {
  127. public string companyName{ get; set; }
  128.  
  129. public double pi{ get; set; }
  130.  
  131. public bool onOff{ get; set; }
  132. }
  133. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement