Пример #1
0
        public void AddCommandHandler()
        {
            var vm = new CommandViewModel();

            Commands.Add(vm);
            vm.Model.CommandNumber = Commands.IndexOf(vm) + 1;
            vm.DeleteCommand       = new DelegateCommand(DeleteCommandHandler);
        }
Пример #2
0
        private void SetProfile(bool startup = false)
        {
            if (!startup)
            {
                PropertyChanged       -= ViewModelChanged;
                Model.PropertyChanged -= ModelChanged;
                ((INotifyPropertyChanged)Commands).PropertyChanged -= CommandModelChanged;
                Commands.MemberPropertyChanged -= CommandModelChanged;
            }

            var settings      = ConfigurationManager.AppSettings[SelectedProfile.Name];
            var settingsArray = settings.Split(new string[] { "~~~" }, StringSplitOptions.None);

            Model = TeamNotifierLogic.Deserialize <TeamNotifierModel>(settingsArray[0]);

            Commands = new ObservableCollectionEx <CommandViewModel>();

            for (var i = 1; i < settingsArray.Length; i++)
            {
                var cmd   = TeamNotifierLogic.Deserialize <CommandModel>(settingsArray[i]);
                var cmdvm = new CommandViewModel(cmd);
                cmdvm.DeleteCommand = new DelegateCommand(DeleteCommandHandler);
                Commands.Add(cmdvm);
            }

            if (string.IsNullOrEmpty(Model.User))
            {
                Model.User = Environment.UserName;
            }

            ((INotifyPropertyChanged)Commands).PropertyChanged += CommandModelChanged;
            Commands.MemberPropertyChanged += CommandModelChanged;
            PropertyChanged       += ViewModelChanged;
            Model.PropertyChanged += ModelChanged;

            if (!startup)
            {
                RaisePropertyChanged("Commands");
                Model.RaisePropertyChanged("Model");
            }
        }