public OpenSettingsFileWpfCommand(IServiceProvider serviceProvider, IUserSettingsProvider userSettingsProvider, IWin32Window win32Window, ILogger logger) { this.serviceProvider = serviceProvider; this.userSettingsProvider = userSettingsProvider; this.logger = logger; this.win32Window = win32Window; }
public TitleRecognizer(IFileManager fileManager, ICacheManager cacheManager, IUserSettingsProvider userSettingsProvider, IEventAggregator eventAggregator) { _fileManager = fileManager; _cacheManager = cacheManager; _userSettingsProvider = userSettingsProvider; _eventAggregator = eventAggregator; }
public FileManagerViewModel(ITransferManagerViewModel transferManager, IUserSettingsProvider userSettings) { _transferManager = transferManager; _userSettings = userSettings; UserMessages = new ObservableCollection <IUserMessageViewModel> { new NoMessagesViewModel() }; UserMessages.CollectionChanged += (sender, args) => NotifyPropertyChanged(UNREADMESSAGECOUNT); SwitchPaneCommand = new DelegateCommand <EventInformation <KeyEventArgs> >(ExecuteSwitchPaneCommand, CanExecuteSwitchPaneCommand); EditCommand = new DelegateCommand(ExecuteEditCommand, CanExecuteEditCommand); CopyCommand = new DelegateCommand <IEnumerable <FileSystemItem> >(ExecuteCopyCommand, CanExecuteCopyCommand); MoveCommand = new DelegateCommand <IEnumerable <FileSystemItem> >(ExecuteMoveCommand, CanExecuteMoveCommand); NewFolderCommand = new DelegateCommand(ExecuteNewFolderCommand, CanExecuteNewFolderCommand); DeleteCommand = new DelegateCommand <IEnumerable <FileSystemItem> >(ExecuteDeleteCommand, CanExecuteDeleteCommand); OpenUserMessageCommand = new DelegateCommand <UserMessageCommandParameter>(ExecuteOpenUserMessageCommand); RemoveUserMessageCommand = new DelegateCommand <UserMessageViewModel>(ExecuteRemoveUserMessageCommand); EventAggregator.GetEvent <OpenNestedPaneEvent>().Subscribe(OnOpenNestedPane); EventAggregator.GetEvent <CloseNestedPaneEvent>().Subscribe(OnCloseNestedPane); EventAggregator.GetEvent <ActivePaneChangedEvent>().Subscribe(OnActivePaneChanged); EventAggregator.GetEvent <RefreshPanesEvent>().Subscribe(OnRefreshPanes); EventAggregator.GetEvent <RaiseCanExecuteChangesEvent>().Subscribe(OnRaiseCanExecuteChanges); EventAggregator.GetEvent <NotifyUserMessageEvent>().Subscribe(OnNotifyUserMessage); EventAggregator.GetEvent <ExecuteFileOperationEvent>().Subscribe(OnExecuteFileOperation); EventAggregator.GetEvent <CanExecuteFileOperationEvent>().Subscribe(OnCanExecuteFileOperation); }
public TitleRecognizer(IFileManager fileManager, ICacheManager cacheManager, IUserSettingsProvider userSettingsProvider, IEventAggregator eventAggregator, IResourceManager resourceManager) { _fileManager = fileManager; _cacheManager = cacheManager; _userSettingsProvider = userSettingsProvider; _eventAggregator = eventAggregator; _resourceManager = resourceManager; }
/// <summary> /// Initializes a new instance of the <see cref="CalculatorController"/> class. /// </summary> public CalculatorController( IDatabaseCommandFactory databaseCommandFactory, IUserSettingsProvider userSettingsProvider, UserManager <ApplicationUser> userManager) { this.databaseCommandFactory = databaseCommandFactory; this.userSettingsProvider = userSettingsProvider; this.userManager = userManager; }
public NotificationService(IEventAggregator eventAggregator, IStatisticsViewModel statistics, IUserSettingsProvider userSettings, IWorkHandler workHandler) { _eventAggregator = eventAggregator; _statistics = statistics; _userSettings = userSettings; _workHandler = workHandler; eventAggregator.GetEvent<ShellInitializedEvent>().Subscribe(OnShellInitialized); }
public NotificationService(IEventAggregator eventAggregator, IStatisticsViewModel statistics, IUserSettingsProvider userSettings, IWorkHandler workHandler) { _eventAggregator = eventAggregator; _statistics = statistics; _userSettings = userSettings; _workHandler = workHandler; eventAggregator.GetEvent <ShellInitializedEvent>().Subscribe(OnShellInitialized); }
public TransferManagerViewModel(IUserSettingsProvider userSettingsProvider, IStatisticsViewModel statistics) { _userSettingsProvider = userSettingsProvider; _statistics = statistics; _elapsedTimeMeter.Tick += OnTransferProgressTick; PauseCommand = new DelegateCommand(ExecutePauseCommand); ContinueCommand = new DelegateCommand(ExecuteContinueCommand); EventAggregator.GetEvent <TransferProgressChangedEvent>().Subscribe(OnTransferProgressChanged); EventAggregator.GetEvent <ShowCorrespondingErrorEvent>().Subscribe(OnShowCorrespondingError); }
/// <summary> /// Initializes a new instance of the <see cref="ManageController"/> class. /// </summary> public ManageController( IUserSettingsProvider userSettingsProvider, SignInManager <ApplicationUser> signInManager, UserManager <ApplicationUser> userManager, IEmailSender emailSender) { this.userSettingsProvider = userSettingsProvider; this.signInManager = signInManager; this.userManager = userManager; this.emailSender = emailSender; }
public CFamilyRuleConfigProvider(IHost host, IActiveSolutionBoundTracker activeSolutionBoundTracker, IUserSettingsProvider userSettingsProvider, ILogger logger, ICFamilyRulesConfigProvider sonarWayProvider, IFileSystem fileSystem) { this.activeSolutionBoundTracker = activeSolutionBoundTracker; this.userSettingsProvider = userSettingsProvider; this.logger = logger; this.sonarWayProvider = sonarWayProvider; this.serializer = new RulesSettingsSerializer(fileSystem, logger); this.effectiveConfigCalculator = new EffectiveRulesConfigCalculator(logger); }
public SettingsViewModel(IUserSettingsProvider userSettingsProvider, ICacheManager cacheManager) { _userSettingsProvider = userSettingsProvider; _cacheManager = cacheManager; ClearCacheCommand = new DelegateCommand(ExecuteClearCacheCommand); ExpirationTimeSpans = new List <int> { 0, 1, 2, 3, 4, 5, 6, 7, 14, 21, 30, 60, 90 }; FsdContentScanTriggerOptions = Enum.GetValues(typeof(FsdContentScanTrigger)).ToList <FsdContentScanTrigger>(); AvailableLanguages = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => { try { if (c.IsNeutralCulture) { return(false); } if (c.Equals(CultureInfo.InvariantCulture)) { return(false); } if (c.Name == "en-US") { return(true); } return(Resx.ResourceManager.GetResourceSet(c, true, false) != null); } catch (CultureNotFoundException) { return(false); } }).ToList(); UseUnity = _userSettingsProvider.UseUnity; ProfileExpiration = _userSettingsProvider.ProfileExpiration; ProfileInvalidation = _userSettingsProvider.ProfileInvalidation; RecognizedGameExpiration = _userSettingsProvider.RecognizedGameExpiration; PartiallyRecognizedGameExpiration = _userSettingsProvider.PartiallyRecognizedGameExpiration; UnrecognizedGameExpiration = _userSettingsProvider.UnrecognizedGameExpiration; XboxLiveContentExpiration = _userSettingsProvider.XboxLiveContentExpiration; XboxLiveContentInvalidation = _userSettingsProvider.XboxLiveContentInvalidation; UnknownContentExpiration = _userSettingsProvider.UnknownContentExpiration; UseVersionChecker = _userSettingsProvider.UseVersionChecker; DisableNotificationSound = _userSettingsProvider.DisableNotificationSound; DisableFsdStatusPolling = _userSettingsProvider.DisableFsdStatusPolling; VerifyFileHashAfterFtpUpload = _userSettingsProvider.VerifyFileHashAfterFtpUpload; FsdContentScanTrigger = _userSettingsProvider.FsdContentScanTrigger; UseRemoteCopy = _userSettingsProvider.UseRemoteCopy; Language = _userSettingsProvider.Language ?? LocalizeDictionary.Instance.Culture; DisableCustomChrome = _userSettingsProvider.DisableCustomChrome; }
internal SearchEnginesPageViewModel(IRegionManager regionManager, ISearchEnginesProvider searchEnginesProvider, IUserSettingsProvider userSettingsProvider) { _regionManager = regionManager; _userSettingsProvider = userSettingsProvider; NavigateToAboutCommand = new DelegateCommand(NavigateToAbout); SearchEnginesNames = new ObservableCollection <string>( searchEnginesProvider.SearchEngines.Select(searchEngine => searchEngine.Name)); var appDataEntity = _userSettingsProvider.UserSettings; _selectedSearchEngineName = appDataEntity.SelectedSearchEngine; }
/// <summary> /// Initializes a new instance of the <see cref="DashboardController"/> class. /// </summary> public DashboardController( GameData gameData, TelemetryClient telemetryClient, IDatabaseCommandFactory databaseCommandFactory, IUserSettingsProvider userSettingsProvider, UserManager <ApplicationUser> userManager) { this.gameData = gameData; this.telemetryClient = telemetryClient; this.databaseCommandFactory = databaseCommandFactory; this.userSettingsProvider = userSettingsProvider; this.userManager = userManager; }
protected virtual void Initialize() { Icon = new BitmapImage(new Uri("pack://application:,,,/Neurotoxin.Godspeed.Shell;component/Resources/window.ico")); SnapsToDevicePixels = true; Background = (SolidColorBrush) Application.Current.Resources["ControlBackgroundBrush"]; var useStyle = true; if (App.ShellInitialized) { UserSettings = UnityInstance.Container.Resolve<IUserSettingsProvider>(); if (UserSettings.DisableCustomChrome) useStyle = false; } if (useStyle) Style = (Style)Application.Current.Resources["Window"]; }
public AnalysisConfigMonitor(IAnalysisRequester analysisRequester, IUserSettingsProvider userSettingsProvider, // reports changes to user settings.json IActiveSolutionBoundTracker activeSolutionBoundTracker, // reports changes to connected mode ILogger logger) { this.analysisRequester = analysisRequester; this.userSettingsProvider = userSettingsProvider; this.activeSolutionBoundTracker = activeSolutionBoundTracker; this.logger = logger; userSettingsProvider.SettingsChanged += OnUserSettingsChanged; activeSolutionBoundTracker.SolutionBindingChanged += OnSolutionBindingChanged; activeSolutionBoundTracker.SolutionBindingUpdated += OnSolutionBindingUpdated; }
/// <summary> /// Initializes a new instance of the <see cref="CalculatorViewModel"/> class. /// </summary> public CalculatorViewModel( IDatabaseCommandFactory databaseCommandFactory, IUserSettingsProvider userSettingsProvider, int uploadId, ClaimsPrincipal user, UserManager <ApplicationUser> userManager) { var userId = userManager.GetUserId(user); this.UploadId = uploadId; string uploadUserId; var parameters = new Dictionary <string, object> { { "@UploadId", uploadId }, }; const string GetUploadUserIdCommandText = @" SELECT UserId FROM Uploads WHERE Uploads.Id = @UploadId"; using (var command = databaseCommandFactory.Create( GetUploadUserIdCommandText, parameters)) using (var reader = command.ExecuteReader()) { if (reader.Read()) { uploadUserId = reader["UserId"].ToString(); } else { return; } } var uploadUserSettings = userSettingsProvider.Get(uploadUserId); var isUploadAnonymous = string.IsNullOrEmpty(uploadUserId); this.IsOwn = string.Equals(userId, uploadUserId, StringComparison.OrdinalIgnoreCase); this.IsPublic = isUploadAnonymous || uploadUserSettings.AreUploadsPublic; this.IsPermitted = this.IsOwn || this.IsPublic || user.IsInRole("Admin"); this.SuggestedAncientIds = suggestedAncientIds; this.IsValid = true; }
public AnalysisConfigMonitor(IAnalysisRequester analysisRequester, IUserSettingsProvider userSettingsProvider, // reports changes to user settings.json IActiveSolutionBoundTracker activeSolutionBoundTracker, // reports changes to connected mode ISuppressedIssuesMonitor suppressedIssuesMonitor, ILogger logger) { this.analysisRequester = analysisRequester; this.userSettingsProvider = userSettingsProvider; this.activeSolutionBoundTracker = activeSolutionBoundTracker; this.suppressedIssuesMonitor = suppressedIssuesMonitor; this.logger = logger; userSettingsProvider.SettingsChanged += OnUserSettingsChanged; suppressedIssuesMonitor.SuppressionsUpdateRequested += OnSuppressionsUpdated; }
public UploadsController( IDatabaseCommandFactory databaseCommandFactory, GameData gameData, IUserSettingsProvider userSettingsProvider, UserManager <ApplicationUser> userManager, IClanManager clanManager, TelemetryClient telemetryClient) { this.databaseCommandFactory = databaseCommandFactory; this.gameData = gameData; this.userSettingsProvider = userSettingsProvider; this.userManager = userManager; this.clanManager = clanManager; this.telemetryClient = telemetryClient; }
public SearchEnginesPageViewModelTests() { _searchEnginesProvider = Substitute.For <ISearchEnginesProvider>(); var searchEngines = new List <SearchEngine> { new SearchEngine("Example1", "https://example.com/") }; _searchEnginesProvider.SearchEngines.Returns(searchEngines); var userSettings = new UserSettings { SelectedSearchEngine = "Example1" }; _userSettingsProvider = new FakeUserSettingsProvider(userSettings); }
public CFamilyRuleConfigProvider(IHost host, IActiveSolutionBoundTracker activeSolutionBoundTracker, IUserSettingsProvider userSettingsProvider, ILogger logger, ICFamilyRulesConfigProvider sonarWayProvider, IFileSystem fileSystem) { this.activeSolutionBoundTracker = activeSolutionBoundTracker; this.userSettingsProvider = userSettingsProvider; this.logger = logger; solutionInfoProvider = host.GetService <ISolutionRuleSetsInformationProvider>(); solutionInfoProvider.AssertLocalServiceIsNotNull(); this.sonarWayProvider = sonarWayProvider; this.serializer = new RulesSettingsSerializer(fileSystem, logger); this.effectiveConfigCalculator = new EffectiveRulesConfigCalculator(logger); }
public UserController( GameData gameData, TelemetryClient telemetryClient, IDatabaseCommandFactory databaseCommandFactory, IUserSettingsProvider userSettingsProvider, UserManager <ApplicationUser> userManager, IEmailSender emailSender, IClanManager clanManager) { _gameData = gameData; _telemetryClient = telemetryClient; _databaseCommandFactory = databaseCommandFactory; _userSettingsProvider = userSettingsProvider; _userManager = userManager; _emailSender = emailSender; _clanManager = clanManager; }
/// <summary> /// Initializes a new instance of the <see cref="DisableRuleCommand"/> class. /// Adds our command handlers for menu (commands must exist in the command table file) /// </summary> /// <param name="package">Owner package, not null.</param> /// <param name="menuCommandService">Command service to add command to, not null.</param> internal /* for testing */ DisableRuleCommand(IMenuCommandService menuCommandService, IErrorList errorList, IUserSettingsProvider userSettingsProvider, IActiveSolutionBoundTracker activeSolutionBoundTracker, ILogger logger) { if (menuCommandService == null) { throw new ArgumentNullException(nameof(menuCommandService)); } this.errorList = errorList ?? throw new ArgumentNullException(nameof(errorList)); this.userSettingsProvider = userSettingsProvider ?? throw new ArgumentNullException(nameof(userSettingsProvider)); this.activeSolutionBoundTracker = activeSolutionBoundTracker ?? throw new ArgumentNullException(nameof(activeSolutionBoundTracker)); this.logger = logger ?? throw new ArgumentNullException(nameof(logger)); var menuCommandID = new CommandID(CommandSet, CommandId); menuItem = new OleMenuCommand(Execute, null, QueryStatus, menuCommandID); menuCommandService.AddCommand(menuItem); }
protected UserSettings(IUserSettingsService userSettingsService, IUserSettingsProvider <IUserSettings> userSettingsProvider) { userSettingsService.ThrowIfNull(nameof(userSettingsService)); UserSettingsService = userSettingsService; userSettingsProvider.ThrowIfNull(nameof(userSettingsProvider)); UserSettingsProvider = userSettingsProvider; // register command that allow serialize and deserialize user settings object SerializeCommand = new DelegateCommand <object>(Serialize, CanSerialize); DeserializeCommand = new DelegateCommand <object>(Deserialize, CanDeserialize); UserSettingsService.SerializeCommand.RegisterCommand(SerializeCommand); UserSettingsService.DeserializeCommand.RegisterCommand(DeserializeCommand); // Init all public properties by default values from DefaultValueAttribute. // Method considers properties from derived classes, too. this.SetDefaultValues(); UserSettingsProvider.Deserialize(this); }
protected virtual void Initialize() { Icon = BitmapFrame.Create(new Uri("pack://application:,,,/Neurotoxin.Godspeed.Shell;component/Resources/app.ico")); SnapsToDevicePixels = true; Background = (SolidColorBrush)Application.Current.Resources["ControlBackgroundBrush"]; var useStyle = true; if (App.ShellInitialized) { UserSettings = UnityInstance.Container.Resolve <IUserSettingsProvider>(); if (UserSettings.DisableCustomChrome) { useStyle = false; } } if (useStyle) { Style = (Style)Application.Current.Resources["Window"]; } }
public Settings(IUserSettingsService userSettingsService, IUserSettingsProvider <Settings> userSettingsProvider) : base(userSettingsService, userSettingsProvider) { }
public TestableOpenSettingsFileWpfCommand(IServiceProvider serviceProvider, IUserSettingsProvider userSettingsProvider, IWin32Window win32Window, ILogger logger) : base(serviceProvider, userSettingsProvider, win32Window, logger) { }
/// <summary> /// Initializes a new instance of the <see cref="ProgressViewModel"/> class. /// </summary> public ProgressViewModel( GameData gameData, TelemetryClient telemetryClient, IDatabaseCommandFactory databaseCommandFactory, IUserSettingsProvider userSettingsProvider, ClaimsPrincipal user, UserManager <ApplicationUser> userManager, string progressUserName, string range) { this.ProgressUserName = progressUserName; var userId = userManager.GetUserId(user); string progressUserId = null; if (string.IsNullOrEmpty(progressUserName)) { progressUserId = userId; } else { var progressUser = AsyncHelper.RunSynchronously(async() => await userManager.FindByNameAsync(progressUserName)); if (progressUser != null) { progressUserId = AsyncHelper.RunSynchronously(async() => await userManager.GetUserIdAsync(progressUser)); } } if (string.IsNullOrEmpty(progressUserId)) { // If we didn't get data, it's a user that doesn't exist return; } var progressUserSettings = userSettingsProvider.Get(progressUserId); if (!progressUserId.Equals(userId, StringComparison.OrdinalIgnoreCase) && !progressUserSettings.AreUploadsPublic && !user.IsInRole("Admin")) { // Not permitted return; } var userSettings = userSettingsProvider.Get(userId); this.RangeSelector = new GraphRangeSelectorViewModel(range); var data = new ProgressData( gameData, telemetryClient, databaseCommandFactory, progressUserId, this.RangeSelector.Start, this.RangeSelector.End); if (!data.IsValid) { return; } var prominentGraphs = new List <GraphViewModel>(); this.TryAddGraph(prominentGraphs, "Souls Spent", data.SoulsSpentData, userSettings); this.TryAddGraph(prominentGraphs, "Titan Damage", data.TitanDamageData, userSettings); this.TryAddGraph(prominentGraphs, "Hero Souls Sacrificed", data.HeroSoulsSacrificedData, userSettings); this.TryAddGraph(prominentGraphs, "Total Ancient Souls", data.TotalAncientSoulsData, userSettings); this.TryAddGraph(prominentGraphs, "Transcendent Power", data.TranscendentPowerData, userSettings, 2); this.TryAddGraph(prominentGraphs, "Rubies", data.RubiesData, userSettings); this.TryAddGraph(prominentGraphs, "Highest Zone This Transcension", data.HighestZoneThisTranscensionData, userSettings); this.TryAddGraph(prominentGraphs, "Highest Zone Lifetime", data.HighestZoneLifetimeData, userSettings); this.TryAddGraph(prominentGraphs, "Ascensions This Transcension", data.AscensionsThisTranscensionData, userSettings); this.TryAddGraph(prominentGraphs, "Ascensions Lifetime", data.AscensionsLifetimeData, userSettings); var secondaryGraphs = new List <GraphViewModel>(); foreach (var pair in data.OutsiderLevelData) { this.TryAddGraph(secondaryGraphs, pair.Key, pair.Value, userSettings); } foreach (var pair in data.AncientLevelData) { this.TryAddGraph(secondaryGraphs, pair.Key, pair.Value, userSettings); } this.ProminentGraphs = prominentGraphs; this.SecondaryGraphs = secondaryGraphs; this.IsValid = true; }
private static ActiveRulesCalculator CreateTestSubject(RuleDefinitionsBuilder ruleDefinitionsBuilder, IUserSettingsProvider userSettingsProvider) => new ActiveRulesCalculator(ruleDefinitionsBuilder.GetDefinitions(), userSettingsProvider);
private static MenuCommand CreateDisableRuleMenuCommand(IErrorList errorList, IUserSettingsProvider userSettingsProvider, IActiveSolutionBoundTracker solutionTracker, ILogger logger) { var dummyMenuService = new DummyMenuCommandService(); new DisableRuleCommand(dummyMenuService, errorList, userSettingsProvider, solutionTracker, logger); dummyMenuService.AddedMenuCommands.Count.Should().Be(1); return(dummyMenuService.AddedMenuCommands[0]); }
static UserSettings() { // In future versions we can get clever and inject the type we want with Unity, if needed. // For now this can use RavenDb by default _persister = new RavenDbProvider(); }
public CFamilyRuleConfigProvider(IHost host, IActiveSolutionBoundTracker activeSolutionBoundTracker, IUserSettingsProvider userSettingsProvider, ILogger logger) : this(host, activeSolutionBoundTracker, userSettingsProvider, logger, new CFamilySonarWayRulesConfigProvider(CFamilyShared.CFamilyFilesDirectory), new FileSystem()) { }
public SettingsViewModel(IUserSettingsProvider userSettingsProvider, ICacheManager cacheManager) { _userSettingsProvider = userSettingsProvider; _cacheManager = cacheManager; ClearCacheCommand = new DelegateCommand(ExecuteClearCacheCommand); ExpirationTimeSpans = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 14, 21, 30, 60, 90 }; FsdContentScanTriggerOptions = Enum.GetValues(typeof (FsdContentScanTrigger)).ToList<FsdContentScanTrigger>(); AvailableLanguages = CultureInfo.GetCultures(CultureTypes.AllCultures).Where(c => { try { if (c.IsNeutralCulture) return false; if (c.Equals(CultureInfo.InvariantCulture)) return false; if (c.Name == "en-US") return true; return Resx.ResourceManager.GetResourceSet(c, true, false) != null; } catch (CultureNotFoundException) { return false; } }).ToList(); UseUnity = _userSettingsProvider.UseUnity; ProfileExpiration = _userSettingsProvider.ProfileExpiration; ProfileInvalidation = _userSettingsProvider.ProfileInvalidation; RecognizedGameExpiration = _userSettingsProvider.RecognizedGameExpiration; PartiallyRecognizedGameExpiration = _userSettingsProvider.PartiallyRecognizedGameExpiration; UnrecognizedGameExpiration = _userSettingsProvider.UnrecognizedGameExpiration; XboxLiveContentExpiration = _userSettingsProvider.XboxLiveContentExpiration; XboxLiveContentInvalidation = _userSettingsProvider.XboxLiveContentInvalidation; UnknownContentExpiration = _userSettingsProvider.UnknownContentExpiration; UseVersionChecker = _userSettingsProvider.UseVersionChecker; DisableNotificationSound = _userSettingsProvider.DisableNotificationSound; VerifyFileHashAfterFtpUpload = _userSettingsProvider.VerifyFileHashAfterFtpUpload; FsdContentScanTrigger = _userSettingsProvider.FsdContentScanTrigger; UseRemoteCopy = _userSettingsProvider.UseRemoteCopy; Language = _userSettingsProvider.Language ?? LocalizeDictionary.Instance.Culture; DisableCustomChrome = _userSettingsProvider.DisableCustomChrome; }
public FileManagerViewModel(ITransferManagerViewModel transferManager, IUserSettingsProvider userSettings) { _transferManager = transferManager; _userSettings = userSettings; UserMessages = new ObservableCollection<IUserMessageViewModel> { new NoMessagesViewModel() }; UserMessages.CollectionChanged += (sender, args) => NotifyPropertyChanged(UNREADMESSAGECOUNT); SwitchPaneCommand = new DelegateCommand<EventInformation<KeyEventArgs>>(ExecuteSwitchPaneCommand, CanExecuteSwitchPaneCommand); EditCommand = new DelegateCommand(ExecuteEditCommand, CanExecuteEditCommand); CopyCommand = new DelegateCommand<IEnumerable<FileSystemItem>>(ExecuteCopyCommand, CanExecuteCopyCommand); MoveCommand = new DelegateCommand<IEnumerable<FileSystemItem>>(ExecuteMoveCommand, CanExecuteMoveCommand); NewFolderCommand = new DelegateCommand(ExecuteNewFolderCommand, CanExecuteNewFolderCommand); DeleteCommand = new DelegateCommand<IEnumerable<FileSystemItem>>(ExecuteDeleteCommand, CanExecuteDeleteCommand); OpenUserMessageCommand = new DelegateCommand<UserMessageCommandParameter>(ExecuteOpenUserMessageCommand); RemoveUserMessageCommand = new DelegateCommand<UserMessageViewModel>(ExecuteRemoveUserMessageCommand); EventAggregator.GetEvent<OpenNestedPaneEvent>().Subscribe(OnOpenNestedPane); EventAggregator.GetEvent<CloseNestedPaneEvent>().Subscribe(OnCloseNestedPane); EventAggregator.GetEvent<ActivePaneChangedEvent>().Subscribe(OnActivePaneChanged); EventAggregator.GetEvent<RaiseCanExecuteChangesEvent>().Subscribe(OnRaiseCanExecuteChanges); EventAggregator.GetEvent<NotifyUserMessageEvent>().Subscribe(OnNotifyUserMessage); EventAggregator.GetEvent<ExecuteFileOperationEvent>().Subscribe(OnExecuteFileOperation); EventAggregator.GetEvent<CanExecuteFileOperationEvent>().Subscribe(OnCanExecuteFileOperation); }
/// <summary> /// Ctor /// </summary> /// <param name="rulesDefinitions">The set of applicable rule definitions</param> /// <param name="userSettingsProvider">Rule configurations specified by the user</param> public ActiveRulesCalculator(IEnumerable <RuleDefinition> rulesDefinitions, IUserSettingsProvider userSettingsProvider) { this.ruleDefinitions = rulesDefinitions?.ToArray() ?? Array.Empty <RuleDefinition>(); this.userSettingsProvider = userSettingsProvider; }
/// <summary> /// Initializes a new instance of the <see cref="DashboardViewModel"/> class. /// </summary> public DashboardViewModel( GameData gameData, TelemetryClient telemetryClient, IDatabaseCommandFactory databaseCommandFactory, IUserSettingsProvider userSettingsProvider, ClaimsPrincipal user, UserManager <ApplicationUser> userManager) { var userId = userManager.GetUserId(user); var userSettings = userSettingsProvider.Get(userId); var startTime = DateTime.UtcNow.AddDays(-7); var data = new ProgressData( gameData, telemetryClient, databaseCommandFactory, userId, startTime, null); if (!data.IsValid) { return; } var dataSeries = data.SoulsSpentData; if (dataSeries.Count > 0) { this.ProgressSummaryGraph = new GraphData { Chart = new Chart { Type = ChartType.Line, }, Title = new Title { Text = "Souls Spent", }, XAxis = new Axis { TickInterval = 24 * 3600 * 1000, // one day Type = AxisType.Datetime, TickWidth = 0, GridLineWidth = 1, Labels = new Labels { Align = Align.Left, X = 3, Y = -3, Format = "{value:%m/%d}", }, }, YAxis = new Axis { Labels = new Labels { Align = Align.Left, X = 3, Y = 16, Format = "{value:.,0f}", }, ShowFirstLabel = false, Type = GetYAxisType(dataSeries, userSettings), }, Legend = new Legend { Enabled = false, }, Series = new Series[] { new Series { Color = Colors.PrimarySeriesColor, Data = dataSeries .Select(datum => new Point { X = datum.Key.ToJavascriptTime(), Y = datum.Value.ToString("F0"), }) .Concat(new[] { new Point { X = DateTime.UtcNow.ToJavascriptTime(), Y = dataSeries.Last().Value.ToString("F0"), }, }) .ToList(), }, }, }; } this.Follows = new List <string>(); var parameters = new Dictionary <string, object> { { "@UserId", userId }, }; const string GetUserFollowsCommandText = @" SELECT UserName FROM UserFollows INNER JOIN AspNetUsers ON UserFollows.FollowUserId = AspNetUsers.Id WHERE UserId = @UserId ORDER BY UserName ASC" ; using (var command = databaseCommandFactory.Create( GetUserFollowsCommandText, parameters)) using (var reader = command.ExecuteReader()) { while (reader.Read()) { this.Follows.Add(reader["UserName"].ToString()); } } this.IsValid = true; }
public ActiveJavaScriptRulesProvider(IJavaScriptRuleDefinitionsProvider jsRuleDefinitions, IUserSettingsProvider userSettingsProvider) { this.jsRuleDefinitions = jsRuleDefinitions; this.userSettingsProvider = userSettingsProvider; }