public MediaCharacterConditionViewModel(Condition condition, ReadOnlyObservableCollection <string> allCharacterTags, EventHandler deleted = null)
        {
            Cond = condition;
            Cond.CreateObject = new Func <object>(() =>
            {
                var character = new MediaCharacter(Constants.Filter.Wildcard);
                Character     = new MediaCharacterViewModel(character, allCharacterTags);
                return(character);
            });
            if (Cond.Object != null)
            {
                Character = new MediaCharacterViewModel(Cond.Object as MediaCharacter, false, allCharacterTags);
            }
            else
            {
                Character = new MediaCharacterViewModel(new MediaCharacter(string.Empty), allCharacterTags);
            }
            ((INotifyCollectionChanged)Cond.Conditions).CollectionChanged += ConditionsChanged;
            Conditions = new MvxObservableCollection <MediaCharacterConditionViewModel>();

            if (deleted != null)
            {
                Deleted += deleted;
            }

            _allCharacterTags = allCharacterTags;
        }
Example #2
0
        private MediaCharacterViewModel(MediaCharacter character, bool isNameReadOnly, EventHandler deleted, ReadOnlyObservableCollection <string> allCharacterTags)
        {
            Character = character;

            ((INotifyCollectionChanged)Character.Tags).CollectionChanged += TagsChanged;
            Tags = new MvxObservableCollection <MediaTagViewModel>();
            foreach (MediaTag tag in character.Tags)
            {
                Tags.Add(new MediaTagViewModel(tag, TagDeleted));
            }

            NewTag = string.Empty;

            IsNameReadOnly = isNameReadOnly;

            if (deleted != null)
            {
                Deleted += deleted;
            }

            AllCharacterTags = allCharacterTags;
        }
Example #3
0
 public MediaCharacterViewModel(MediaCharacter character, bool isNameReadOnly, ReadOnlyObservableCollection <string> allCharacterTags) : this(character, isNameReadOnly, null, allCharacterTags)
 {
 }
Example #4
0
 public MediaCharacterViewModel(MediaCharacter character, EventHandler deleted, ReadOnlyObservableCollection <string> allCharacterTags) : this(character, true, deleted, allCharacterTags)
 {
 }
Example #5
0
 public MediaCharacterViewModel(MediaCharacter character, ReadOnlyObservableCollection <string> allCharacterTags) : this(character, true, null, allCharacterTags)
 {
 }