view Agendas/trunk/src/Agendas.Web/DataProviders.cs @ 298:9bc60d166c8a

Se corrigieron los tests por el cambio de Patrocinador, para que no persista el logo en disco. Se comentó el código de PatrocinadorApiController, que no se utiliza.
author juanjose.montesdeocaarbos
date Sun, 19 Feb 2012 16:00:38 -0300
parents 5f1e3d35e113
children
line wrap: on
line source

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web.Mvc;
using AltNetHispano.Agendas.Domain;
using AltNetHispano.Agendas.Factories;
using AltNetHispano.Agendas.Web.Models;

namespace AltNetHispano.Agendas.Web
{
    public static class DataProviders
    {
        public static IEnumerable<SelectListItem> GetTiposEvento(this HtmlHelper helper)
        {
            return from t in EventoModelHelper.GetTiposEventos()
                   select new SelectListItem {Text = t.TipoEventoStr, Value = t.TipoEvento.ToString()};
        }

		public static IEnumerable<SelectListItem> GetPonentes(this HtmlHelper helper, IEnumerable<Guid> ids)
		{
			var personas = AgendaFactory.GetPersonaService();
			if (ids == null || !ids.Any()) return new SelectListItem[] {};

			return from p in from id in ids
				   select personas.GetById(id)
				   select new SelectListItem { Text = p.Nombre, Value = p.Id.ToString() };
		}


		public static IEnumerable<SelectListItem> GetPonentesExcepto(this HtmlHelper helper, IEnumerable<Guid> ids)
		{
			var personas = AgendaFactory.GetPersonaService();

			if (ids==null) ids = new List<Guid>();

			return from p in personas.GetAll() where !ids.Contains(p.Id)
				   select new SelectListItem { Text = p.Nombre, Value = p.Id.ToString() };
		}
		
		public static IEnumerable<string> GetRoles(this HtmlHelper helper)
		{
			return new[] {Roles.Administrador, Roles.Usuario};
		}

		public static string Version(this HtmlHelper helper)
		{
			return typeof (DataProviders).Assembly.GetName().Version.ToString();
		}

		public static IEnumerable<SelectListItem> GetPatrocinadores(this HtmlHelper helper, IEnumerable<Guid> ids)
		{
			var repository = AgendaFactory.GetPatrocinadorRepository();

			var patrocinadores = repository.GetAll();
			if (ids == null || !ids.Any()) return new SelectListItem[] { };

			return from p in from id in ids
					select repository.GetById(id.ToString())
					select new SelectListItem { Text = p.Nombre, Value = p.Id.ToString() };
		}

		public static IEnumerable<SelectListItem> GetPatrocinadoresExcepto(this HtmlHelper helper, IEnumerable<Guid> ids)
		{
			var repository = AgendaFactory.GetPatrocinadorRepository();

			var patrocinadores = repository.GetAll();
			if (ids == null) ids = new List<Guid>();

			return from p in patrocinadores
				   where !ids.Contains(p.Id)
				   select new SelectListItem { Text = p.Nombre, Value = p.Id.ToString() };
		}
	}
}