コード例 #1
0
        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);
        }
コード例 #2
0
        public void Create(ISettings settings, IInvitationResponse response)
        {
            Saver saver = new Saver();

            saver.Save(new TransactionHandler(settings), response.Create);
        }