Esempio n. 1
0
 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;
     }
 }
Esempio n. 2
0
        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;
            }
        }
Esempio n. 3
0
        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);
                }
            }));
        }