public async Task <bool> CancelAttendance(string eventName, User user) { // TODO: Clean up bool hasCanceledAttendance = false; var eventToCancel = await _eventRepository.FindBy(info => info.EventName == eventName); if (!eventToCancel.Any()) { return(hasCanceledAttendance); } var attendees = await _eventAttendeesRepository.FindBy(e => e.EventInfoId == eventToCancel.FirstOrDefault()?.Id&& e.AttendeeId == user.Id); if (!attendees.Any()) { return(hasCanceledAttendance); } foreach (var res in attendees) { await _eventAttendeesRepository.DeleteItem(res); } hasCanceledAttendance = true; return(hasCanceledAttendance); }
public async Task <EventInfo> CreateEvent( User organizer, string eventName, string eventDescription, DateTime?dateTime) { // TODO: Add exception handling var eventInfo = new PersistenceEventInfo { EventOrganizer = organizer.Username, EventOrganizerId = organizer.Id, EventName = eventName, EventDate = dateTime, EventDescription = eventDescription, IsActive = true, Created = DateTime.UtcNow, Updated = DateTime.UtcNow, }; var createdEvent = await _eventRepository.InsertAsync(eventInfo); return(_mapper.Map <EventInfo>(createdEvent)); }
public async Task <EventInfo> CancelEvent(User organizer, string eventName) { var eventInfos = await _eventRepository.FindBy(info => info.EventOrganizerId == organizer.Id && info.EventName == eventName); if (!eventInfos.Any()) { return(null); } var eventInfoToUpdate = eventInfos.FirstOrDefault(); if (eventInfoToUpdate == null) { return(null); } eventInfoToUpdate.IsActive = false; eventInfoToUpdate.Updated = DateTime.UtcNow; await _eventRepository.UpdateItem(eventInfoToUpdate); return(_mapper.Map <EventInfo>(eventInfoToUpdate)); }