view Agendas/trunk/src/Agendas.Web/DataProviders.cs @ 254:478656b70afb

Tag deploy 2011-10-07 v1.0.3 para conjunto de cambios 7cf64cd790ab añadido
author Administrador@DESA-WIN-002.cpe.telecentro.net.ar
date Mon, 17 Oct 2011 07:41:32 -0300
parents da9c295e9fa1
children c8f378272407
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();
		}
	}
}