12345678910111213141516171819202122232425262728293031323334353637383940414243 |
- using FastReport.Cloud.FastReport.Models;
- using static FastReport.Cloud.FastReport.ListViewCloud.Modes;
- using System.Collections.Generic;
- using System.Linq;
- namespace FastReport.Cloud.FastReport
- {
- internal static class ProviderManager
- {
- public static IFRCloudProvider Provider { get; set; }
- public static IFRCloudDataSourcesProvider DataSourcesProvider { get; set; }
- public static ICollection<SubscriptionVM> Subscriptions { get; set; }
- public static SubscriptionVM Subscription { get; set; }
- public static IFRCloudFilesProvider FilesProvider { get; set; }
- public static IFRCloudUserSettingsProvider UserSettingsProvider { get; set; }
- public static void SetProvider(IFRCloudProvider provider, CloudFilesMode filesMode)
- {
- //bool isAlreadySet = Subscriptions != null;
- Provider = provider;
- DataSourcesProvider = provider.DataSources;
- Subscriptions = provider.Subscriptions.GetSubscriptions();
- UserSettingsProvider = provider.UserSettings;
- Subscription = GetDefaultSubscription();
- FilesProvider = filesMode == CloudFilesMode.Reports
- ? Provider.Reports
- : Provider.Templates;
- }
- private static SubscriptionVM GetDefaultSubscription()
- {
- var defaultSubscription = UserSettingsProvider.GetUserSettings().DefaultSubscription;
- foreach (var subscriptionVm in Subscriptions)
- {
- if (subscriptionVm.Id == defaultSubscription)
- return subscriptionVm;
- }
- return Subscriptions.First();
- }
- }
- }
|