public LoggedInApplicationMode(IApplicationStateService applicationStateService, ICentronService centronService, ILoadingService loadingService, IHelpdeskGroupsService helpdeskGroupsService, IEventAggregator eventAggregator) { this._applicationStateService = applicationStateService; this._centronService = centronService; this._loadingService = loadingService; this._helpdeskGroupsService = helpdeskGroupsService; this._eventAggregator = eventAggregator; this._dashboardItem = new NavigatingHamburgerItem(SBoardResources.Get("Navigation.Dashboard"), Symbol.Home, typeof(DashboardViewModel)); this._logoutItem = new ClickableHamburgerItem(SBoardResources.Get("Navigation.Logout"), SymbolEx.Logout, this.Logout); this._newHelpdeskGroupItem = new NavigatingHamburgerItem(SBoardResources.Get("Navigation.NewHelpdeskGroup"), Symbol.Add, typeof(NewHelpdeskGroupViewModel)); this._helpdeskGroupItems = new List <NavigatingHamburgerItem>(); }
public HelpdeskListViewModel(IQueryExecutor queryExecutor, IHelpdeskGroupsService helpdeskGroupsService, INavigationService navigationService, ICommandQueue commandQueue) { this._queryExecutor = queryExecutor; this._helpdeskGroupsService = helpdeskGroupsService; this._navigationService = navigationService; this._commandQueue = commandQueue; this.DisplayName = SBoardResources.Get("ViewModel.HelpdeskList"); this.Delete = ReactiveCommand.CreateAsyncTask(_ => this.DeleteImpl()); this.Delete.AttachExceptionHandler(); this.Delete.AttachLoadingService(SBoardResources.Get("Loading.DeletingHelpdeskGroup")); this.RefreshHelpdesks = ReactiveCommand.CreateAsyncTask(_ => this.RefreshHelpdesksImpl()); this.RefreshHelpdesks.AttachExceptionHandler(); this.RefreshHelpdesks.AttachLoadingService(SBoardResources.Get("Loading.Tickets")); this.RefreshHelpdesks .Select(f => { var result = new ReactiveObservableCollection <HelpdeskListItemViewModel>(); foreach (var helpdesk in f.OrderByDescending(d => d.I3D)) { var viewModel = IoC.Get <HelpdeskListItemViewModel>(); viewModel.Helpdesk = helpdesk; result.Add(viewModel); } return(result); }) .ToLoadedProperty(this, f => f.Helpdesks, out this._helpdesksHelper); this.LoadStates = ReactiveCommand.CreateAsyncTask(_ => this.LoadStatesImpl()); this.LoadStates.AttachExceptionHandler(); this.LoadStates.AttachLoadingService(SBoardResources.Get("Loading.TicketStates")); this.LoadStates.ToLoadedProperty(this, f => f.States, out this._statesHelper); var canChangeState = this.WhenAnyValue(f => f.SelectedState, f => f.SelectedHelpdesk, (state, helpdesk) => state != null && helpdesk != null); this.ChangeState = ReactiveCommand.CreateAsyncTask(canChangeState, _ => this.ChangeStateImpl()); this.ChangeState.AttachExceptionHandler(); this.ChangeState.AttachLoadingService(SBoardResources.Get("Loading.ChangingTicketState")); this.WhenAnyValue(f => f.SelectedSortOrder) .InvokeCommand(this, f => f.RefreshHelpdesks); }
public NewHelpdeskGroupViewModel(IHelpdeskGroupsService helpdeskGroupsService, IQueryExecutor queryExecutor, INavigationService navigationService) { Guard.NotNull(helpdeskGroupsService, nameof(helpdeskGroupsService)); Guard.NotNull(queryExecutor, nameof(queryExecutor)); Guard.NotNull(navigationService, nameof(navigationService)); this._helpdeskGroupsService = helpdeskGroupsService; this._queryExecutor = queryExecutor; this._navigationService = navigationService; this.DisplayName = SBoardResources.Get("ViewModel.NewHelpdeskGroup"); this.LoadHelpdeskTypes = ReactiveCommand.CreateAsyncTask(_ => this.LoadHelpdeskTypesImpl()); this.LoadHelpdeskTypes.ToLoadedProperty(this, f => f.HelpdeskTypes, out this._helpdeskTypesHelper); this.LoadHelpdeskTypes.AttachExceptionHandler(); this.LoadHelpdeskTypes.AttachLoadingService(SBoardResources.Get("Loading.TicketTypes")); this.LoadHelpdeskStates = ReactiveCommand.CreateAsyncTask(_ => this.LoadHelpdeskStatesImpl()); this.LoadHelpdeskStates.ToLoadedProperty(this, f => f.HelpdeskStates, out this._helpdeskStatesHelper); this.LoadHelpdeskStates.AttachExceptionHandler(); this.LoadHelpdeskStates.AttachLoadingService(SBoardResources.Get("Loading.TicketStates")); this.SearchCustomers = ReactiveCommand.CreateAsyncTask(_ => this.SearchCustomersImpl()); this.SearchCustomers.ToLoadedProperty(this, f => f.Customers, out this._customersHelper); this.SearchCustomers.IsExecuting.ToLoadedProperty(this, f => f.IsSearchingCustomers, out this._isSearchingCustomersHelper); this.SearchCustomers.AttachExceptionHandler(); this.WhenAnyValue(f => f.CustomerSearchText) .Throttle(TimeSpan.FromMilliseconds(500), RxApp.MainThreadScheduler) .DistinctUntilChanged() .InvokeCommand(this, f => f.SearchCustomers); var canSave = this.WhenAnyValue(f => f.Name, name => string.IsNullOrWhiteSpace(name) == false); this.Save = ReactiveCommand.CreateAsyncTask(canSave, _ => this.SaveImpl()); this.Save.AttachLoadingService(SBoardResources.Get("Loading.Saving")); this.Save.AttachExceptionHandler(); }
public HelpdeskGroupQueryHandler(ICentronService centronService, IHelpdeskGroupsService helpdeskGroupsService, IScriptEngine scriptEngine) { this._centronService = centronService; this._helpdeskGroupsService = helpdeskGroupsService; this._scriptEngine = scriptEngine; }