Exemple #1
0
        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);
        }
Exemple #2
0
        public static Event UpdateEvent(Event e)
        {
            ApplicationContext.Current.DatabaseContext.Database.Update(e);

            //Save the event descriptions
            foreach (var desc in e.descriptions)
            {
                DescriptionService.UpdateDescription(desc);
            }

            return(e);
        }
        public static RecurringEvent UpdateEvent(RecurringEvent revent)
        {
            ApplicationContext.Current.DatabaseContext.Database.Update(revent);

            //Save the event descriptions
            foreach (var desc in revent.descriptions)
            {
                DescriptionService.UpdateDescription(desc);
            }

            return(revent);
        }
        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);
        }