public static Event GetEvent(int id) { var db = ApplicationContext.Current.DatabaseContext.Database; var query = new Sql().Select("*").From("ec_events").Where <Event>(x => x.Id == id); Event current = db.Fetch <Event>(query).FirstOrDefault(); if (current != null) { current.descriptions = DescriptionService.GetDescriptionsForEvent(current.calendarId, current.Id, EventType.Normal).ToList(); var ls = ApplicationContext.Current.Services.LocalizationService; foreach (var lang in ls.GetAllLanguages()) { if (current.descriptions.SingleOrDefault(x => x.CultureCode == lang.CultureInfo.ToString()) == null) { current.descriptions.Add(new EventDescription() { CalendarId = current.calendarId, EventId = current.Id, CultureCode = lang.CultureInfo.ToString(), Id = 0, Type = (int)EventType.Normal }); } } } return(current); }
public static RecurringEvent CreateEvent(RecurringEvent revent) { var args = new RecurringEventCreatingEventArgs { RecurringEvent = revent }; OnCreating(args); if (args.Cancel) { return(revent); } ApplicationContext.Current.DatabaseContext.Database.Save(revent); //Create the new descriptions for the new event revent.descriptions = DescriptionService.GetDescriptionsForEvent(revent.calendarId, revent.Id, EventType.Normal).ToList(); var ls = ApplicationContext.Current.Services.LocalizationService; foreach (var lang in ls.GetAllLanguages()) { if (revent.descriptions.SingleOrDefault(x => x.CultureCode == lang.CultureInfo.ToString()) == null) { revent.descriptions.Add(new EventDescription() { CalendarId = revent.calendarId, EventId = revent.Id, CultureCode = lang.CultureInfo.ToString(), Id = 0, Type = (int)EventType.Recurring }); } } var args2 = new RecurringEventCreatedEventArgs { RecurringEvent = revent }; OnCreated(args2); return(revent); }