public IActionResult CreateResponse(Guid id, [FromBody] Models.InvitationResponse response) { IActionResult result = null; if (result == null && id.Equals(Guid.Empty)) { result = BadRequest("Missing id"); } if (result == null && response == null) { result = BadRequest("Missing response data"); } if (result == null) { using (ILifetimeScope scope = m_container.BeginLifetimeScope()) { IInvitationFactory factory = scope.Resolve <IInvitationFactory>(); IInvitation invitation = factory.Get(m_settings.Value, id); if (invitation == null) { result = NotFound(); } else { IInvitationResponse innerResponse = invitation.CreateResponse(response.IsAttending, response.AttendeeCount, response.Note); IInvitationResponseSaver saver = scope.Resolve <IInvitationResponseSaver>(); saver.Create(m_settings.Value, innerResponse); IMapper mapper = new Mapper(m_mapperConfiguration); result = Ok(mapper.Map <Models.InvitationResponse>(innerResponse)); } } } return(result); }
public void Create(ISettings settings, IInvitationResponse response) { Saver saver = new Saver(); saver.Save(new TransactionHandler(settings), response.Create); }