annotate Agendas/trunk/src/Agendas.Web/DataProviders.cs @ 231:e5959f3405e0

Eventos sin ponentes
author nelopauselli
date Wed, 28 Sep 2011 20:02:44 -0300
parents f23ee59ef1bd
children b43dc14886e3
rev   line source
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
1 using System;
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
2 using System.Collections.Generic;
141
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
3 using System.Linq;
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
4 using System.Web.Mvc;
180
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
5 using AltNetHispano.Agendas.Domain;
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
6 using AltNetHispano.Agendas.Factories;
141
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
7 using AltNetHispano.Agendas.Web.Models;
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
8
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
9 namespace AltNetHispano.Agendas.Web
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
10 {
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
11 public static class DataProviders
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
12 {
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
13 public static IEnumerable<SelectListItem> GetTiposEvento(this HtmlHelper helper)
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
14 {
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
15 return from t in EventoModelHelper.GetTiposEventos()
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
16 select new SelectListItem {Text = t.TipoEventoStr, Value = t.TipoEvento.ToString()};
a5ff4de4a1d3 EditorForModel en Nuevo Evento y Proponer
Nelo@Guinea.neluz.int
parents:
diff changeset
17 }
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
18
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
19 public static IEnumerable<SelectListItem> GetPonentes(this HtmlHelper helper, Guid id)
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
20 {
231
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
21 var lista = new List<SelectListItem> {new SelectListItem {Text = "[Ninguno]", Value = Guid.Empty.ToString()}};
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
22
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
23 var personaService = AgendaFactory.GetPersonaService();
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
24 var personas = from p in personaService.GetAll()
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
25 orderby p.Nombre
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
26 select
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
27 new SelectListItem {Text = p.Nombre, Value = p.Id.ToString(), Selected = p.Id.Equals(id)};
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
28
e5959f3405e0 Eventos sin ponentes
nelopauselli
parents: 225
diff changeset
29 return lista.Union(personas);
145
e6e6bfb1da9e En la edición de un evento (nuevo, propuesta, modificación), el ponente se selecciona desde un combo.
Nelo@Guinea.neluz.int
parents: 141
diff changeset
30 }
180
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
31
225
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
32 public static IEnumerable<SelectListItem> GetOtrosPonentes(this HtmlHelper helper, IEnumerable<Guid> ids)
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
33 {
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
34 var personas = AgendaFactory.GetPersonaService();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
35 if (ids == null || !ids.Any()) return new SelectListItem[] {};
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
36
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
37 return from p in from id in ids
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
38 select personas.GetById(id)
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
39 select new SelectListItem { Text = p.Nombre, Value = p.Id.ToString() };
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
40 }
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
41
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
42
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
43 public static IEnumerable<SelectListItem> GetOtrosPonentesExcepto(this HtmlHelper helper, IEnumerable<Guid> ids)
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
44 {
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
45 var personas = AgendaFactory.GetPersonaService();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
46
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
47 if (ids==null) ids = new List<Guid>();
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
48
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
49 return from p in personas.GetAll() where !ids.Contains(p.Id)
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
50 select new SelectListItem { Text = p.Nombre, Value = p.Id.ToString() };
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
51 }
f23ee59ef1bd Otros ponentes
nelopauselli
parents: 180
diff changeset
52
180
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
53 public static IEnumerable<string> GetRoles(this HtmlHelper helper)
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
54 {
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
55 return new[] {Roles.Administrador, Roles.Usuario};
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
56 }
222362c29416 UI para asignación de roles
nelopauselli
parents: 158
diff changeset
57 }
158
734d3f0853bf Manejando configuración de los publicadores con una sección propia en los .config
nelopauselli
parents: 145
diff changeset
58 }