using System;
using System.Collections.Generic;
using System.Linq;
using MySystem.PxcModels;
namespace MySystem
{
public class Utils
{
public readonly static Utils Instance = new Utils();
private Utils()
{ }
///
/// 操作收支明细
///
///
///
///
public void OpAccount(int UserId, decimal Money, int ChangeType, bool IsTotal = true)
{
WebCMSEntities db = new WebCMSEntities();
UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
if (account == null)
{
account = db.UserAccount.Add(new UserAccount()
{
Id = UserId,
UserId = UserId,
}).Entity;
db.SaveChanges();
}
decimal BeforeTotalAmount = account.TotalAmount; //变更前总金额
decimal BeforeFreezeAmount = account.FreezeAmount; //变更前冻结金额
decimal BeforeBalanceAmount = account.BalanceAmount; //变更前余额
account.BalanceAmount += Money;
if(IsTotal)
{
account.TotalAmount += Money;
}
decimal AfterTotalAmount = account.TotalAmount; //变更后总金额
decimal AfterFreezeAmount = account.FreezeAmount; //变更后冻结金额
decimal AfterBalanceAmount = account.BalanceAmount; //变更后余额
UserAccountRecord userAccountRecord = db.UserAccountRecord.Add(new UserAccountRecord()
{
CreateDate = DateTime.Now,
UpdateDate = DateTime.Now,
UserId = UserId, //创客
ChangeType = ChangeType, //变动类型
ChangeAmount = Money, //变更金额
BeforeTotalAmount = BeforeTotalAmount, //变更前总金额
AfterTotalAmount = AfterTotalAmount, //变更后总金额
BeforeFreezeAmount = BeforeFreezeAmount, //变更前冻结金额
AfterFreezeAmount = AfterFreezeAmount, //变更后冻结金额
BeforeBalanceAmount = BeforeBalanceAmount, //变更前余额
AfterBalanceAmount = AfterBalanceAmount, //变更后余额
}).Entity;
db.SaveChanges();
db.Dispose();
}
public void ToChargeAmount(int UserId, decimal Money)
{
WebCMSEntities db = new WebCMSEntities();
UserAccount account = db.UserAccount.FirstOrDefault(m => m.Id == UserId);
if (account == null)
{
account = db.UserAccount.Add(new UserAccount()
{
Id = UserId,
UserId = UserId,
}).Entity;
db.SaveChanges();
}
account.ToChargeAmount += Money;
db.SaveChanges();
db.Dispose();
}
///
/// 判断是否达标创客
///
///
///
public bool IsStandardUser(int UserId)
{
WebCMSEntities db = new WebCMSEntities();
int ActiveCount = db.PosMachinesTwo.Count(m => m.BuyUserId == UserId && m.ActivationState == 1); //判断是否拥有3台激活机(不限购买或赠送)
int couponCount = db.PosCoupons.Count(m => m.UserId == UserId && m.IsUse == 0); //判断是否拥有3张券
// TODO:待确认条件
db.Dispose();
if(ActiveCount + couponCount >= 3)
{
return true;
}
return false;
}
///
/// 预设职级
///
///
///
public void LeaderPreUserLevel(int UserId, int UserLevel, DateTime ExpiredDate)
{
WebCMSEntities db = new WebCMSEntities();
UserRankWhite rank = db.UserRankWhite.FirstOrDefault(m => m.Id == UserId);
if(rank == null)
{
rank = db.UserRankWhite.Add(new UserRankWhite()
{
CreateDate = DateTime.Now, //设置时间
UserId = UserId, //用户
Id = UserId,
}).Entity;
db.SaveChanges();
}
rank.Rank = UserLevel;
rank.UpdateDate = ExpiredDate;
db.SaveChanges();
db.Dispose();
}
}
}