Beispiel #1
0
        public async Task <DTOs.Invitation> Handle(DTOs.HandleInvitation request)
        {
            var invitation = await invitationRepository.Get(request.Invitation.Id);

            if (invitation == null)
            {
                throw new NotFoundException("Invitation", request.Invitation.Id);
            }

            await invitationRepository.Remove(invitation.Id);

            if (!request.Accept)
            {
                return(invitation.ToDto());
            }

            var bandMember = BandMember.From(invitation.Guest, invitation.Band);
            await bandRepository.AddMember(bandMember);

            return(invitation.ToDto());
        }