client/src/Iri.Modernisation.Data/Ldt/Readers.cs
author Matthieu Totet
Tue, 05 Jan 2010 15:53:48 +0100
changeset 28 2d4ec5ab2a40
parent 10 12515e11b357
child 30 644e3cd48034
permissions -rw-r--r--
Commit Before SL4
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 Iri.Modernisation.Data.Models;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    13
namespace Iri.Modernisation.Data.LDTClass
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
    public class LDTFileReader
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
        private LDTFile _ldtFile;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
        private VideoBook _videoBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
        public VideoBook VideoBook
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    21
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
                return _videoBook;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    26
        public LDTFileReader(String LDTPath)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    27
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    28
            _ldtFile = new LDTFile();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
            _ldtFile.Load(LDTPath);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    30
            ConvertLdtToVideoBook();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    31
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    32
        public LDTFileReader(LDTFile ldtFile)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    33
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    34
            _ldtFile = ldtFile;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
            ConvertLdtToVideoBook();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
        private void ConvertLdtToVideoBook()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
            if (_ldtFile != null)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
                // Initialisation du VideoBook
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
                _videoBook = new VideoBook()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    44
                    Title = _ldtFile.Project.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
                    Author = new User()
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
                        UserName = _ldtFile.Project.User,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
                        
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
                    },
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
                    Duration = new TimeSpan()
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
                };
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
                // Initialisation des index
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
                foreach (LDTAnnotationsContent LDTAC in _ldtFile.Annotations)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
                {
10
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    58
                    int count=0;
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    59
                    int decoupage = LDTAC.Content[2].Elements.Count/4;
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    60
                    int selectedChapter = 0;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
                    foreach(LDTElement LDTE  in LDTAC.Content[2].Elements)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
                    {
10
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    63
                       
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    64
                       
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    65
                        _videoBook.Chapters[selectedChapter].Index.Add(new SegmentIndex(_videoBook.Chapters[selectedChapter])
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
                            Title = LDTE.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
                            Description = LDTE.Abstract,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
                            Tags = LDTE.Tags,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
                            TimerIn = new TimeSpan(0, 0, 0, 0, (int)LDTE.Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
                            Duration = new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur),
10
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    72
                            
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
                        });
10
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    74
                        count++;
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    75
                        if (count % decoupage == 0)
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    76
                        {
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    77
                            selectedChapter++;
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    78
                            if (selectedChapter >= 4)
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    79
                            {
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    80
                                selectedChapter = 3;
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    81
                            }
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    82
                        }
12515e11b357 Update PolemicElement View : Can Display Correct Color of VideoChapter
Matthieu Totet
parents: 0
diff changeset
    83
                        
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    84
                       _videoBook.Duration =  _videoBook.Duration.Add(new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    85
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    86
                    foreach (LDTElement LDTE in LDTAC.Content[3].Elements)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    87
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    88
                        _videoBook.Chapters[0].Annotations.Add(new Annotation(_videoBook.Chapters[0])
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    89
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    90
                            Title = LDTE.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    91
                            Description = LDTE.Abstract,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    92
                            Tags = LDTE.Tags,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    93
                            TimerIn = new TimeSpan(0, 0, 0, 0, (int)LDTE.Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    94
                            Duration = new TimeSpan(0, 0, 0, 0, (int)(LDTE.Dur+5000)),
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 10
diff changeset
    95
                            Type = FactoryVideoLivre.AnnotationDescriptions[0]
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    96
                        });
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    97
                       // _videoBook.Duration = _videoBook.Duration.Add(new TimeSpan(0, 0, 0, 0, (int)(LDTE.Dur)));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    98
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    99
                      foreach (LDTElement LDTE in LDTAC.Content[1].Elements)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   100
                      {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   101
                          _videoBook.Chapters[0].Annotations.Add(new Annotation(_videoBook.Chapters[0])
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   102
                          {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   103
                              Title = LDTE.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   104
                              Description = LDTE.Abstract,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   105
                              Tags = LDTE.Tags,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   106
                              TimerIn = new TimeSpan(0, 0, 0, 0, (int)LDTE.Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   107
                              Duration = new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur),
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 10
diff changeset
   108
                              Type = FactoryVideoLivre.AnnotationDescriptions[1]
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   109
                          });
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   110
                         // _videoBook.Duration = _videoBook.Duration.Add(new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   111
                      }
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
                // Initialisation des Annotations
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   115
                //Initialisation des Liens
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   116
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   117
            else
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   118
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   119
                throw new Exception("Fichier LDT Null");
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
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   124
}