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(); } } }
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(); } }