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