public RecruitViewModel(IRecruitCardGroupFactory recruitCardGroupFactory,
                                IParameterizedCommandAsync <SaveRecruitCommandParameters> saveParameterizedRecruitCommand,
                                RecruitOperationEventArgs recruitOperationEventArgs,
                                Action <string> notValidCallback)
        {
            if (recruitCardGroupFactory == null)
            {
                throw new ArgumentNullException(nameof(recruitCardGroupFactory));
            }

            if (saveParameterizedRecruitCommand == null)
            {
                throw new ArgumentNullException(nameof(saveParameterizedRecruitCommand));
            }

            if (recruitOperationEventArgs == null)
            {
                throw new ArgumentNullException(nameof(recruitOperationEventArgs));
            }

            if (notValidCallback == null)
            {
                throw new ArgumentNullException(nameof(notValidCallback));
            }

            _saveParameterizedRecruitCommand = saveParameterizedRecruitCommand;
            _recruitOperationEventArgs       = recruitOperationEventArgs;
            _notValidCallback = notValidCallback;

            RecruitCardGroup = recruitCardGroupFactory.Create(_recruitOperationEventArgs);
        }
        public void OnRecruitSaved(RecruitOperationEventArgs recruitOperationEventArgs)
        {
            var recruitOperation    = recruitOperationEventArgs.RecruitOperation;
            var recruitShortUIModel = recruitOperationEventArgs.RecruitShortUIModel;

            RecruitSaved?.Invoke(this, new RecruitOperationEventArgs(recruitOperation, recruitShortUIModel));
        }
        public SaveRecruitCommandParameters(RecruitOperationEventArgs recruitOperationEventArgs,
                                            RecruitCardGroup recruitCardGroup,
                                            IStateChanged stateChanged) : base(stateChanged)
        {
            if (recruitOperationEventArgs == null)
            {
                throw new ArgumentNullException(nameof(recruitOperationEventArgs));
            }

            if (recruitCardGroup == null)
            {
                throw new ArgumentNullException(nameof(recruitCardGroup));
            }

            RecruitOperationEventArgs = recruitOperationEventArgs;
            RecruitCardGroup          = recruitCardGroup;
        }
Exemple #4
0
        public RecruitCardGroup Create(RecruitOperationEventArgs recruitOperationEventArgs)
        {
            switch (recruitOperationEventArgs.RecruitOperation)
            {
            case RecruitOperation.Import:
            {
                return(_recruitImporter.ImportRecruitCardGroup(recruitOperationEventArgs.RecruitShortUIModel));
            }

            case RecruitOperation.Add:
            {
                return(_recruitCardGroupByAdd);
            }

            case RecruitOperation.Edit:
            {
                if (recruitOperationEventArgs.RecruitShortUIModel != null &&
                    recruitOperationEventArgs.RecruitShortUIModel.SqliteId.HasValue)
                {
                    var id      = recruitOperationEventArgs.RecruitShortUIModel.SqliteId.Value;
                    var recruit = _recruitInfoRepository.Get(id);

                    if (recruit == null)
                    {
                        return(EmptyCard);
                    }

                    var cardGroupMapper = new CardGroupMapper(_personalPhotoDirectoryPath, recruit);
                    return(cardGroupMapper.Map());
                }
                else
                {
                    return(EmptyCard);
                }
            }
            }

            return(EmptyCard);
        }
Exemple #5
0
        private void RecruitViewShowed(object sender, RecruitOperationEventArgs e)
        {
            if (_recruitView == null)
            {
                InitRecruitCardGroupFactory();

                _recruitViewModel = new RecruitViewModel(_recruitCardGroupFactory,
                                                         _saveRecruitParameterizedCommand,
                                                         e,
                                                         notValidCallback: (message) =>
                {
                    new NotValidDialogView(message).ShowDialog();
                });

                _recruitViewModel.StateChanged += ViewModel_StateChanged;
                _recruitViewModel.RecruitSaved += RecruitViewModel_RecruitSaved;

                _recruitView         = new RecruitView(_recruitViewModel);
                _recruitView.Closed += RecruitView_Closed;

                _recruitView.Owner = _mainView;
                _recruitView.Show();
            }
        }
Exemple #6
0
 public void RecruitSaved(object sender, RecruitOperationEventArgs e)
 {
     UpdateRecuitUIModelsCommand.Execute(null);
 }
Exemple #7
0
 public void OnRecruitViewShowed(RecruitOperationEventArgs args)
 {
     RecruitViewShowed?.Invoke(this, args);
 }
Exemple #8
0
        private void RecruitViewModel_RecruitSaved(object sender, RecruitOperationEventArgs e)
        {
            _mainViewModel.RecruitSaved(sender, e);

            _recruitView.Close();
        }