public CardEditorWindowViewModel(
            IModelMapper <Student, StudentModel> studentMapper,
            ICardStudentAuthoriser cardStudentAuthoriser,
            IDisplayService displayService)
        {
            _studentMapper         = studentMapper ?? throw new ArgumentNullException(nameof(studentMapper));
            _cardStudentAuthoriser = cardStudentAuthoriser ?? throw new ArgumentNullException(nameof(cardStudentAuthoriser));
            _displayService        = displayService ?? throw new ArgumentNullException(nameof(displayService));

            CardClearWriteCommand = new RelayCommand(_ =>
            {
                bool result = _cardStudentAuthoriser.UnbindCard();

                if (result)
                {
                    CardInfoMessage = "<Данные с карты удалены>";
                }
                else
                {
                    MessageBox.Show("Неудача стирания значения", "Результат операции");
                }
            });
            CardWriteCommand = new RelayCommand(_ =>
            {
                if (SelectedStudentId == null)
                {
                    MessageBox.Show("Сначала необходимо выбрать ученика", "Ошибка");
                }
                else
                {
                    bool result = _cardStudentAuthoriser.BindCard((int)SelectedStudentId);

                    if (result)
                    {
                        CardInfoMessage        = SelectedStudentCaption;
                        SelectedStudentId      = null;
                        SelectedStudentCaption = string.Empty;
                    }
                    else
                    {
                        MessageBox.Show("Неудача записи, попробуйте ещё раз", "Ошибка");
                    }
                }
            });
            CloseCommand         = new RelayCommand(_ => _displayService.Close(this));
            SelectStudentCommand = new RelayCommand(SelectStudentAction);
        }
Пример #2
0
        public SubscriptionsWindowViewModel(
            IPaginationSearchableRepository <Subscription> searchableRepository,
            IModelMapper <Subscription, SubscriptionModel> subscriptionMapper,
            IEntityValidator <SubscriptionModel> entityValidator,
            IModelMapper <Student, StudentModel> studentMapper,
            ISubscriptionsRepository subscriptionsRepository,
            ICardStudentAuthoriser cardStudentAuthoriser,
            IStudentsRepository studentsRepository,
            IDisplayService displayService)
            : base(searchableRepository, subscriptionMapper, entityValidator, displayService)
        {
            _subscriptionsRepository = subscriptionsRepository ?? throw new ArgumentNullException(nameof(subscriptionsRepository));
            _cardStudentAuthoriser   = cardStudentAuthoriser ?? throw new ArgumentNullException(nameof(cardStudentAuthoriser));
            _studentsRepository      = studentsRepository ?? throw new ArgumentNullException(nameof(studentsRepository));
            _displayService          = displayService ?? throw new ArgumentNullException(nameof(displayService));
            _studentMapper           = studentMapper ?? throw new ArgumentNullException(nameof(studentMapper));

            SelectGroupCommand   = new RelayCommand(SelectGroupAction);
            SelectStudentCommand = new RelayCommand(SelectStudentAction);
        }