コード例 #1
0
        public CampaignAccountViewModel(CampaignAccount campaignAccount)
        {
            Id                  = campaignAccount.Id;
            Account             = new AccountViewModel(campaignAccount.Account, null);
            Status              = campaignAccount.Status;
            DateCreated         = campaignAccount.DateCreated;
            Type                = campaignAccount.Type;
            AccountChargeAmount = campaignAccount.AccountChargeAmount;
            DateModified        = campaignAccount.DateModified;
            AccountId           = campaignAccount.AccountId;
            CampaignId          = campaignAccount.CampaignId;


            RefUrl     = campaignAccount.RefUrl;
            RefId      = campaignAccount.RefId;
            RefContent = campaignAccount.RefContent;
            RefData    = campaignAccount.RefDataObj;
            RefImage   = campaignAccount.RefImage.ToListString();

            DateFinished = campaignAccount.DateFinished;
            Rating       = campaignAccount.Rating;
            ReportStatus = campaignAccount.ReportStatus;
            ReportNote   = campaignAccount.ReportNote;
            ReportImages = campaignAccount.ReportImages.ToListString();
        }
コード例 #2
0
 public CampaignWithAccountViewModel(Campaign campaign, CampaignAccount campaignAccount) : base(campaign)
 {
     if (campaignAccount != null)
     {
         CampaignAccount = new CampaignAccountByAccountViewModel(campaignAccount, campaign);
     }
 }
コード例 #3
0
        public static int GetAccountChagreAmount(this Campaign campaign, CampaignAccount campaignAccount)
        {
            //hxq 1988 --> Phí này với Account sẽ = phí thu nhập mong muốn
            //return campaign.AccountChargeAmount;

            //Longhk add, chỗ này phải là campaignAccount.AccountChargeAmount -> không phải campaign.AccountChargeAmount em bị nhầm chỗ này
            return(campaignAccount.AccountChargeAmount);

            /*
             *
             * var t1 = campaign.ServiceChargePercent;
             *
             * var amount = campaignAccount.AccountChargeAmount;
             *
             * var val1 = (amount * (100 - t1)) / 100;
             *
             * return Convert.ToInt32(val1);
             */
            //var t1 = campaign.ServiceChargePercent;
            //var t2 = campaign.ServiceVATPercent;
            //var amount = campaignAccount.AccountChargeAmount;

            ////tien sau VAT
            //var val1 = (amount * 100) / (100 + t2);

            //var val2 = (val1 * (100 - t1)) / 100;
            //return Convert.ToInt32(val2);
        }
コード例 #4
0
        public static int GetAgencyChagreAmount(this Campaign campaign, CampaignAccount campaignAccount)
        {
            var _ServiceChargePercent = campaign.ServiceChargePercent; //phí dịch vụ chiến dịch

            //tiền gốc
            var _AccountChargeAmount = campaignAccount.AccountChargeAmount;

            //tiền có có dịch vụ
            var _amountServiceCharge = (_AccountChargeAmount * (100 + _ServiceChargePercent)) / 100;

            var _VATPercent = campaign.ServiceVATPercent ?? 0; //phần trăm VAT

            //tiền dịch vụ có VAT
            var _amountVAT = (_amountServiceCharge * (100 + _VATPercent)) / 100;

            return(Convert.ToInt32(_amountVAT)); //total amount include (percentage servicecharge and vatcharge)

            //var t1 = campaign.ServiceChargePercent;
            //var t2 = campaign.ServiceVATPercent ?? 0;
            //var amount = campaignAccount.AccountChargeAmount;

            ////tien sau VAT
            //var val1 = (amount * 100) / (100 + t2);

            //var val2 = (val1 * (100 - t1)) / 100;
            //return Convert.ToInt32(val2);
        }
コード例 #5
0
        public CampaignAccountViewModel(CampaignAccount campaignAccount)
        {
            Id                  = campaignAccount.Id;
            Account             = new AccountViewModel(campaignAccount.Account, null);
            Status              = campaignAccount.Status;
            DateCreated         = campaignAccount.DateCreated;
            Type                = campaignAccount.Type;
            AccountChargeAmount = campaignAccount.AccountChargeAmount;

            DateModified = campaignAccount.DateModified;
            AccountId    = campaignAccount.AccountId;
            CampaignId   = campaignAccount.CampaignId;


            RefUrl     = campaignAccount.RefUrl;
            RefId      = campaignAccount.RefId;
            RefContent = campaignAccount.RefContent;
            RefData    = campaignAccount.RefDataObj;
            RefImage   = campaignAccount.RefImage.ToListString();

            DateFinished = campaignAccount.DateFinished;
            Rating       = campaignAccount.Rating;
            ReportStatus = campaignAccount.ReportStatus;
            ReportNote   = campaignAccount.ReportNote;
            ReportImages = campaignAccount.ReportImages.ToListString();
            KPICommitted = campaignAccount.KPICommitted;

            ReviewAddress = campaignAccount.ReviewAddress;

            MerchantPaidToSystem = campaignAccount.MerchantPaidToSystem;

            IsApprovedContent = campaignAccount.IsApprovedContent;
        }
コード例 #6
0
 public CampaignAccountByAccountViewModel(CampaignAccount campaignAccount, Campaign campaign) : base(campaignAccount)
 {
     AccountChargeAmount = campaign.GetAccountChagreAmount(campaignAccount);
 }
コード例 #7
0
 public CampaignWithAccountViewModel(Campaign campaign, CampaignAccount campaignAccount) : base(campaign)
 {
     CampaignAccount = new CampaignAccountViewModel(campaignAccount);
 }
コード例 #8
0
        public async Task <bool> FeedbackJoinCampaignByAccount(int accountid, int campaignid, string username, bool confirmed)
        {
            var campaign = await _campaignRepository.GetByIdAsync(campaignid);

            if (campaign != null)
            {
                var campaignAccount = await _campaignAccountRepository.GetSingleBySpecAsync(new CampaignAccountByAccountSpecification(accountid, campaignid));

                if (campaignAccount != null)
                {
                    if (campaignAccount.Status == CampaignAccountStatus.AgencyRequest)
                    {
                        campaignAccount.Status       = confirmed ? CampaignAccountStatus.Confirmed : CampaignAccountStatus.Canceled;
                        campaignAccount.DateModified = DateTime.Now;
                        campaignAccount.UserModified = username;
                        await _campaignAccountRepository.UpdateAsync(campaignAccount);

                        var notifType = confirmed ? NotificationType.AccountConfirmJoinCampaign : NotificationType.AccountDeclineJoinCampaign;
                        await _notificationRepository.AddAsync(new Notification()
                        {
                            Type        = notifType,
                            DataId      = campaign.Id,
                            Data        = string.Empty,
                            DateCreated = DateTime.Now,
                            EntityType  = EntityType.Agency,
                            EntityId    = campaign.AgencyId,
                            Message     = notifType.GetMessageText(username, campaign.Id.ToString()),
                            Status      = NotificationStatus.Created
                        });

                        /*  --> Cập nhật campaign thành start luon de cho Fb duyet */
                        if (confirmed)
                        {
                            campaign.Status = CampaignStatus.Started;
                            await _campaignRepository.UpdateAsync(campaign);
                        }
                        return(true);
                    }
                }
                else
                {
                    //tu them khi chua co @@

                    campaignAccount = new CampaignAccount()
                    {
                        CampaignId          = campaign.Id,
                        DateCreated         = DateTime.Now,
                        DateModified        = DateTime.Now,
                        AccountChargeAmount = 100000,
                        Note         = string.Empty,
                        AccountId    = accountid,
                        UserModified = username,
                        UserCreated  = username,
                        Type         = campaign.Type,
                        Status       = CampaignAccountStatus.Confirmed
                    };
                    await _campaignAccountRepository.AddAsync(campaignAccount);


                    /*  --> Cập nhật campaign thành start luon de cho Fb duyet */
                    campaign.Status = CampaignStatus.Started;
                    await _campaignRepository.UpdateAsync(campaign);
                }
            }

            return(false);
        }