client/src/Iri.Modernisation.Controls/ViewModel/NavigationBar/ConsultMenuVM.cs
author totetm <>
Fri, 12 Feb 2010 16:22:57 +0100
changeset 47 9b26023b8c83
parent 42 594fdedecf7f
permissions -rw-r--r--
Fixed| bug si on ferme un livre en le lisant ReFixed|faire fonctionner le seek, même quand play n'est pas activer
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     1
using System;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     2
using System.Net;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     3
using System.Windows;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     4
using System.Windows.Controls;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     5
using System.Windows.Documents;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     6
using System.Windows.Ink;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     7
using System.Windows.Input;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     8
using System.Windows.Media;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
     9
using System.Windows.Media.Animation;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    10
using System.Windows.Shapes;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    11
using SLExtensions.Input;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
using Iri.Modernisation.BaseMVVM.Commands;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    13
using Iri.Modernisation.BaseMVVM.ViewModel;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
using Iri.Modernisation.Data.Models;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
using System.Collections.Generic;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
using System.Linq;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
namespace Iri.Modernisation.Controls.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
    public class ConsultMenuVM : BaseMVVM.ViewModel.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
    {
42
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
    21
        private List<ConsultVideoBookVM> _videoBooks = new List<ConsultVideoBookVM>();
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
    22
        private List<ConsultVideoBookVM> list = new List<ConsultVideoBookVM>();
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    23
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    24
        /// VideoBooks Disponible
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    25
        /// </summary>
42
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
    26
        public List<ConsultVideoBookVM> VideoBooks
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    27
      {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    28
          get 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
          {
42
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
    30
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
    31
              //_videoBooks.Sort(new VideoBookComparer());
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    32
              if (SearchWord != String.Empty)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    33
              {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    34
                  return list;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
              }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
              else
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
              {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
                  return _videoBooks;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
              }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
          
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
          }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
          set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
          {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
              list = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
              OnPropertyChanged("VideoBooks");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
          }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
      }
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    48
      private bool _searchAuthor;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    49
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    50
        /// Recherche par Auteur activée
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    51
        /// </summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    52
      public bool SearchAuthor
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    53
      {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    54
          get
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    55
          {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    56
              return _searchAuthor;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    57
          }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    58
          set
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    59
          {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    60
              _searchAuthor = value;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    61
              OnPropertyChanged("SearchAuthor");
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    62
          }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    64
      }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    65
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    66
      private bool _searchContributer;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    67
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    68
        /// Recherche par Contributeur activée
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    69
        /// </summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    70
      public bool SearchContributer
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    71
      {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    72
          get
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    73
          {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    74
              return _searchContributer;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    75
          }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    76
          set
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    77
          {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    78
              _searchContributer = value;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    79
              OnPropertyChanged("SearchContributer");
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    80
          }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    81
      }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    82
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    83
      private bool _searchTag;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    84
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    85
        /// Recherche par Tag
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    86
        /// </summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    87
      public bool SearchTag
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    88
      {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    89
          get
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    90
          {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    91
              return _searchTag;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    92
          }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    93
          set
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    94
          {
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    95
              _searchTag = value;
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    96
              OnPropertyChanged("SearchTag");
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    97
          }
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 0
diff changeset
    98
      }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    99
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   100
      private String _searchWord= "";
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   101
      public String SearchWord 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   102
      { 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   103
          get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   104
          {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   105
              return _searchWord;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   106
          }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   107
          
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   108
          set 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   109
          {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   110
              _searchWord = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   111
              OnPropertyChanged("SearchWord");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   112
          } 
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   113
      }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   114
     
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   115
        public ConsultMenuVM()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   116
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   117
            SearchAuthor = true;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   118
          InitializeCommands();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   119
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   120
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   121
        private void InitializeCommands()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   122
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   123
           Commands.ConsultMenu.GetBook.Executed += new EventHandler<ExecutedEventArgs>(GetBook_Executed);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   124
         }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   125
        public ConsultMenuVM(List<VideoBook> argList)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   126
        {
42
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   127
            //_videoBooks = argList;
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   128
            foreach(VideoBook vb in argList)
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   129
            {
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   130
                _videoBooks.Add(new ConsultVideoBookVM(vb));
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   131
            }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   132
            SearchAuthor = true;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   133
            InitializeCommands();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   134
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   135
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   136
        
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   137
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   138
        void GetBook_Executed(object sender, ExecutedEventArgs e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   139
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   140
           
42
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   141
          /* if (SearchAuthor)
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   142
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   143
                var query = from c in _videoBooks
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   144
                            where c.Author.UserName.Contains(_searchWord)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   145
                            select c;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   146
                VideoBooks = query.ToList();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   147
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   148
            if (SearchContributer)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   149
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   150
                List<VideoBook> temp = new List<VideoBook>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   151
                foreach (VideoBook Book in _videoBooks)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   152
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   153
                    foreach (VideoChapter Chapter in Book.Chapters)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   154
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   155
                        foreach (Annotation Annotation in Chapter.Annotations)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   156
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   157
                            if ( Annotation.Contributer.UserName.Contains(_searchWord))
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   158
                            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   159
                                temp.Add(Book);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   160
                            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   161
                        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   162
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   163
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   164
                VideoBooks = temp;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   165
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   166
            if(SearchTag)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   167
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   168
                List<VideoBook> temp = new List<VideoBook>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   169
                foreach (VideoBook Book in _videoBooks)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   170
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   171
                    foreach (VideoChapter Chapter in Book.Chapters)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   172
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   173
                        foreach (Annotation Annotation in Chapter.Annotations)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   174
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   175
                            if (Annotation.Tags.Contains(_searchWord))
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   176
                            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   177
                                temp.Add(Book);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   178
                            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   179
                        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   180
                        foreach (SegmentIndex Segment in Chapter.Index)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   181
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   182
                            if (Segment.Tags.Contains(_searchWord))
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   183
                            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   184
                                temp.Add(Book);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   185
                            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   186
                        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   187
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   188
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   189
                VideoBooks = temp;
42
594fdedecf7f Fixed| bouton close sur BookTimeLine
totetm <>
parents: 25
diff changeset
   190
            }*/
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   191
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   192
       
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   193
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   194
}