public static void UpdateAttendance(EventGuest updatedGuest) { if (updatedGuest == null) { throw new ArgumentNullException(nameof(updatedGuest)); } using (var db = new EventManagerDBContext()) { var query = from guest in db.EventGuests where guest.MeetingGuestID == updatedGuest.ID select guest; var returnedGuest = query.First(); if (returnedGuest == null) { throw new IndexOutOfRangeException($"Event index {updatedGuest.ID} not found"); } returnedGuest.GuestStatus = updatedGuest.GuestStatus; db.EventGuests.Update(returnedGuest); db.SaveChanges(); // SaveDatabase(); } }
public static EventGuest AddGuestToEvent(int eventId, ContactItemModel newGuest) { if (eventId < 0) { throw new ArgumentException($"{nameof(eventId)}: {eventId}"); } else { using (var db = new EventManagerDBContext()) { // Look for event guest if it exists var eventQuery = from eventGuest in db.EventGuests where eventGuest.ContactID == newGuest.ID && eventGuest.MeetingID == eventId select eventGuest; var result = eventQuery.FirstOrDefault(); if (result == null) { var meetingGuest = new MeetingGuest { ContactID = newGuest.ID, MeetingID = eventId, GuestStatus = GustArrivalStatus.Unknown }; db.EventGuests.Add(meetingGuest); db.SaveChanges(); var guest = new EventGuest { ContactID = newGuest.ID, Guest = newGuest, GuestStatus = GustArrivalStatus.Unknown, ID = meetingGuest.MeetingGuestID }; return(guest); } else { return(new EventGuest { ContactID = result.ContactID, Guest = newGuest, ID = result.ContactID, GuestStatus = result.GuestStatus }); } } } }