public virtual void Insert(MeetingViewModel meeting)
        {
            if (meeting.Attendees == null)
            {
                meeting.Attendees = new int[0];
            }

            if (string.IsNullOrEmpty(meeting.Title))
            {
                meeting.Title = "";
            }

            var entity = meeting.ToEntity();

            foreach (var attendeeId in meeting.Attendees)
            {
                entity.MeetingAttendees.Add(new MeetingAttendee
                {
                    AttendeeID = attendeeId
                });
            }

            db.Meetings.Add(entity);
            db.SaveChanges();

            meeting.MeetingID = entity.MeetingID;
        }
        public virtual void Delete(MeetingViewModel meeting)
        {
            if (meeting.Attendees == null)
            {
                meeting.Attendees = new int[0];
            }

            var entity = meeting.ToEntity();

            db.Meetings.Attach(entity);

            var attendees = meeting.Attendees.Select(attendee => new MeetingAttendee
            {
                AttendeeID = attendee,
                MeetingID  = entity.MeetingID
            });

            foreach (var attendee in attendees)
            {
                db.MeetingAttendees.Attach(attendee);
            }

            entity.MeetingAttendees.Clear();

            var recurrenceExceptions = db.Meetings.Where(m => m.RecurrenceID == entity.MeetingID);

            foreach (var recurrenceException in recurrenceExceptions)
            {
                db.Meetings.Remove(recurrenceException);
            }

            db.Meetings.Remove(entity);
            db.SaveChanges();
        }
        public virtual void Insert(MeetingViewModel meeting)
        {
            if (meeting.Attendees == null)
            {
                meeting.Attendees = new int[0];
            }

            if (string.IsNullOrEmpty(meeting.Title))
            {
                meeting.Title = "";
            }

            var entity = meeting.ToEntity();

            foreach (var attendeeId in meeting.Attendees)
            {
                entity.MeetingAttendees.Add(new MeetingAttendee
                {
                    AttendeeID = attendeeId
                });
            }

            db.Meetings.Add(entity);
            db.SaveChanges();

            meeting.MeetingID = entity.MeetingID;
        }
        public virtual void Insert(MeetingViewModel meeting)
        {
            if (string.IsNullOrEmpty(meeting.Title))
            {
                meeting.Title = "";
            }

            var entity = meeting.ToEntity();

            db.Meetings.Add(entity);
            db.SaveChanges();

            meeting.MeetingID = entity.MeetingID;
        }
        public virtual void Delete(MeetingViewModel meeting)
        {
            var entity = meeting.ToEntity();

            db.Meetings.Attach(entity);

            var recurrenceExceptions = db.Meetings.Where(m => m.RecurrenceID == entity.MeetingID);

            foreach (var recurrenceException in recurrenceExceptions)
            {
                db.Meetings.Remove(recurrenceException);
            }

            db.Meetings.Remove(entity);
            db.SaveChanges();
        }
        public virtual void Delete(MeetingViewModel meeting)
        {
            if (meeting.Attendees == null)
            {
                meeting.Attendees = new int[0];
            }

            var entity = meeting.ToEntity();

            db.Meetings.Attach(entity);

            var attendees = meeting.Attendees.Select(attendee => new MeetingAttendee
            {
                AttendeeID = attendee,
                MeetingID = entity.MeetingID
            });

            foreach (var attendee in attendees)
            {
                db.MeetingAttendees.Attach(attendee);
            }

            entity.MeetingAttendees.Clear();

            var recurrenceExceptions = db.Meetings.Where(m => m.RecurrenceID == entity.MeetingID);

            foreach (var recurrenceException in recurrenceExceptions)
            {
                db.Meetings.Remove(recurrenceException);
            }

            db.Meetings.Remove(entity);
            db.SaveChanges();
        }