FRCloudUserSettingsProvider.cs 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. using FastReport.Cloud.FastReport.Models;
  2. using System.Threading.Tasks;
  3. using FastReport.Auth;
  4. using System.Text;
  5. namespace FastReport.Cloud.FastReport
  6. {
  7. internal class FRCloudUserSettingsProvider : HttpMessages, IFRCloudUserSettingsProvider
  8. {
  9. const string API_USER_SETTINGS_BASEPATH = "api/manage/v1/";
  10. public FRCloudUserSettingsProvider(AuthService authService)
  11. : base(authService)
  12. {
  13. }
  14. public UserSettingsVM GetUserSettings()
  15. {
  16. string url = GetUserSettingsURL();
  17. var request = GetHttpWebRequest(url);
  18. var result = Send<UserSettingsVM>(request);
  19. return result;
  20. }
  21. #if ASYNC
  22. public async Task<UserSettingsVM> GetUserSettingsAsync()
  23. {
  24. string url = GetUserSettingsURL();
  25. var request = GetHttpWebRequest(url);
  26. var result = await SendAsync<UserSettingsVM>(request);
  27. return result;
  28. }
  29. #endif
  30. protected string GetUserSettingsURL()
  31. {
  32. var urlbuilder = new StringBuilder();
  33. urlbuilder.Append(API_USER_SETTINGS_BASEPATH).Append("UserSettings");
  34. return urlbuilder.ToString();
  35. }
  36. }
  37. }