//public ICommand SaveCommand { get; private set; } /// <summary> /// Constructor for main view model /// </summary> public MembershipMaintenanceViewModel() { // checks if database file is present. If not, creates file. if (!File.Exists(filepath)) { using (StreamWriter s = new StreamWriter(filepath, append: false)){} } Memberships = new MembershipListModel(); SelectedMember = new MembershipModel(); // instantiating view command objects AddCommand = new RelayCommand <IClosable>(AddMethod); ChangeCommand = new RelayCommand <IClosable>(ChangeMethod); //2 ExitCommand = new RelayCommand <IClosable>(ExitMethod); LoadCommand = new RelayCommand(LoadMethod); //SaveCommand = new RelayCommand(SaveMethod); // removed to better fit assignment description // instantiating messenger to receive notifications from other view models Messenger.Default.Register <MessageMemberModel>(this, ReceiveMembership); // Initializing window for initial field population (work-around) // first click on listbox does not populate name and email fields otherwise var initChangeWin = new ChangeMembershipView(); initChangeWin.Hide(); initChangeWin.Close(); // Wiring Changed event to event handler. Memberships.Changed += RaisePropertyChanges; // Wiring Changed event to Save Memberships.Changed += SaveMethod; }
/// <summary> /// Method to open given view and close maintenance view. /// </summary> /// <param name="window"></param> /// <param name="windowName"></param> private void ChangeView(IClosable window, string windowName) { // If true open AddView if (windowName.Equals("Add")) { var changeView = new AddMembershipView(); changeView.Show(); } // If true open ChangeView else if (windowName.Equals("Change")) { var changeView = new ChangeMembershipView(); changeView.Show(); } // Close Main View window.Close(); }