FRCloudSubscriptionsProvider.cs 1.3 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253
  1. 
  2. using System;
  3. using System.Linq;
  4. using System.Globalization;
  5. using System.Text;
  6. using System.Threading;
  7. using System.Threading.Tasks;
  8. using FastReport.Auth;
  9. using FastReport.Cloud.FastReport.Models;
  10. using System.Net;
  11. using System.Collections.Generic;
  12. namespace FastReport.Cloud.FastReport
  13. {
  14. internal class FRCloudSubscriptionsProvider : HttpMessages, IFRCloudSubscriptionsProvider
  15. {
  16. const string API_SUBSCRIPTIONS_BASEPATH = "api/manage/v1/Subscriptions/";
  17. public ICollection<SubscriptionVM> GetSubscriptions()
  18. {
  19. var request = GetRequest();
  20. var subscriptionsVM = Send<SubscriptionsVM>(request);
  21. return subscriptionsVM.Subscriptions;
  22. }
  23. private HttpWebRequest GetRequest()
  24. {
  25. var request = GetHttpWebRequest(API_SUBSCRIPTIONS_BASEPATH);
  26. return request;
  27. }
  28. #if ASYNC
  29. public async Task<ICollection<SubscriptionVM>> GetSubscriptionsAsync()
  30. {
  31. var request = GetRequest();
  32. var subscriptionsVM = await SendAsync<SubscriptionsVM>(request);
  33. return subscriptionsVM.Subscriptions;
  34. }
  35. #endif
  36. public FRCloudSubscriptionsProvider(AuthService authService)
  37. : base(authService)
  38. {
  39. }
  40. }
  41. }