using System.Collections.Generic;
public static void Main()
Console.WriteLine("Hello World");
var eventos = new List<Evento>();
eventos.Add(new Evento { Nombre = "Loolapalooza", FechaFuncionMasProxima = ToDateTime("25-05-2022") });
eventos.Add(new Evento { Nombre = "ZEvento", FechaFuncionMasProxima = ToDateTime("20-05-2022") });
eventos.Add(new Evento { Nombre = "BEvento", FechaFuncionMasProxima = ToDateTime("20-05-2022") });
eventos.Add(new Evento { Nombre = "PilsenRock", FechaFuncionMasProxima = ToDateTime("29-05-2022") });
eventos.Add(new Evento { Nombre = "AbelPintos", FechaFuncionMasProxima = ToDateTime("30-06-2022") });
eventos.Add(new Evento { Nombre = "AbelPintos", FechaFuncionMasProxima = ToDateTime("28-06-2022") });
eventos[0].Tickets.Add("test");
eventos[1].Tickets.Add("test2");
eventos[2].Tickets.Add("test3");
eventos[3].Tickets.Add("test4");
var fechaUnaHoraDespuesDeAhora = DateTime.Now.AddHours(1);
var listaOrdenadaPorFechaProximaYAlfabet =
eventos.Where(e => e.FechaFuncionMasProxima > fechaUnaHoraDespuesDeAhora && e.Tickets.Any())
.OrderBy(e => e.FechaFuncionMasProxima)
foreach (var e in listaOrdenadaPorFechaProximaYAlfabet)
Console.WriteLine(string.Concat(e.Nombre, ", ", e.FechaFuncionMasProxima, ", ", e.Tickets.Count));
public static DateTime ToDateTime(string s) { return DateTime.ParseExact(s, "dd-MM-yyyy", System.Globalization.CultureInfo.InvariantCulture); }
Tickets = new List<string>();
public DateTime FechaFuncionMasProxima { get; set; }
public string Nombre { get; set; }
public IList<string> Tickets { get; set;}