Mercurial > altnet-hispano
annotate Agendas/trunk/src/Agendas.Web/Models/PersonaModel.cs @ 260:8a2a58b5e2d6
Ticket #193: Validar mail, validar urls de personas.
author | juanjose.montesdeocaarbos |
---|---|
date | Thu, 20 Oct 2011 08:27:52 -0300 |
parents | e6c041d8e1bf |
children | 5ddc574deeea |
rev | line source |
---|---|
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
1 using System; |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
2 using System.Collections.Generic; |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
3 //using System.ComponentModel.DataAnnotations; |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
4 using System.ComponentModel.DataAnnotations; |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
5 using System.Web.Mvc; |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
6 using DataAnnotationsExtensions; |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
7 |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
8 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
9 namespace AltNetHispano.Agendas.Web.Models |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
10 { |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
11 public class PersonaIndexModel{ |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
12 public IEnumerable<PersonaDto> Items { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
13 } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
14 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
15 public class PersonaNewModel |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
16 { |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
17 [Required] |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
18 public string Nombre { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
19 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
20 [Required] |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
21 [CustomValidation(typeof(PersonaValidation), "IsTwitterAccount")] |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
22 public string Twitter { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
23 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
24 [Required] |
260
8a2a58b5e2d6
Ticket #193: Validar mail, validar urls de personas.
juanjose.montesdeocaarbos
parents:
259
diff
changeset
|
25 [Email ] |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
26 public string EMail { get; set; } |
157
f17252543cbf
Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents:
144
diff
changeset
|
27 |
260
8a2a58b5e2d6
Ticket #193: Validar mail, validar urls de personas.
juanjose.montesdeocaarbos
parents:
259
diff
changeset
|
28 [Url ] |
157
f17252543cbf
Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents:
144
diff
changeset
|
29 public string Blog { get; set; } |
180 | 30 |
31 public string[] Roles { get; set; } | |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
32 } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
33 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
34 public class PersonaEditModel |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
35 { |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
36 [Required] |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
37 [HiddenInput(DisplayValue = false)] |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
38 public string Id { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
39 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
40 [Required] |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
41 public string Nombre { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
42 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
43 [Required] |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
44 [CustomValidation(typeof(PersonaValidation), "IsTwitterAccount")] |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
45 public string Twitter { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
46 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
47 [Required] |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
48 [Email] |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
49 public string EMail { get; set; } |
157
f17252543cbf
Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents:
144
diff
changeset
|
50 |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
51 [Url] |
157
f17252543cbf
Agregando la url del blog a los datos de la persona
Nelo@Guinea.neluz.int
parents:
144
diff
changeset
|
52 public string Blog { get; set; } |
180 | 53 |
54 public string[] Roles { get; set; } | |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
55 } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
56 |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
57 public class PersonaDto |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
58 { |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
59 public Guid Id { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
60 public string Nombre { get; set; } |
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
61 } |
257 | 62 |
63 public class PersonaViewModel | |
64 { | |
65 [HiddenInput(DisplayValue = false)] | |
66 public string Id { get; set; } | |
67 | |
68 [HiddenInput] | |
69 public string Nombre { get; set; } | |
70 | |
71 [HiddenInput] | |
72 public string Twitter { get; set; } | |
73 | |
74 [HiddenInput] | |
75 public string EMail { get; set; } | |
76 | |
77 [HiddenInput] | |
78 public string Blog { get; set; } | |
79 } | |
259
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
80 |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
81 //TODO: Ver donde movemos esta clase. |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
82 public class PersonaValidation |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
83 { |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
84 public static ValidationResult IsTwitterAccount(string value) |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
85 { |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
86 //[RegularExpression(@"^([\w\d\-\.]+)$")] |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
87 return value.StartsWith("@") |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
88 ? new ValidationResult("No debe ingresar el arroba al escribir la cuenta de twitter.") |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
89 : ValidationResult.Success; |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
90 } |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
91 } |
e6c041d8e1bf
Ticket #193.1: Al guardar (nuevo/modificar) una persona, que la cuenta de twitter no comience con @
juanjose.montesdeocaarbos
parents:
257
diff
changeset
|
92 |
144
a2b14da4902f
Alta y modificación de ponentes (personas)
Nelo@Guinea.neluz.int
parents:
diff
changeset
|
93 } |