예제 #1
0
        public async void Initialize(IForecastRegistrationViewModel forecastRegistrationViewModel)
        {
            if (_initialized)
            {
                throw new Exception("ForecastRegistrationSelectedUserHandler may only be initialized once");
            }

            _forecastRegistrationViewModel = forecastRegistrationViewModel;

            // Only load user-selectables if has permission to edit others workplan
            if (_userSession.MayEditOthersWorksplan)
            {
                var searchOptionsResponse = await _forecastService.GetOverivewSearchOptions();

                if (searchOptionsResponse == null) // Request failed
                {
                    SetUserFromUserSession();
                    return;
                }

                Users        = new ObservableCollection <ForecastUserDto>(searchOptionsResponse.Users);
                SelectedUser = Users.Single(x => x.UserId == _userSession.CurrentUser.Id); // Set SelectedUser as UserSession
            }
            else
            {
                SetUserFromUserSession();
            }

            _initialized = true;
        }
예제 #2
0
        private async void InitializeAsync()
        {
            // Forecasttypes from server
            ForecastTypes = new List <ForecastType>(await _forecastTypeProvider.Initialize());
            ListOptions.InitializeForecastTypes(ForecastTypes);
            SearchOptions.InitializeForecastTypes(ForecastTypes);

            // Users from server
            var optionsResponse = await _forecastService.GetOverivewSearchOptions();

            if (optionsResponse != null)
            {
                SearchOptions.InitializeUsers(optionsResponse.Users);
            }

            // Projects from localstorage
            SearchOptions.InitializeProjects(_projectRepository.GetAllActive());

            // Companies from localstorage
            SearchOptions.InitializeCompanies(_companyRepository.GetAllActive());
        }