client/src/Iri.Modernisation.Data/Ldt/Readers.cs
author Matthieu Totet
Wed, 18 Nov 2009 15:30:31 +0100
changeset 0 249d70e7b32d
child 10 12515e11b357
permissions -rw-r--r--
Create Directories & Project
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
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
                    foreach(LDTElement LDTE  in LDTAC.Content[2].Elements)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
                        _videoBook.Chapters[0].Index.Add(new SegmentIndex(_videoBook.Chapters[0])
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
                            Title = LDTE.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
                            Description = LDTE.Abstract,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
                            Tags = LDTE.Tags,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    65
                            TimerIn = new TimeSpan(0, 0, 0, 0, (int)LDTE.Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    66
                            Duration = new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    67
                        });
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    68
                       _videoBook.Duration =  _videoBook.Duration.Add(new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    69
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    70
                    foreach (LDTElement LDTE in LDTAC.Content[3].Elements)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    71
                    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    72
                        _videoBook.Chapters[0].Annotations.Add(new Annotation(_videoBook.Chapters[0])
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    73
                        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    74
                            Title = LDTE.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    75
                            Description = LDTE.Abstract,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    76
                            Tags = LDTE.Tags,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    77
                            TimerIn = new TimeSpan(0, 0, 0, 0, (int)LDTE.Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    78
                            Duration = new TimeSpan(0, 0, 0, 0, (int)(LDTE.Dur+5000)),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    79
                            Type = PolemicElementType.Polemic
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    80
                        });
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    81
                       // _videoBook.Duration = _videoBook.Duration.Add(new TimeSpan(0, 0, 0, 0, (int)(LDTE.Dur)));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    82
                    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    83
                      foreach (LDTElement LDTE in LDTAC.Content[1].Elements)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    84
                      {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    85
                          _videoBook.Chapters[0].Annotations.Add(new Annotation(_videoBook.Chapters[0])
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    86
                          {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    87
                              Title = LDTE.Title,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    88
                              Description = LDTE.Abstract,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    89
                              Tags = LDTE.Tags,
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    90
                              TimerIn = new TimeSpan(0, 0, 0, 0, (int)LDTE.Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    91
                              Duration = new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    92
                              Type = PolemicElementType.Reference
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    93
                          });
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    94
                         // _videoBook.Duration = _videoBook.Duration.Add(new TimeSpan(0, 0, 0, 0, (int)LDTE.Dur));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    95
                      }
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
                // 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
}