Ejemplo n.º 1
0
        // CONSTRUCTORS
        /// <summary>
        /// Initializes a new instance of <see cref="FollowViewModel"/>
        /// </summary>
        /// <param name="followMode">
        /// Determines in which mode open window
        /// </param>
        public FollowViewModel(Enums.User.FollowMode followMode) : base()
        {
            this.followMode = followMode;

            if (followMode == Enums.User.FollowMode.Followers)
            {
                this.users = new ObservableCollection <DataAccess.Entities.User>(DataStorage.ShownUser.Followers);
            }
            else if (followMode == Enums.User.FollowMode.Following)
            {
                this.users = new ObservableCollection <DataAccess.Entities.User>(DataStorage.ShownUser.Following);
            }

            this.deleteFollowCommand = new Commands.User.Follow.DeleteFollowCommand(this);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Executes command
        /// </summary>
        /// <param name="parameter">
        /// Command parameters
        /// <para/>
        /// <paramref name="parameter"/> is an instance of <see cref="Enums.User.FollowMode"/> that determines in which mode window should be opened
        /// </param>
        /// <exception cref="System.ArgumentException">
        /// Throws when <paramref name="parameter"/> is not <see cref="Enums.User.FollowMode"/>
        /// </exception>
        public override void Execute(object parameter)
        {
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Debug, $"Execute {nameof(ShowFollowListCommand)}");

            // gets value that determines in which mode window should be opened
            if (!(parameter is Enums.User.FollowMode))
            {
                throw new System.ArgumentException();
            }
            Enums.User.FollowMode followMode = (Enums.User.FollowMode)parameter;
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Info, $"Follow mode = {followMode}");

            // opens follow window
            Core.Logger.GetLogger.LogAsync(Core.LogMode.Debug, "Open modal Follow window");
            mainWindowViewModel.WindowManager.ShowWindowDialog(key: nameof(Window.User.Follow),
                                                               viewModel: new ViewModel.User.FollowViewModel(followMode));

            // updates main window after closing follow window
            mainWindowViewModel.IsFollowingUpdateExplicitly();
            mainWindowViewModel.UpdateExplicitly(nameof(mainWindowViewModel.User));
        }