Exemplo n.º 1
0
        public bool CreateRewardTrans(long inviteLogId, string ownOpenId, AmountTransType TransType, out EUserAccount UserAccount, bool needSave = true)
        {
            int c = _dbContext.DBInviteRewardTrans.Where(a => a.InviteLogId == inviteLogId && a.TransType == TransType).Count();

            UserAccount = null;
            if (c == 0)
            {
                var reward = new EInviteRewardTrans()
                {
                    Amount        = GlobalSrv.GetRewardAmount(TransType),
                    Direction     = AmountTransDirection.In,
                    InviteLogId   = inviteLogId,
                    TransDateTime = DateTime.Now,
                    TransType     = TransType,
                    UserOpenId    = ownOpenId,
                    TransStatus   = AmountTransStatus.Created
                };
                _dbContext.DBInviteRewardTrans.Add(reward);
                UserAccount = _dbContext.DBUserAccount.Where(a => a.UserOpenId == ownOpenId).FirstOrDefault();
                if (UserAccount != null)
                {
                    UserAccount.InviteRewards += reward.Amount;
                    UserAccount.RemainRewards += reward.Amount;
                }

                var inviteLog = _dbContext.DBInviteLog.Where(a => a.Id == inviteLogId).FirstOrDefault();
                if (inviteLog != null)
                {
                    if (TransType == AmountTransType.Invited_TrialReward)
                    {
                        inviteLog.InviteStatus = InviteStatus.ApplyTrial;
                    }
                    else if (TransType == AmountTransType.Invited_Paied)
                    {
                        inviteLog.InviteStatus = InviteStatus.Paied;
                    }
                }

                if (needSave)
                {
                    _dbContext.SaveChanges();
                }
                return(true);
            }
            return(false);
        }
        public void OnGet()
        {
            var vs = GetUserSession();

            if (vs != null)
            {
                var Id = Request.Query["Id"];
                if (!string.IsNullOrEmpty("Id"))
                {
                    InviteLog = _SalesSrv.GetInviteLogById(Convert.ToInt64(Id));
                    _SalesSrv.GetRewardTransByInvitedId(InviteLog.Id);
                    RewardTrans = _SalesSrv.GetRewardTransByInvitedId(InviteLog.Id);
                    TrialReward = RewardTrans.Where(a => a.TransType == AmountTransType.Invited_TrialReward).FirstOrDefault();
                    PaidReward  = RewardTrans.Where(a => a.TransType == AmountTransType.Invited_Paied).FirstOrDefault();
                }
            }
        }
Exemplo n.º 3
0
        public void CreateTransfer(double amount, string userOpenId, string transferId, bool needSave = true)
        {
            var transfer = new EInviteRewardTrans()
            {
                Amount        = amount,
                Direction     = AmountTransDirection.Out,
                InviteLogId   = -1,
                TransDateTime = DateTime.Now,
                TransType     = AmountTransType.TransferToUser,
                TransStatus   = AmountTransStatus.Settled,
                UserOpenId    = userOpenId,
                TransferId    = transferId
            };

            _dbContext.DBInviteRewardTrans.Add(transfer);
            if (needSave)
            {
                _dbContext.SaveChanges();
            }
        }