コード例 #1
0
        protected override async Task HandleCore(CreateCampaignManagerInviteCommand message)
        {
            var campaignManagerInvite = new CampaignManagerInvite
            {
                InviteeEmailAddress = message.Invite.InviteeEmailAddress,
                SentDateTimeUtc     = DateTimeUtcNow(),
                CustomMessage       = message.Invite.CustomMessage,
                SenderUserId        = message.UserId,
                CampaignId          = message.Invite.CampaignId
            };

            _context.CampaignManagerInvites.Add(campaignManagerInvite);
            await _context.SaveChangesAsync();

            await _mediator.PublishAsync(new CampaignManagerInvited
            {
                InviteeEmail        = message.Invite.InviteeEmailAddress,
                CampaignName        = message.Invite.CampaignName,
                SenderName          = message.SenderName,
                AcceptUrl           = _urlHelper.Link("CampaignManagerInviteAcceptRoute", new { inviteId = campaignManagerInvite.Id }),
                DeclineUrl          = _urlHelper.Link("CampaignManagerInviteDeclineRoute", new { inviteId = campaignManagerInvite.Id }),
                RegisterUrl         = message.RegisterUrl,
                IsInviteeRegistered = message.IsInviteeRegistered,
                Message             = message.Invite.CustomMessage
            });
        }
コード例 #2
0
        protected override async Task HandleCore(CreateCampaignManagerInviteCommand message)
        {
            var campaignManagerInvite = new CampaignManagerInvite
            {
                InviteeEmailAddress = message.Invite.InviteeEmailAddress,
                SentDateTimeUtc     = DateTimeUtcNow(),
                CustomMessage       = message.Invite.CustomMessage,
                SenderUserId        = message.UserId,
                CampaignId          = message.Invite.CampaignId
            };

            _context.CampaignManagerInvites.Add(campaignManagerInvite);
            await _context.SaveChangesAsync();
        }
コード例 #3
0
        public async Task ReturnCampaignManagerInvitesWithStatusAccepted_WhenInviteIsAccepted()
        {
            var context = ServiceProvider.GetService <AllReadyContext>();
            var query   = new CampaignDetailQuery {
                CampaignId = _campaignId
            };
            var handler = new CampaignDetailQueryHandler(context);
            CampaignManagerInvite invite = context.CampaignManagerInvites.Where(c => c.CampaignId == _campaignId).Single();

            invite.AcceptedDateTimeUtc = new DateTime(2015, 5, 29);
            context.SaveChanges();

            CampaignDetailViewModel result = await handler.Handle(query);

            result.CampaignManagerInvites.Count().ShouldBe(1);
            result.CampaignManagerInvites.Single().Id.ShouldBe(1);
            result.CampaignManagerInvites.Single().InviteeEmail.ShouldBe("*****@*****.**");
            result.CampaignManagerInvites.Single().Status.ShouldBe(CampaignDetailViewModel.CampaignManagerInviteStatus.Accepted);
        }
        protected override void LoadTestData()
        {
            var campaignManagerInvite = new CampaignManagerInvite
            {
                Id = 100,
                InviteeEmailAddress = "*****@*****.**",
                CustomMessage       = "test",
                CampaignId          = 5,
            };

            Context.Campaigns.Add(new Campaign
            {
                Id   = 5,
                Name = "testCampaign",
            });

            Context.CampaignManagerInvites.Add(campaignManagerInvite);
            Context.SaveChanges();
        }
        protected override async Task HandleCore(CreateCampaignManagerInviteCommand message)
        {
            var campaign = await _context.Campaigns.AsNoTracking().SingleOrDefaultAsync(c => c.Id == message.Invite.CampaignId);

            if (campaign == null)
            {
                throw new ArgumentException("CampaignId cannot be null for campaign manager invite");
            }

            var campaignManagerInvite = new CampaignManagerInvite
            {
                InviteeEmailAddress = message.Invite.InviteeEmailAddress,
                SentDateTimeUtc     = DateTimeUtcNow(),
                CustomMessage       = message.Invite.CustomMessage,
                SenderUserId        = message.UserId,
                CampaignId          = message.Invite.CampaignId,
            };

            _context.CampaignManagerInvites.Add(campaignManagerInvite);
            await _context.SaveChangesAsync();
        }
コード例 #6
0
 private CampaignDetailViewModel.CampaignManagerInviteStatus GetCampaignManagerInviteStatus(CampaignManagerInvite campaignManagerInvite)
 {
     if (campaignManagerInvite.IsAccepted)
     {
         return(CampaignDetailViewModel.CampaignManagerInviteStatus.Accepted);
     }
     if (campaignManagerInvite.IsPending)
     {
         return(CampaignDetailViewModel.CampaignManagerInviteStatus.Pending);
     }
     if (campaignManagerInvite.IsRejected)
     {
         return(CampaignDetailViewModel.CampaignManagerInviteStatus.Rejected);
     }
     return(CampaignDetailViewModel.CampaignManagerInviteStatus.Revoked);
 }