Esempio n. 1
0
        /// <summary>
        /// Intializes and intance of SessionCostsViewModel.
        /// </summary>
        /// <param name="controller">The controller of the view model.</param>
        public SessionCostsViewModel(ISessionCostsController controller)
        {
            if (controller == null)
            {
                throw new ArgumentNullException("controller");
            }

            Controller = controller;
            PopulateCosts(null);

            CostNewCommand        = new RelayCommand((parameter) => NewCost(), (parameter) => !IsBusy);
            CostSaveCommand       = new RelayCommand((parameter) => SaveCost(), (parameter) => !IsBusy && !HasError && IsDataModified);
            CostCancelCommand     = new RelayCommand((parameter) => CancelCost(), (parameter) => !IsBusy && IsDataModified);
            CostDeactivateCommand = new RelayCommand((parameter) => DeactivateCost(), (parameter) => !IsBusy && SelectedCost != null);
            CloseCommand          = new RelayCommand((parameter) => Close((CancelEventArgs)parameter));

            // Listen for changes to the controller.
            PropertyChangedEventManager.AddListener(Controller, this, string.Empty);
            Controller.RequestCostsCompleted    += OnRequestCostsCompleted;
            Controller.RequestSaveCostCompleted += OnRequestSaveCostCompleted;
        }
Esempio n. 2
0
        /// <summary>
        /// Intializes an instance of a SessionCostsViewModel
        /// </summary>
        /// <param name="controller">The view models controller.</param>
        public SelectSessionCostsViewModel(ISessionCostsController controller, Summary summary)
        {
            if (controller == null)
            {
                throw new ArgumentNullException("controller");
            }
            else if (summary == null)
            {
                throw new ArgumentNullException("summary");
            }

            Controller = controller;
            Summary    = summary;

            CostIncludeCommand = new RelayCommand((parameter) => OnCostInclude(), (parameter) => !IsBusy && HasSelectedCost());
            CostExcludeCommand = new RelayCommand((parameter) => OnCostExclude(), (parameter) => !IsBusy && HasSelectedChoosenCost());
            CostSaveCommand    = new RelayCommand((parameter) => OnCostSave(), (parameter) => !IsBusy && IsDataModified);
            CostClearCommand   = new RelayCommand((parameter) => OnCostClear(), (parameter) => !IsBusy && ChoosenCosts != null && ChoosenCosts.Count > 0);
            CostCancelCommand  = new RelayCommand((parameter) => OnCostCancel(), (parameter) => !IsBusy);
            CostCloseCommand   = new RelayCommand((parameter) => OnCostClose((CancelEventArgs)parameter));

            PopulateCosts();
        }