コード例 #1
0
ファイル: ClockVM.cs プロジェクト: silviubogan/timed-silver
 public void OnToggle()
 {
     Model.ActivateOrDeactivate();
 }
コード例 #2
0
ファイル: ClockVM.cs プロジェクト: silviubogan/timed-silver
        internal void ChangeTypeOfClock(ClockM cd, Type newType)
        {
            Model.PropertyChanged -= Model_PropertyChanged;

            if (newType == typeof(TimerData))
            {
                if (cd.IsActive)
                {
                    cd.ActivateOrDeactivate();
                }

                var tdata = new TimerData(Model.MyDataFile, Model.MyDataFile.MultiAudioPlayer);

                tdata.GroupName     = cd.GroupName;
                tdata.Icon          = cd.Icon;
                tdata.Style         = cd.Style;
                tdata.UserBackColor = cd.UserBackColor;
                tdata.Tag           = cd.Tag;
                tdata.IsUnsaved     = true;
                tdata.ID            = cd.ID;
                tdata.Checkable     = cd.Checkable;
                tdata.Checked       = cd.Checked;

                Model = tdata;
            }
            else // AlarmData
            {
                if (cd.IsActive)
                {
                    cd.ActivateOrDeactivate();
                }

                var adata = new AlarmData(Model.MyDataFile, Model.MyDataFile.MultiAudioPlayer);

                adata.GroupName     = cd.GroupName;
                adata.Icon          = cd.Icon;
                adata.Style         = cd.Style;
                adata.UserBackColor = cd.UserBackColor;
                adata.Tag           = cd.Tag;
                adata.IsUnsaved     = true;
                adata.ID            = cd.ID;
                adata.Checkable     = cd.Checkable;
                adata.Checked       = cd.Checked;

                Model = adata;
            }

            Model.PropertyChanged += Model_PropertyChanged;

            RaisePropertyChanged("CurrentValue");
            RaisePropertyChanged("ResetToValue");
            RaisePropertyChanged("IsActive");
            RaisePropertyChanged("IsUnsaved");

            ClockTypeChanged?.Invoke(this, new ClockTypeChangedEventArgs()
            {
                ClockVM   = this,
                NewClockM = Model,
                OldClockM = cd
            });

            IsUnsaved = true;
        }