client/src/Iri.Modernisation.Data/Models/FactoryVideoLivre.cs
author totetm <>
Fri, 15 Jan 2010 11:31:05 +0100
changeset 32 36302cc9688d
parent 30 644e3cd48034
child 36 b6df6fce6e5d
permissions -rw-r--r--
Web InitParams
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     1
using System;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     2
using System.Net;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     3
using System.Windows;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     4
using System.Windows.Controls;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     5
using System.Windows.Documents;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     6
using System.Windows.Ink;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     7
using System.Windows.Input;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     8
using System.Windows.Media;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
     9
using System.Windows.Media.Animation;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    10
using System.Windows.Shapes;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    11
using System.Xml.Linq;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    12
using System.Collections.Generic;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    13
namespace Iri.Modernisation.Data.Models
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    14
{
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    15
    public static class FactoryVideoLivre
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    16
    {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    17
         public static WebClient xmlClient = new WebClient();
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    18
        private static XDocument _configDoc; 
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    19
         public static VideoChapterDescription[] VideoChapterDescriptions {get;private set;}
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    20
         public static PolemicTypeDescription[] AnnotationDescriptions { get; private set; }
32
36302cc9688d Web InitParams
totetm <>
parents: 30
diff changeset
    21
         public static String VideoBookListPath;
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    22
         public static int NumberOfChapters
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    23
         {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    24
             get
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    25
             {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    26
                 return VideoChapterDescriptions.Length;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    27
             }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    28
         }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    29
         static FactoryVideoLivre()
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    30
	    {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    31
 
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    32
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    33
	    }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    34
        static public void Initialize()
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    35
        {
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    36
          //  LoadXMLFile();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    37
        }
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    38
        public static void LoadXMLFile(String path)
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    39
        {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    40
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    41
            
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    42
            
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    43
            xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    44
            Uri uri = new Uri(path, UriKind.RelativeOrAbsolute);
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    45
            xmlClient.DownloadStringAsync(uri);
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    46
          
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    47
            
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    48
        }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    49
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    50
        static void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    51
        {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    52
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    53
            if (e.Error == null)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    54
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    55
            
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    56
                _configDoc = XDocument.Parse(e.Result);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    57
                List<VideoChapterDescription> temp = new List<VideoChapterDescription>();
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    58
                List<PolemicTypeDescription> temp_an = new List<PolemicTypeDescription>();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    59
                int nb = 0;
32
36302cc9688d Web InitParams
totetm <>
parents: 30
diff changeset
    60
                VideoBookListPath = _configDoc.Root.Attribute("VideoBookList").Value;
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    61
                foreach (XElement XChapter in _configDoc.Root.Element("VideoBook").Elements())
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    62
                {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    63
                    temp.Add(new VideoChapterDescription(nb, XChapter.Attribute("name").Value, XChapter.Attribute("color").Value));
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    64
                    nb++;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    65
                }
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    66
                foreach (XElement XAnnotation in _configDoc.Root.Element("PolemicTypes").Elements())
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    67
                {
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    68
                    temp_an.Add(new PolemicTypeDescription(XAnnotation.Attribute("name").Value, XAnnotation.Attribute("color").Value));
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    69
                }
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    70
             
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    71
                VideoChapterDescriptions = temp.ToArray();
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    72
                AnnotationDescriptions = temp_an.ToArray();
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    73
                FactoryReady(null, new EventArgs());
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    74
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    75
            else
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    76
            {
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    77
                MessageBox.Show(e.Error.Message);
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    78
            }
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    79
            
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    80
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    81
        }
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    82
        public static event EventHandler FactoryReady;
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    83
       static public void Load(string path)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    84
       {
30
644e3cd48034 Introduce in Web context
totetm <>
parents: 28
diff changeset
    85
         
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    86
           _configDoc = XDocument.Load(path);
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    87
           List<VideoChapterDescription> temp_vl = new List<VideoChapterDescription>();
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    88
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    89
           List<PolemicTypeDescription> temp_an = new List<PolemicTypeDescription>();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    90
           int nb = 0;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    91
           foreach (XElement XChapter in _configDoc.Root.Element("VideoBook").Elements())
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    92
           {
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    93
               temp_vl .Add(new VideoChapterDescription(nb,XChapter.Attribute("name").Value, XChapter.Attribute("color").Value));
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    94
               nb++;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    95
           }
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    96
           foreach (XElement XAnnotation in _configDoc.Root.Element("PolemicTypes").Elements())
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    97
           {
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    98
               temp_an.Add(new PolemicTypeDescription(XAnnotation.Attribute("name").Value, XAnnotation.Attribute("color").Value));
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    99
           }
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
   100
           VideoChapterDescriptions = temp_vl .ToArray();
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
   101
           AnnotationDescriptions = temp_an.ToArray();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   102
       }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   103
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   104
     
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   105
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   106
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   107
       
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   108
    }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
   109
}