client/src/Iri.Modernisation.Data/Ldt/LDTElement.cs
author totetm <>
Fri, 12 Feb 2010 16:22:57 +0100
changeset 47 9b26023b8c83
parent 39 0f2bde8fdfeb
permissions -rw-r--r--
Fixed| bug si on ferme un livre en le lisant ReFixed|faire fonctionner le seek, même quand play n'est pas activer
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 System.Collections.Generic;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    12
using System.Xml.Linq;
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    13
using Iri.Modernisation.Data.Models;
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    14
namespace Iri.Modernisation.Data.LDTClass
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    15
{
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    16
    /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    17
    /// Balise Element
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    18
    /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    19
    public class LDTElement
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    20
    {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    21
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    22
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    23
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    24
        public String Id { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    25
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    26
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    27
        /// </summary>
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    28
        public Double Begin { get; set; }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    29
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    30
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    31
        /// </summary>
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    32
        public Double Dur { get; set; }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    33
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    34
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    35
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    36
        public String Author { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    37
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    38
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    39
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    40
        public DateTime Date { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    41
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    42
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    43
        /// </summary>
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    44
        public double Color { get; set; }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    45
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    46
        /// Attribut
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    47
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    48
        public String Src { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    49
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    50
        /// Element
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    51
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    52
        public String Title { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    53
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    54
        /// Element
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    55
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    56
        public String Abstract { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    57
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    58
        /// Element
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    59
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    60
        public String Audio { get; set; }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    61
        /// <summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    62
        /// Elements
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    63
        /// </summary>
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    64
        public List<String> Tags { get; set; }
39
0f2bde8fdfeb WebService-like
totetm <>
parents: 38
diff changeset
    65
   
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    66
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    67
        /// <summary>
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    68
        /// Elements
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    69
        /// </summary>
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    70
        public String Video { get; set; }
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    71
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    72
        public LDTElement(Annotation annotation)
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    73
        {
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    74
            Id = annotation.Id;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    75
            Title = annotation.Title;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    76
            Abstract = annotation.Description;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    77
            Begin = annotation.TimerIn.TotalMilliseconds;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    78
            Dur = annotation.TimerOut.TotalMilliseconds - annotation.TimerIn.TotalMilliseconds;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    79
            Tags = annotation.Tags;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    80
            Date = DateTime.Now;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    81
            Src = String.Empty;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    82
            Author = String.Empty;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    83
            Audio = String.Empty;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    84
            Video = String.Empty;
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    85
        
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    86
            Color = double.Parse(annotation.Type.Color.A.ToString() + annotation.Type.Color.R.ToString() + annotation.Type.Color.G.ToString() + annotation.Type.Color.B.ToString());
39
0f2bde8fdfeb WebService-like
totetm <>
parents: 38
diff changeset
    87
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    88
            
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    89
        }
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
    90
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    91
        public LDTElement(XElement e)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    92
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    93
            Tags = new List<String>();
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    94
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    95
            Id = e.Attribute("id").Value;
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    96
            Begin = Double.Parse(e.Attribute("begin").Value);
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
    97
            Dur = Double.Parse(e.Attribute("dur").Value);
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    98
            Author = e.Attribute("author").Value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
    99
            Date = DateTime.Parse(e.Attribute("date").Value);
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
   100
            Color = double.Parse(e.Attribute("color").Value);
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   101
            Src = e.Attribute("src").Value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   102
            Title = e.Element("title").Value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   103
            Abstract = e.Element("abstract").Value;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   104
            Audio = e.Element("audio").Value;
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   105
            if (e.Element("video")==null)
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   106
            {
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   107
                 Video = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   108
            }
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   109
            else
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   110
            {
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   111
                Video = e.Element("video").Value;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   112
            }
39
0f2bde8fdfeb WebService-like
totetm <>
parents: 38
diff changeset
   113
           
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   114
            foreach (XElement Str in e.Element("tags").Elements())
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   115
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   116
                Tags.Add(Str.Value);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   117
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   118
        }
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   119
        public LDTElement()
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   120
        {
38
bd33267300aa - FranceCulture Project
totetm <>
parents: 34
diff changeset
   121
            Id = System.Guid.NewGuid().ToString();
39
0f2bde8fdfeb WebService-like
totetm <>
parents: 38
diff changeset
   122
      
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   123
            Begin = 0;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   124
            Dur = 0;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   125
            Author = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   126
            Date = DateTime.Now;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   127
            Color = 0;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   128
            Src = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   129
            Title = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   130
            Abstract = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   131
            Audio = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   132
            Video = String.Empty;
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   133
            Tags = new List<string>();
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   134
        }
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   135
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   136
        public XElement XML
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   137
        {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   138
            get
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   139
            {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   140
                XElement temp = new XElement("element",
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   141
                    new XAttribute("id",Id),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   142
                    new XAttribute("begin",Begin),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   143
                    new XAttribute("dur",Dur),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   144
                    new XAttribute("author",Author),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   145
                    new XAttribute("date",Date.ToString("")),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   146
                    new XAttribute("color",Color),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   147
                    new XAttribute("src",Src),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   148
                    new XElement("title",Title),
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   149
                    new XElement("abstract",Abstract),
34
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   150
                    new XElement("audio",Audio),
4d9ebc6fbbe8 Web Migration Update
totetm <>
parents: 0
diff changeset
   151
                    new XElement("video",Video)
0
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   152
                    );
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   153
                XElement XTags = new XElement("tags");
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   154
                foreach (String Tag in Tags)
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   155
                {
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   156
                    XTags.Add(new XElement("tag", Tag));
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   157
                }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   158
                temp.Add(XTags);
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   159
                return temp;
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   160
            }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   161
        }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   162
    }
249d70e7b32d Create Directories & Project
Matthieu Totet
parents:
diff changeset
   163
}