annotate Agendas/trunk/src/Agendas.Web/PublicadoresConfig.cs @ 127:3700b77ed455

Configuracion de publicadores
author jorge.rowies
date Sat, 02 Jul 2011 21:50:05 -0300
parents
children 1e47bf408073
rev   line source
127
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
1 using System;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
2 using System.Collections.Generic;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
3 using System.Configuration;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
4 using System.Linq;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
5 using System.Web;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
6 using System.Reflection;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
7
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
8 namespace AltNetHispano.Agendas.Web
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
9 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
10 public class PublicadorConfigurationElement : ConfigurationElement
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
11 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
12 [ConfigurationProperty("name", IsRequired = true)]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
13 public string Name
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
14 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
15 get { return (string)this["name"]; }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
16 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
17
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
18 [ConfigurationProperty("type", IsRequired = true)]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
19 public string Type
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
20 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
21 get
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
22 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
23 return (string)this["type"];
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
24 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
25 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
26
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
27 public Type GetPublicadorType()
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
28 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
29 return System.Type.GetType((string) this["type"]);
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
30 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
31
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
32 [ConfigurationProperty("enabled", IsRequired = true)]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
33 public bool Enabled
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
34 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
35 get { return (bool)this["enabled"]; }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
36 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
37 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
38
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
39 [ConfigurationCollection(typeof(PublicadorConfigurationElement))]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
40 public class PublicadorConfigurationCollection : ConfigurationElementCollection
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
41 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
42 protected override ConfigurationElement CreateNewElement()
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
43 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
44 return new PublicadorConfigurationElement();
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
45 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
46
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
47 protected override object GetElementKey(ConfigurationElement element)
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
48 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
49 var value = element as PublicadorConfigurationElement;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
50 return value != null ? value.Name : null;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
51 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
52
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
53 public PublicadorConfigurationElement this[int index]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
54 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
55 get
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
56 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
57 return BaseGet(index) as PublicadorConfigurationElement;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
58 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
59 set
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
60 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
61 if (BaseGet(index) != null)
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
62 BaseRemoveAt(index);
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
63 BaseAdd(index, value);
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
64 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
65 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
66
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
67 public new PublicadorConfigurationElement this[string name]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
68 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
69 get
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
70 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
71 return BaseGet(name) as PublicadorConfigurationElement;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
72 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
73 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
74 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
75
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
76 public class PublicadorConfigurationSection : ConfigurationSection
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
77 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
78 [ConfigurationProperty("publicadores", IsRequired = true)]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
79 public PublicadorConfigurationCollection Publicadores
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
80 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
81 get
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
82 {
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
83 return this["publicadores"]
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
84 as PublicadorConfigurationCollection;
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
85 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
86 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
87 }
3700b77ed455 Configuracion de publicadores
jorge.rowies
parents:
diff changeset
88 }