client/src/Iri.Modernisation.Data/Models/FactoryVideoLivre.cs
author Matthieu Totet
Tue, 05 Jan 2010 15:53:48 +0100
changeset 28 2d4ec5ab2a40
parent 27 f292db96b050
child 30 644e3cd48034
permissions -rw-r--r--
Commit Before SL4
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; }
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    21
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
        {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    36
            LoadXMLFile();
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    37
        }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    38
        static private void LoadXMLFile()
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);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    44
            xmlClient.DownloadStringAsync(new Uri("ProjectConfig.xml",UriKind.Relative));
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    45
          
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
        static void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    50
        {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    51
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    52
            if (e.Error == null)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    53
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    54
            
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    55
                _configDoc = XDocument.Parse(e.Result);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    56
                List<VideoChapterDescription> temp = new List<VideoChapterDescription>();
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    57
                int nb = 0;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    58
                foreach (XElement XChapter in _configDoc.Root.Element("VideoBook").Elements())
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    59
                {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    60
                    temp.Add(new VideoChapterDescription(nb, XChapter.Attribute("name").Value, XChapter.Attribute("color").Value));
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    61
                    nb++;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    62
                }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    63
                MessageBox.Show(nb.ToString());
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    64
                VideoChapterDescriptions = temp.ToArray();
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    65
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    66
            else
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    67
            {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    68
                //MessageBox.Show(e.Error.Message);
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    69
            }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    70
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    71
        }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    72
       static public void Load(string path)
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    73
       {
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    74
           _configDoc = XDocument.Load(path);
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    75
           List<VideoChapterDescription> temp_vl = new List<VideoChapterDescription>();
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    76
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    77
           List<PolemicTypeDescription> temp_an = new List<PolemicTypeDescription>();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    78
           int nb = 0;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    79
           foreach (XElement XChapter in _configDoc.Root.Element("VideoBook").Elements())
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    80
           {
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    81
               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
    82
               nb++;
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    83
           }
28
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    84
           foreach (XElement XAnnotation in _configDoc.Root.Element("PolemicTypes").Elements())
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    85
           {
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    86
               temp_an.Add(new PolemicTypeDescription(XAnnotation.Attribute("name").Value, XAnnotation.Attribute("color").Value));
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    87
           }
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    88
           VideoChapterDescriptions = temp_vl .ToArray();
2d4ec5ab2a40 Commit Before SL4
Matthieu Totet
parents: 27
diff changeset
    89
           AnnotationDescriptions = temp_an.ToArray();
27
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    90
       }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    91
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    92
     
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    93
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    94
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    95
       
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    96
    }
f292db96b050 Generalization of Book Structure
Matthieu Totet
parents:
diff changeset
    97
}