コード例 #1
0
 public void setUpMocks()
 {
     mocks = new MockRepository();
     dialogWindowGenerator = (IDialogWindowsGenerator)mocks.StrictMock(typeof(IDialogWindowsGenerator));
     storage            = (IStorage)mocks.StrictMock(typeof(IStorage));
     validationEnfoncer = (IValidationEnforcer)mocks.StrictMock(typeof(IValidationEnforcer));
 }
コード例 #2
0
        public MainWindowViewModel(IStorage storage, IDialogWindowsGenerator dialogWindowsGenerator, IValidationEnforcer validationEnforcer)
        {
            try
            {
                this.storage = storage;
                this.dialogWindowsGenerator = dialogWindowsGenerator;
                this.validationEnforcer     = validationEnforcer;
                this._Groups        = storage.getGroups();
                SelectedSearchGroup = Constants.EMPTY_GROUP;
                InputBirthDate      = null;
                FilterButtonCommand = new RelayCommand(() => { doFilterAction(); });
                ClearButtonCommand  = new RelayCommand(
                    () => { SelectedSearchCities = ""; SelectedSearchGroup = Constants.EMPTY_GROUP; doFilterAction(); },
                    () => { return(!((SelectedSearchGroup == null || SelectedSearchGroup == Constants.EMPTY_GROUP) && (SelectedSearchCities == null || SelectedSearchCities == ""))); });

                PropertyChanged += (NOT_USED, propertyNamedEventArgs) =>
                {
                    var propertyName = propertyNamedEventArgs.PropertyName;
                    if (propertyName == "SelectedSearchGroup" || propertyName == "SelectedSearchCities")
                    {
                        ClearButtonCommand.RaiseCanExecuteChanged();
                    }
                };

                DeleteButtonCommand = new RelayCommand(
                    () => doRemoveStudentAction(),
                    () => SelectedStudent != null && isUnchangedUser);
                PropertyChanged += (NOT_USED, propertyNamedEventArgs) =>
                {
                    var propertyName = propertyNamedEventArgs.PropertyName;
                    if (propertyName == "SelectedStudent" || propertyName == "IsUnchangedUser")
                    {
                        DeleteButtonCommand.RaiseCanExecuteChanged();
                    }
                };

                NewButtonCommand  = new RelayCommand(() => doCreateStudentAction(), () => !isUnchangedUser);
                SaveButtonCommand = new RelayCommand(() => doSaveStudentAction(), () => !isUnchangedUser && SelectedStudent != null);
                PropertyChanged  += (NOT_USED, propertyNamedEventArgs) =>
                {
                    var           propertyName  = propertyNamedEventArgs.PropertyName;
                    List <String> avalibleNames = new List <String>(new String[] { "IsDateTimeEnabled", "SelectedStudent", "InputName", "InputSurname", "SelectedInputGroup", "InputBirthplace", "InputBirthDate", "InputIndexNumber" });
                    if (avalibleNames.Contains(propertyName))
                    {
                        updateIsUnchangedStudent();
                        SaveButtonCommand.RaiseCanExecuteChanged();
                        NewButtonCommand.RaiseCanExecuteChanged();
                    }
                };

                PreviousPageCommand = new RelayCommand(() => CurrentPageNumber--, () => CurrentPageNumber > 1);
                NextPageCommand     = new RelayCommand(() => CurrentPageNumber++, () => CurrentPageNumber < AllPagesCount);

                PropertyChanged += (NOT_USED, propertyNamedEventArgs) =>
                {
                    var propertyName = propertyNamedEventArgs.PropertyName;
                    if (propertyName == "AllPagesCount")
                    {
                        NextPageCommand.RaiseCanExecuteChanged();
                        PreviousPageCommand.RaiseCanExecuteChanged();
                    }
                    if (propertyName == "CurrentPageNumber")
                    {
                        NextPageCommand.RaiseCanExecuteChanged();
                        PreviousPageCommand.RaiseCanExecuteChanged();
                        regenerateStudentsListWithPagination();
                    }
                };

                resetInputFields();
                doFilterAction();
            }
            catch (Exception e)
            {
                Console.WriteLine("Wystapil wyjatek: " + e.ToString());
            }
        }