Exemple #1
0
 public EventEditViewmodel(EngineViewmodel engineViewModel, PreviewViewmodel previewViewModel)
 {
     _engineViewModel  = engineViewModel;
     _previewViewModel = previewViewModel;
     if (previewViewModel != null)
     {
         previewViewModel.PropertyChanged += PreviewViewModel_PropertyChanged;
     }
     _engine = engineViewModel.Engine;
     _fields.CollectionChanged += _fields_or_commands_CollectionChanged;
     CommandSaveEdit            = new UICommand()
     {
         ExecuteDelegate = _save, CanExecuteDelegate = _canSave
     };
     CommandUndoEdit = new UICommand()
     {
         ExecuteDelegate = _load, CanExecuteDelegate = o => IsModified
     };
     CommandChangeMovie = new UICommand()
     {
         ExecuteDelegate = _changeMovie, CanExecuteDelegate = _canChangeMovie
     };
     CommandEditMovie = new UICommand()
     {
         ExecuteDelegate = _editMovie, CanExecuteDelegate = _canEditMovie
     };
     CommandCheckVolume = new UICommand()
     {
         ExecuteDelegate = _checkVolume, CanExecuteDelegate = _canCheckVolume
     };
     CommandEditField = new UICommand {
         ExecuteDelegate = _editField
     };
     CommandTriggerStartType = new UICommand {
         ExecuteDelegate = _triggerStartType, CanExecuteDelegate = _canTriggerStartType
     };
     CommandMoveUp = new UICommand()
     {
         ExecuteDelegate = o => _event?.MoveUp(), CanExecuteDelegate = _canMoveUp
     };
     CommandMoveDown = new UICommand()
     {
         ExecuteDelegate = o => _event?.MoveDown(), CanExecuteDelegate = _canMoveDown
     };
     CommandDelete = new UICommand
     {
         ExecuteDelegate = o =>
         {
             if (_event != null && MessageBox.Show(resources._query_DeleteItem, resources._caption_Confirmation, MessageBoxButton.OKCancel) == MessageBoxResult.OK)
             {
                 EventClipboard.SaveUndo(new IEvent[] { _event }, _event.StartType == TStartType.After ? _event.Prior : _event.Parent);
                 _event.Delete();
             }
         },
         CanExecuteDelegate = o => _event?.AllowDelete() == true
     };
 }
Exemple #2
0
 public EventEditViewmodel(IEvent @event, EngineViewmodel engineViewModel) : base(@event)
 {
     _engineViewModel       = engineViewModel;
     Model.PropertyChanged += ModelPropertyChanged;
     if (@event.EventType == TEventType.Container)
     {
         EventRightsEditViewmodel = new EventRightsEditViewmodel(@event, engineViewModel.Engine.AuthenticationService);
         EventRightsEditViewmodel.ModifiedChanged += RightsModifiedChanged;
     }
     CommandSaveEdit         = new UiCommand(o => Save(), _canSave);
     CommandUndoEdit         = new UiCommand(o => UndoEdit(), o => IsModified);
     CommandChangeMovie      = new UiCommand(_changeMovie, _canChangeMovie);
     CommandEditMovie        = new UiCommand(_editMovie, _canEditMovie);
     CommandCheckVolume      = new UiCommand(_checkVolume, _canCheckVolume);
     CommandTriggerStartType = new UiCommand
                               (
         _triggerStartType,
         _canTriggerStartType
                               );
     CommandMoveUp = new UiCommand
                     (
         o => Model.MoveUp(),
         o => Model.CanMoveUp()
                     );
     CommandMoveDown = new UiCommand
                       (
         o => Model.MoveDown(),
         o => Model.CanMoveDown()
                       );
     CommandDelete = new UiCommand
                     (
         async o =>
     {
         if (MessageBox.Show(resources._query_DeleteItem, resources._caption_Confirmation, MessageBoxButton.OKCancel) != MessageBoxResult.OK)
         {
             return;
         }
         await EventClipboard.SaveUndo(new List <IEvent> {
             Model
         },
                                       Model.StartType == TStartType.After ? Model.Prior : Model.Parent);
         Model.Delete();
     },
         o => Model.AllowDelete()
                     );
     if (@event is ITemplated templated)
     {
         TemplatedEditViewmodel = new TemplatedEditViewmodel(templated, true, true, engineViewModel.VideoFormat);
         TemplatedEditViewmodel.ModifiedChanged += TemplatedEditViewmodel_ModifiedChanged;
     }
 }
Exemple #3
0
        public EventEditViewmodel(IEvent @event, EngineViewmodel engineViewModel) : base(@event)
        {
            _engineViewModel       = engineViewModel;
            Model.PropertyChanged += ModelPropertyChanged;
            if (@event.EventType == TEventType.Container)
            {
                EventRightsEditViewmodel = new EventRightsEditViewmodel(@event, engineViewModel.Engine.AuthenticationService);
                EventRightsEditViewmodel.ModifiedChanged += RightsModifiedChanged;
            }
            Router     = engineViewModel.Router;
            InputPorts = new List <object>();

            if (Router != null)
            {
                InputPorts.Add(string.Empty); //default value in ComboBox
                foreach (var input in Router.InputPorts)
                {
                    InputPorts.Add(input);
                }
                _selectedInputPort = InputPorts?.FirstOrDefault(param => param is IRouterPort routerPort && routerPort.PortId == _routerPort) ?? InputPorts?[0];
            }

            if (@event.EventType == TEventType.Live && Model.Engine.MediaManager.Recorders.Count() > 0)
            {
                RecordingInfoViewmodel = new RecordingInfoViewModel(@event.Engine, @event.RecordingInfo);
                RecordingInfoViewmodel.ModifiedChanged += RecordingInfoViewmodel_ModifiedChanged;
            }

            CommandSaveEdit         = new UiCommand(o => Save(), o => CanSave);
            CommandUndoEdit         = new UiCommand(o => UndoEdit(), o => IsModified);
            CommandChangeMovie      = new UiCommand(_changeMovie, _canChangeMovie);
            CommandEditMovie        = new UiCommand(_editMovie, _canEditMovie);
            CommandCheckVolume      = new UiCommand(_checkVolume, _canCheckVolume);
            CommandTriggerStartType = new UiCommand
                                      (
                _triggerStartType,
                _canTriggerStartType
                                      );
            CommandMoveUp = new UiCommand
                            (
                o => Model.MoveUp(),
                o => Model.CanMoveUp()
                            );
            CommandMoveDown = new UiCommand
                              (
                o => Model.MoveDown(),
                o => Model.CanMoveDown()
                              );
            CommandDelete = new UiCommand
                            (
                async o =>
            {
                if (MessageBox.Show(resources._query_DeleteItem, resources._caption_Confirmation, MessageBoxButton.OKCancel) != MessageBoxResult.OK)
                {
                    return;
                }
                await EventClipboard.SaveUndo(new List <IEvent> {
                    Model
                },
                                              Model.StartType == TStartType.After ? Model.Prior : Model.Parent);
                Model.Delete();
            },
                o => Model.HaveRight(EventRight.Delete) && Model.AllowDelete()
                            );
            if (@event is ITemplated templated)
            {
                TemplatedEditViewmodel = new TemplatedEditViewmodel(templated, true, true, engineViewModel.VideoFormat);
                TemplatedEditViewmodel.ModifiedChanged += TemplatedEditViewmodel_ModifiedChanged;
            }
        }