Exemplo n.º 1
0
 public CampaignAccountCaptionByCampaignIdSpecification(int campaignId, CampaignAccountCaptionStatus status)
     : base(i => i.CampaignAccount.CampaignId == campaignId && i.Status == status)
 {
     AddInclude(m => m.CampaignAccount);
 }
Exemplo n.º 2
0
        public async Task <bool> UpdateStatus(int id, CampaignAccountCaptionStatus status, string username)
        {
            var CampaignAccountCaption = await _CampaignAccountCaptionRepository.GetByIdAsync(id);

            if (CampaignAccountCaption == null)
            {
                return(false);
            }
            ;

            var campaignaccount = await _campaignAccountRepository.GetByIdAsync(CampaignAccountCaption.CampaignAccountId);

            if (campaignaccount == null)
            {
                return(false);
            }
            ;



            CampaignAccountCaption.Status       = status;
            CampaignAccountCaption.UserModified = username;
            CampaignAccountCaption.DateModified = DateTime.Now;
            await _CampaignAccountCaptionRepository.UpdateAsync(CampaignAccountCaption);

            if (status == CampaignAccountCaptionStatus.DaDuyet)
            {
                campaignaccount.RefContent = CampaignAccountCaption.Content;

                campaignaccount.UserModified = username;

                campaignaccount.DateModified = DateTime.Now;

                campaignaccount.Status = CampaignAccountStatus.ApprovedContent;

                campaignaccount.IsApprovedContent = true;

                await _campaignAccountRepository.UpdateAsync(campaignaccount);
            }
            else if (status == CampaignAccountCaptionStatus.KhongDuyet)
            {
                campaignaccount.UserModified = username;
                campaignaccount.DateModified = DateTime.Now;
                campaignaccount.Status       = CampaignAccountStatus.Canceled;
                await _campaignAccountRepository.UpdateAsync(campaignaccount);
            }

            var notifType = status == CampaignAccountCaptionStatus.DaDuyet ? NotificationType.AgencyApproveCampaignCaption : NotificationType.AgencyDeclineCampaignCaption;
            var campaign  = await _campaignRepository.GetByIdAsync(campaignaccount.CampaignId);

            await _notificationRepository.AddAsync(new Notification()
            {
                Type        = notifType,
                DataId      = campaignaccount.CampaignId,
                Data        = string.Empty,
                DateCreated = DateTime.Now,
                EntityType  = EntityType.Account,
                EntityId    = campaignaccount.AccountId,
                Message     = notifType.GetMessageText(username, campaign.Title.ToString()),
                Status      = NotificationStatus.Created
            });

            return(true);
        }
Exemplo n.º 3
0
 public CampaignAccountCaptionByCampaignAccountIdSpecification(int campaignAccountId, CampaignAccountCaptionStatus status)
     : base(i => i.CampaignAccountId == campaignAccountId && i.Status == status)
 {
 }