client/src/Iri.Modernisation.Controls/ViewModel/ConsultationBookView/ConsultationBookViewVM.cs
author Matthieu Totet
Fri, 18 Dec 2009 16:45:30 +0100
changeset 25 a9c815025a1b
parent 22 69a2910ec6f9
child 30 644e3cd48034
permissions -rw-r--r--
Update ProductionView + Cleanning Code
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 System.Collections.Generic;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
using System.Collections;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    13
using Iri.Modernisation.Data.Models;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
using System.Linq;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
using Iri.Modernisation.BaseMVVM.Commands;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
using Iri.Modernisation.BaseMVVM.ViewModel;
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
{
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    19
    /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    20
    /// ViewModel de ConsultationBook
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    21
    /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
    public class ConsultationBookViewVM : BaseMVVM.ViewModel.ViewModel
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
        private VideoBook _selectedBook;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    26
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    27
        /// Livre Sélectionné
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    28
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
        public VideoBook SelectedBook
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    30
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    31
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    32
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    33
                return _selectedBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    34
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
                _selectedBook = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
                OnPropertyChanged(null);
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
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    42
  
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
        private SegmentIndex _selectedIndex;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    45
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    46
        /// Index Sélectionné
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    47
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
        public SegmentIndex SelectedIndex
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
                
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
                return _selectedIndex;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
                _selectedIndex = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
                _selectedIndexTitle = ((SegmentIndex)value).Title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
                _selectedIndexDescription = ((SegmentIndex)value).Description;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
                _selectedIndexTags = ((SegmentIndex)value).Tags;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
                _selectedBook = _selectedIndex.Chapter.Book;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
                _title = _selectedIndex.Chapter.Book.Title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
                _author = _selectedIndex.Chapter.Book.Author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
                _chapters = _selectedIndex.Chapter.Book.Chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
                _selectedIndexAnnotation.Clear();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
                List<AnnotationViewerVM> _temp = new List<AnnotationViewerVM>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
                foreach (Annotation An in ((SegmentIndex)value).Chapter.Annotations)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
                    if (An.TimerIn <= ((SegmentIndex)value).TimerOut && An.TimerOut >= ((SegmentIndex)value).TimerIn)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
                          _temp.Add(new AnnotationViewerVM (An));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
                SelectedIndexAnnotation = _temp;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
                OnPropertyChanged(null);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
            
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
         
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    80
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    81
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    82
        private String _selectedIndexTitle;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    83
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    84
        /// Titre de l'Index
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
    85
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    86
        public String SelectedIndexTitle
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    87
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    88
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    89
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    90
                return _selectedIndexTitle;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    91
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    92
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    93
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    94
                _selectedIndexTitle = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    95
                OnPropertyChanged("SelectedIndexTitle");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    96
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    97
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    98
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    99
        private String _selectedIndexDescription;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   100
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   101
        /// Description de L'index
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   102
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   103
        public String SelectedIndexDescription
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   104
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   105
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   106
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   107
                return _selectedIndexDescription;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   108
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   109
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   110
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   111
                _selectedIndexDescription = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   112
                OnPropertyChanged("SelectedIndexDescription");
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
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   116
        private List<String> _selectedIndexTags = new List<string>();
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   117
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   118
        /// Tags de l'Index
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   119
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   120
        public String SelectedIndexTags
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   121
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   122
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   123
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   124
                try
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   125
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   126
                    return String.Join(",", _selectedIndexTags.ToArray());
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   127
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   128
                catch
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   129
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   130
                    return String.Empty;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   131
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   132
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   133
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   134
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   135
                String val = (String)value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   136
                _selectedIndexTags = val.Split(',').ToList();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   137
                OnPropertyChanged("SelectedIndexTags");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   138
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   139
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   140
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   141
        private List<AnnotationViewerVM> _selectedIndexAnnotation = new List<AnnotationViewerVM>();
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   142
       /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   143
       /// Liste des annotations de l'index
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   144
       /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   145
        public List<AnnotationViewerVM> SelectedIndexAnnotation
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   146
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   147
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   148
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   149
               return _selectedIndexAnnotation;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   150
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   151
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   152
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   153
                _selectedIndexAnnotation = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   154
                OnPropertyChanged("SelectedIndexAnnotation");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   155
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   156
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   157
        
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   158
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   159
        private String _title;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   160
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   161
        /// Titre du VideoLivre
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   162
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   163
        public String Title
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   164
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   165
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   166
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   167
                return _title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   168
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   169
            private set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   170
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   171
                _title = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   172
                _selectedBook.Title = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   173
                OnPropertyChanged("Title");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   174
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   175
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   176
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   177
        private User _author;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   178
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   179
        /// Auteur du Videolivre
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   180
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   181
        public User Author
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   182
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   183
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   184
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   185
                return _author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   186
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   187
            private set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   188
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   189
                _author = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   190
                _selectedBook.Author = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   191
                OnPropertyChanged("Author");
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
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   195
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   196
        private VideoChapter[] _chapters;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   197
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   198
        /// Chapitres du VideoLivre
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   199
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   200
        public VideoChapter[] Chapters
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   201
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   202
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   203
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   204
                return _chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   205
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   206
            private set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   207
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   208
                _chapters = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   209
                _selectedBook.Chapters = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   210
                OnPropertyChanged("Chapters");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   211
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   212
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   213
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   214
        private List<SegmentIndex>[] _segmentIndex = new List<SegmentIndex>[4];
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   215
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   216
        /// 
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   217
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   218
        public List<SegmentIndex>[] SegmentIndex
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   219
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   220
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   221
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   222
                return _segmentIndex;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   223
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   224
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   225
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   226
                _segmentIndex = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   227
                OnPropertyChanged("SegmentIndex");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   228
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   229
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   230
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   231
        private List<Annotation>[] _annotations = new List<Annotation>[4];
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   232
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   233
        /// Annotations
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   234
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   235
        public List<Annotation>[] Annotations
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   236
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   237
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   238
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   239
                return _annotations;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   240
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   241
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   242
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   243
                _annotations = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   244
                OnPropertyChanged("Annotations");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   245
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   246
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   247
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   248
        private BookTimeLineVM _selectedBookVM;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   249
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   250
        /// ViewModel de BookTimeLine
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   251
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   252
        public BookTimeLineVM SelectedBookVM
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   253
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   254
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   255
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   256
                return _selectedBookVM;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   257
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   258
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   259
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   260
                _selectedBookVM = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   261
             
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   262
                _selectedBook = value.SelectedBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   263
                _title = value.SelectedBook.Title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   264
                _author = value.SelectedBook.Author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   265
                _chapters = value.SelectedBook.Chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   266
              
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   267
                    ActualVideoSourceVM.Position = TimeSpan.FromMilliseconds(value.Position);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   268
                    ActualVideoSourceVM.Source = value.SelectedBook.MediaPath;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   269
               
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   270
                
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   271
                SelectedIndex = value.SelectedBook.Chapters[0].Index[0];
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   272
             
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   273
                OnPropertyChanged(null);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   274
                Commands.GoToTime.Execute(value.Position);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   275
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   276
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   277
        private VideoViewerVM _actualVideoSourceVM;
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   278
        /// <summary>
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   279
        /// Video Actuellement en visionnage
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   280
        /// </summary>
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   281
        public VideoViewerVM ActualVideoSourceVM
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   282
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   283
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   284
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   285
                return _actualVideoSourceVM;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   286
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   287
            set
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   288
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   289
                _actualVideoSourceVM = value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   290
                OnPropertyChanged("ActualVideoSourceVM");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   291
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   292
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   293
        public ConsultationBookViewVM()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   294
        {
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   295
          
15
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   296
            ActualVideoSourceVM = new VideoViewerVM(true,false);
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   297
            InitializeCommands();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   298
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   299
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   300
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   301
        public ConsultationBookViewVM(BookTimeLineVM param)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   302
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   303
            _selectedBookVM = param;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   304
            _selectedBook = param.SelectedBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   305
            _title = param.SelectedBook.Title;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   306
            _author = param.SelectedBook.Author;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   307
            _chapters = param.SelectedBook.Chapters;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   308
            //
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   309
            if (param.SelectedBook.Chapters[0].VideoSequences.Count != 0)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   310
            {
15
3f70aee2432f Update VideoViewer
Matthieu Totet
parents: 0
diff changeset
   311
                ActualVideoSourceVM = new VideoViewerVM(true,false) { Source = param.SelectedBook.MediaPath }; 
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   312
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   313
            SelectedIndex = param.SelectedBook.Chapters[0].Index[0];
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   314
            
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   315
            InitializeCommands();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   316
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   317
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   318
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   319
        private void InitializeCommands()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   320
        {
22
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   321
            ActualVideoSourceVM.Tick += new EventHandler<VideoViewerVMEventArgs>(ActualVideoSourceVM_Tick);
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   322
              }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   323
25
a9c815025a1b Update ProductionView + Cleanning Code
Matthieu Totet
parents: 22
diff changeset
   324
        private void ActualVideoSourceVM_Tick(object sender, VideoViewerVMEventArgs e)
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   325
        {
22
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   326
            TimeSpan Pos = e.Position; 
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   327
            SelectedBookVM.Position = Pos.TotalMilliseconds;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   328
            if (SelectedIndex.TimerOut < Pos || SelectedIndex.TimerIn > Pos)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   329
            {
22
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   330
                foreach (SegmentIndex Index in SelectedIndex.Chapter.Index)
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   331
                {
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   332
                    if (Index.TimerIn <= Pos && Index.TimerOut >= Pos)
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   333
                    {
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   334
                        SelectedIndex = Index;
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   335
                    }
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   336
69a2910ec6f9 Update VideoViewer
Matthieu Totet
parents: 15
diff changeset
   337
                }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   338
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   339
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   340
       
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   341
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   342
}