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