コード例 #1
0
        /// <summary>
        /// Add or update contact
        /// </summary>
        public static int SaveNewEvent(NewEventItemModel theEvent)
        {
            using (var db = new EventManagerDBContext())
            {
                // We are creating a new event entry with default values
                if (AppLevelModel.ViewModel.NewEventId < 0)
                {
                    var newEventModel = new Meeting
                    {
                        EventTitle        = theEvent.EventTitle,
                        Venue             = theEvent.Venue,
                        Description       = theEvent.Description,
                        EventStart        = theEvent.EventBegin,
                        EventEnd          = theEvent.EventEnd,
                        ImagePath         = theEvent.ImagePath,
                        VenueContactEmail = theEvent.VenueContactEmail,
                        VenueContactPhone = theEvent.VenueContactPhone
                    };

                    db.Events.Add(newEventModel);
                    db.SaveChanges();

                    theEvent.ID = newEventModel.MeetingID;
                    AppLevelModel.ViewModel.NewEventId = newEventModel.MeetingID;

                    return(newEventModel.MeetingID);
                }
                else
                {
                    // We are saving new event. Event no longer new.
                    var query = from event1 in db.Events
                                where event1.MeetingID == AppLevelModel.ViewModel.NewEventId
                                select event1;
                    var returnedEvent = query.FirstOrDefault();

                    returnedEvent.EventTitle        = theEvent.EventTitle;
                    returnedEvent.Venue             = theEvent.Venue;
                    returnedEvent.Description       = theEvent.Description;
                    returnedEvent.EventStart        = theEvent.EventBegin;
                    returnedEvent.EventEnd          = theEvent.EventEnd;
                    returnedEvent.ImagePath         = theEvent.ImagePath;
                    returnedEvent.VenueContactEmail = theEvent.VenueContactEmail;
                    returnedEvent.VenueContactPhone = theEvent.VenueContactPhone;

                    db.Events.Update(returnedEvent);
                    db.SaveChanges();

                    theEvent.ID = returnedEvent.MeetingID;
                    AppLevelModel.ViewModel.NewEventId = -1;

                    return(returnedEvent.MeetingID);
                }
            }
        }
コード例 #2
0
        private void CalendarGridView_ItemClick(object sender, ItemClickEventArgs e)
        {
            var model = e.ClickedItem as CalendarDayModel;

            if (model.IsValidDay)
            {
                var date = new DateTime(
                    calendarModel.CurrentDate.Year,
                    calendarModel.CurrentDate.Month, model.Day,
                    DateTime.Now.Hour,
                    DateTime.Now.Minute < 30 ? 0 : 30,
                    0);

                var newEvent = NewEventItemModel.GetNewEvent(date, true);
                calendarModel.AppViewModel.GoTo(typeof(EventItemPage), newEvent);
            }
        }
コード例 #3
0
        private EventItemModel ConvertEvent(NewEventItemModel newEvent)
        {
            var convertedEvent = new EventItemModel(AppViewModel, newEvent.EventBegin, newEvent.NavFromCalendar)
            {
                EventTitle        = newEvent.EventTitle,
                Venue             = newEvent.Venue,
                Description       = newEvent.Description,
                EventBegin        = newEvent.EventBegin,
                EventEnd          = newEvent.EventEnd,
                ImagePath         = newEvent.ImagePath,
                VenueContactEmail = newEvent.VenueContactEmail,
                VenueContactPhone = newEvent.VenueContactPhone,
                ID = newEvent.ID
            };

            convertedEvent.GuestListModel = newEvent.GuestListModel;

            return(convertedEvent);
        }
コード例 #4
0
        public static NewEventItemModel GetNewEvent(DateTime eventStartDate, bool navFromCalendar)
        {
            if (AppLevelModel.ViewModel.NewEventId == -1 || newEvent == null)
            {
                newEvent = new NewEventItemModel(
                    AppLevelModel.ViewModel, eventStartDate, navFromCalendar);
            }
            else
            {
                newEvent.ResetEvent();
            }

            if (newEvent.ID == -1)
            {
                newEvent.ID = AppLevelModel.ViewModel.NewEventId;
            }

            newEvent.EditEvent = true;

            return(newEvent);
        }
コード例 #5
0
        /// <summary>
        /// Retrieve new event from database or create one if doesn't exist.
        /// </summary>
        public static void RetriveNewEvent(NewEventItemModel newEventContainer, bool retrieveTempEvent = false)
        {
            using (var db = new EventManagerDBContext())
            {
                if (AppLevelModel.ViewModel.NewEventId < 0)
                {
                    var newEvent = new Meeting
                    {
                        EventTitle        = newEventContainer.EventTitle,
                        Venue             = newEventContainer.Venue,
                        Description       = newEventContainer.Description,
                        EventStart        = newEventContainer.EventBegin,
                        EventEnd          = newEventContainer.EventEnd,
                        ImagePath         = newEventContainer.ImagePath,
                        VenueContactEmail = newEventContainer.VenueContactEmail,
                        VenueContactPhone = newEventContainer.VenueContactPhone
                    };

                    db.Events.Add(newEvent);
                    db.SaveChanges();

                    newEventContainer.ID = newEvent.MeetingID;
                    AppLevelModel.ViewModel.NewEventId = newEvent.MeetingID;
                }
                else
                {
                    var query = from event1 in db.Events
                                where event1.MeetingID == AppLevelModel.ViewModel.NewEventId
                                select event1;

                    var result = query.FirstOrDefault();
                    if (result == null)
                    {
                        // No events found. Shouldn't occur.
                        AppLevelModel.ViewModel.NewEventId = -1;
                        RetriveNewEvent(newEventContainer);

                        result = query.FirstOrDefault();
                    }

                    newEventContainer.ID = result.MeetingID;

                    if (retrieveTempEvent)
                    {
                        newEventContainer.EventTitle        = result.EventTitle;
                        newEventContainer.Venue             = result.Venue;
                        newEventContainer.Description       = result.Description;
                        newEventContainer.EventBegin        = result.EventStart;
                        newEventContainer.EventEnd          = result.EventEnd;
                        newEventContainer.ImagePath         = result.ImagePath;
                        newEventContainer.VenueContactEmail = result.VenueContactEmail;
                        newEventContainer.VenueContactPhone = result.VenueContactPhone;
                    }
                    else
                    {
                        // Delete guest list
                        var guestQuery = from eventGuest in db.EventGuests
                                         where eventGuest.MeetingID == result.MeetingID
                                         select eventGuest;

                        foreach (var guest in guestQuery)
                        {
                            db.EventGuests.Remove(guest);
                        }

                        db.SaveChanges();
                    }
                }
            }
        }