/// <summary>
 /// Initializes a new instance of the <see cref="BaseSubscriberViewModel" /> class.
 /// </summary>
 /// <param name="stateProvider">The state provider.</param>
 /// <param name="viewModelRegistry">The view model registry.</param>
 public BaseSubscriberViewModel(StateProvider stateProvider, ViewModelRegistry viewModelRegistry)
     : base(viewModelRegistry, stateProvider)
 {
     this.StateProvider = stateProvider;
     this.StateProvider.Subscribe(this);
     this.UpdateViewModelState(stateProvider.Current);
 }
Beispiel #2
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseViewModel" /> class.
 /// </summary>
 /// <param name="viewModelRegistry">The view model registry.</param>
 /// <param name="stateProvider">The state provider.</param>
 public BaseViewModel(
     ViewModelRegistry viewModelRegistry,
     StateProvider stateProvider)
 {
     this.viewModelRegistry = viewModelRegistry;
     this.stateProvider     = stateProvider;
     this.viewModelRegistry.Activated(this);
 }
Beispiel #3
0
 /// <summary>
 /// Initializes a new instance of the <see cref="SubjectViewModel" /> class.
 /// </summary>
 /// <param name="subjectProvider">The subject provider.</param>
 /// <param name="stateProvider">The state provider.</param>
 /// <param name="viewModelRegistry">The view model registry.</param>
 /// <param name="inputProvider">The input provider.</param>
 public SubjectViewModel(
     SubjectProvider subjectProvider,
     StateProvider stateProvider,
     ViewModelRegistry viewModelRegistry,
     InputProvider inputProvider)
     : base(stateProvider, viewModelRegistry)
 {
     this.subjectProvider = subjectProvider;
     this.inputProvider   = inputProvider;
     this.InitializeCommands();
 }
Beispiel #4
0
        /// <summary>
        /// Initializes a new instance of the <see cref="MainViewModel" /> class.
        /// </summary>
        /// <param name="viewProvider">The view provider.</param>
        /// <param name="viewModelRegistry">The view model registry.</param>
        /// <param name="stateProvider">The state provider.</param>
        public MainViewModel(
            ViewProvider viewProvider,
            ViewModelRegistry viewModelRegistry,
            StateProvider stateProvider)
            : base(viewModelRegistry, stateProvider)
        {
            this.OpenUsers        = new RelayCommnand(() => this.viewProvider.Show <Users, UsersViewModel>());
            this.OpenSubjects     = new RelayCommnand(() => this.viewProvider.Show <Subjects, SubjectViewModel>());
            this.OpenAddQuestions = new RelayCommnand(() => this.viewProvider.Show <AddQuestionsView, AddQuestionsViewModel>());

            this.viewProvider = viewProvider;
        }
Beispiel #5
0
        /// <summary>
        /// Initializes a new instance of the <see cref="GenericInputViewModel" /> class.
        /// </summary>
        /// <param name="viewModelRegistry">The view model registry.</param>
        /// <param name="stateProvider">The state provider.</param>
        /// <param name="viewModelFactory">The view model factory.</param>
        /// <param name="title">The title.</param>
        /// <param name="inputs">The inputs.</param>
        /// <param name="workAreaProvider">The work area provider.</param>
        public GenericInputViewModel(
            ViewModelRegistry viewModelRegistry,
            StateProvider stateProvider,
            ViewModelFactory viewModelFactory,
            string title,
            IList <IGenericInput> inputs,
            WorkAreaProvider workAreaProvider)
            : base(viewModelRegistry, stateProvider)
        {
            this.viewModelFactory = viewModelFactory;
            this.Title            = title;
            this.sourceInput      = inputs;

            this.Inputs = new ObservableCollection <IInputViewModel>();

            this.Cancel = new RelayCommnand(() =>
            {
                this.UserAccepted = false;
                this.CloseView();
            });

            this.Ok = new RelayCommnand(
                () =>
            {
                this.UserAccepted = true;
                this.CloseView();
            },
                () =>
            {
                return(this.Inputs.All(i => i.Validate()));
            });

            var tabIndex = 0;

            foreach (var input in this.sourceInput)
            {
                tabIndex++;
                if (input is ITextInput textInput)
                {
                    var newInput = this.viewModelFactory.Create <TextInputViewModel>();
                    newInput.Label    = textInput.Label;
                    newInput.Required = textInput.Required;
                    this.Inputs.Add(newInput);
                }
            }

            this.CalculatedHeight = 150 + (this.Inputs.Count * 53);

            var workArea = workAreaProvider.Get();

            this.CalculatedTop = Calculations.GetCenterCoordinate(workArea.Height, this.CalculatedHeight);
        }
 /// <summary>
 /// Initializes a new instance of the <see cref="UsersViewModel" /> class.
 /// </summary>
 /// <param name="viewProvider">The view provider.</param>
 /// <param name="stateProvider">The state provider.</param>
 /// <param name="viewModelRegistry">The view model registry.</param>
 /// <param name="userProvider">The user provider.</param>
 /// <param name="inputProvider">The input provider.</param>
 public UsersViewModel(
     ViewProvider viewProvider,
     StateProvider stateProvider,
     ViewModelRegistry viewModelRegistry,
     UserProvider userProvider,
     InputProvider inputProvider)
     : base(stateProvider, viewModelRegistry)
 {
     this.viewProvider  = viewProvider;
     this.userProvider  = userProvider;
     this.inputProvider = inputProvider;
     this.InitializeCommands();
 }
Beispiel #7
0
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseViewModelTestImplentation"/> class.
 /// </summary>
 /// <param name="viewModelRegistry">The view model registry.</param>
 /// <param name="stateProvider">The state provider.</param>
 public BaseViewModelTestImplentation(ViewModelRegistry viewModelRegistry, StateProvider stateProvider)
     : base(viewModelRegistry, stateProvider)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="TextInputViewModel" /> class.
 /// </summary>
 /// <param name="viewModelRegistry">The view model registry.</param>
 /// <param name="stateProvider">The state provider.</param>
 public TextInputViewModel(ViewModelRegistry viewModelRegistry, StateProvider stateProvider)
     : base(viewModelRegistry, stateProvider)
 {
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="BaseSubscriberViewModelTestImplementation"/> class.
 /// </summary>
 /// <param name="stateProvider">The state provider.</param>
 /// <param name="viewModelRegistry">The view model registry.</param>
 public BaseSubscriberViewModelTestImplementation(StateProvider stateProvider, ViewModelRegistry viewModelRegistry)
     : base(stateProvider, viewModelRegistry)
 {
 }
Beispiel #10
0
 /// <summary>
 /// Initializes a new instance of the <see cref="AddQuestionsViewModel"/> class.
 /// </summary>
 /// <param name="stateProvider">The state provider.</param>
 /// <param name="viewModelRegistry">The view model registry.</param>
 public AddQuestionsViewModel(
     StateProvider stateProvider,
     ViewModelRegistry viewModelRegistry)
     : base(stateProvider, viewModelRegistry)
 {
 }