public void DeleteAssembly(PluginAssemblyFileViewModel assembly)
        {
            if (assembly == null) throw new ArgumentNullException("assembly");

            Model.AssemblyFiles.Remove(assembly.Path);
            Assemblies.Remove(assembly);
        }
        void AddAssembly()
        {
            var assembly = new PluginAssemblyFileViewModel(this);
            var message = new ReferPluginAssemblyFileMessage(assembly);
            Messenger.Send(message);

            if (message.Result != true) return;

            Model.AssemblyFiles.Add(assembly.Path);
            Assemblies.Add(assembly);
        }
        public PluginSettingsEditViewModel(PluginSettingsEdit model)
            : base(new Messenger())
        {
            Model = model;

            Assemblies = new ObservableCollection<PluginAssemblyFileViewModel>();
            foreach (var assemblyFile in model.AssemblyFiles)
            {
                var assembly = new PluginAssemblyFileViewModel(this)
                {
                    Path = assemblyFile
                };
                Assemblies.Add(assembly);
            }

            AddAssemblyCommand = new RelayCommand(AddAssembly);
            SaveCommand = new RelayCommand(Save);
        }