public void CancelRsvp(ChildcareRsvpDto cancelRsvp) { try { var groupParticipant = _groupService.GetGroupParticipants(cancelRsvp.GroupId, false).FirstOrDefault(p => p.ContactId == cancelRsvp.ChildContactId); if (groupParticipant != null) { _groupService.endDateGroupParticipant(cancelRsvp.GroupId, groupParticipant.GroupParticipantId); } } catch (Exception ex) { _logger.Error(string.Format("Cancel RSVP failed for group ({0}), contact ({1})", cancelRsvp.GroupId, cancelRsvp.ChildContactId), ex); throw; } }
public void SaveRsvp(ChildcareRsvpDto saveRsvp) { var participant = _participantService.GetParticipant(saveRsvp.ChildContactId); try { var participantSignup = new ParticipantSignup { particpantId = participant.ParticipantId, groupRoleId = _configurationWrapper.GetConfigIntValue("Group_Role_Default_ID"), capacityNeeded = 1, EnrolledBy = saveRsvp.EnrolledBy }; _groupService.addParticipantToGroupNoEvents(saveRsvp.GroupId, participantSignup); } catch (Exception ex) { _logger.Error(string.Format("Save RSVP failed for group ({0}), contact ({1})", saveRsvp.GroupId, saveRsvp.ChildContactId), ex); throw; } }
public IHttpActionResult SaveRsvp([FromBody] ChildcareRsvpDto saveRsvp) { if (!ModelState.IsValid) { var errors = ModelState.Values.SelectMany(val => val.Errors).Aggregate("", (current, err) => current + err.Exception.Message); var dataError = new ApiErrorDto("SaveRsvp Data Invalid", new InvalidOperationException("Invalid SaveRsvp Data" + errors)); throw new HttpResponseException(dataError.HttpResponseMessage); } return(Authorized(token => { try { if (saveRsvp.Registered) { _childcareService.SaveRsvp(saveRsvp); } else { _childcareService.CancelRsvp(saveRsvp); } return Ok(); } catch (GroupFullException e) { var json = JsonConvert.SerializeObject(e.Message, Formatting.None); var message = new HttpResponseMessage(HttpStatusCode.PreconditionFailed); message.Content = new StringContent(json); throw new HttpResponseException(message); } catch (Exception e) { var apiError = new ApiErrorDto("Childcare-SaveRsvp failed", e); throw new HttpResponseException(apiError.HttpResponseMessage); } })); }