/// <summary> /// 获取系统设置 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回系统设置</returns> public NormalResult<SettingExport> GetSetting(IModelToDbContextOfAuthor db) { SettingOfBase settingOfBase = new SettingOfBase(db); SettingOfAuthor settingOfAuthor = new SettingOfAuthor(db); SettingOfLottery settingOfLottery = new SettingOfLottery(db); var s = new SettingExport(settingOfBase, settingOfAuthor, settingOfLottery); return new NormalResult<SettingExport>(s); }
/// <summary> /// 获取自己的用户信息 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回自己的用户信息</returns> public NormalResult<AuthorExport> GetSelf(IModelToDbContextOfAuthor db) { SettingOfAuthor settingOfAuthor = new SettingOfAuthor(db); UserGroup group = db.UserGroups.FirstOrDefault(g => g.LowerOfConsumption <= this.Self.Consumption && g.CapsOfConsumption > this.Self.Consumption); SystemQuota systemQuota = db.SystemQuotas.FirstOrDefault(s => s.Rebate == this.Self.PlayInfo.Rebate_Normal); if (systemQuota == null) { systemQuota = new SystemQuota(this.Self.PlayInfo.Rebate_Normal, new List<SystemQuotaDetail>()); for (double i = settingOfAuthor.LowerRebateOfHigh; i <= settingOfAuthor.CapsRebateOfHigh; i += 0.1) { SystemQuotaDetail sqd = new SystemQuotaDetail(i, 0); systemQuota.Details.Add(sqd); } } AuthorExport authorExport = new AuthorExport(this.Self, group, systemQuota.Details); return new NormalResult<AuthorExport>(authorExport); }
/// <summary> /// 获取用户信息列表 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回用户信息列表</returns> public PageResult<BasicAuthorExport> GetUsers(IModelToDbContextOfAuthor db) { if (this.PageIndex < 1) { this.PageIndex = 1; } SettingOfBase settingOfBase = new SettingOfBase(db); SettingOfAuthor settingOfAuthor = new SettingOfAuthor(db); int startRow = settingOfBase.PageSizeForClient * (this.PageIndex - 1); Expression<Func<Author, bool>> predicate1 = x => x.Id > 0; Expression<Func<Author, bool>> predicate2 = x => x.Id > 0; Expression<Func<Author, bool>> predicate3 = x => x.Relatives.Any(r => r.NodeId == this.Self.Id); if (this.KeywordForUsername != null) { this.KeywordForUsername = VerifyHelper.EliminateSpaces(this.KeywordForUsername); string[] keywords = this.KeywordForUsername.Split(new char[] { ' ' }); predicate1 = x => keywords.All(kw => x.Username.Contains(kw)); } if (this.OnlyImmediate == true) { predicate2 = x => x.Layer == this.Self.Layer + 1; } int countOfAllMessages = db.Authors .Where(predicate1) .Where(predicate2) .Where(predicate3) .Count(); var tList = db.Authors .Where(predicate1) .Where(predicate2) .Where(predicate3) .OrderByDescending(x => x.Layer) .Skip(startRow) .Take(settingOfBase.PageSizeForClient) .ToList() .ConvertAll(x => { UserGroup group = db.UserGroups.FirstOrDefault(g => g.LowerOfConsumption <= x.Consumption && g.CapsOfConsumption > x.Consumption); return new BasicAuthorExport(x, group); }); return new PageResult<BasicAuthorExport>(this.PageIndex, countOfAllMessages, settingOfBase.PageSizeForClient, tList); }
/// <summary> /// 设置 /// </summary> /// <param name="settingOfBase">基本设置</param> /// <param name="settingOfAuthor">用户设置</param> /// <param name="settingOfLottery">彩票设置</param> public SettingExport(SettingOfBase settingOfBase, SettingOfAuthor settingOfAuthor, SettingOfLottery settingOfLottery) { this.PageSizeForClient = settingOfBase.PageSizeForClient; this.PageSizeForAdmin = settingOfBase.PageSizeForAdmin; this.HeartbeatInterval = settingOfBase.HeartbeatInterval; this.WorkingHour_Begin = settingOfBase.WorkingHour_Begin; this.WorkingHour_End = settingOfBase.WorkingHour_End; this.VirtualQueuing = settingOfBase.VirtualQueuing; this.CollectionRunning = settingOfBase.CollectionRunning; this.LowerRebate = settingOfAuthor.LowerRebate; this.CapsRebate = settingOfAuthor.CapsRebate; this.LowerRebateOfHigh = settingOfAuthor.LowerRebateOfHigh; this.CapsRebateOfHigh = settingOfAuthor.CapsRebateOfHigh; this.RechargeRecordTimeout = settingOfAuthor.RechargeRecordTimeout; this.SpreadRecordTimeout = settingOfAuthor.SpreadRecordTimeout; this.ForgotPasswordRecordTimeout = settingOfAuthor.ForgotPasswordRecordTimeout; this.DaysOfDividend = settingOfAuthor.DaysOfDividend; this.TimesOfWithdrawal = settingOfAuthor.TimesOfWithdrawal; this.MinimumWithdrawalAmount = settingOfAuthor.MinimumWithdrawalAmount; this.MaximumWithdrawalAmount = settingOfAuthor.MaximumWithdrawalAmount; this.Commission_A = settingOfAuthor.Commission_A; this.Commission_B = settingOfAuthor.Commission_B; this.LowerConsumptionForCommission = settingOfAuthor.LowerConsumptionForCommission; this.Dividend_A = settingOfAuthor.Dividend_A; this.Dividend_B = settingOfAuthor.Dividend_B; this.LowerConsumptionForDividend = settingOfAuthor.LowerConsumptionForDividend; this.ClearUser_DaysOfInactive = settingOfAuthor.ClearUser_DaysOfInactive; this.ClearUser_DaysOfUnSetIn = settingOfAuthor.ClearUser_DaysOfUnSetIn; this.ClearUser_LowerOfMoney = settingOfAuthor.ClearUser_LowerOfMoney; this.ClearUser_DaysOfUnMoneyChange = settingOfAuthor.ClearUser_DaysOfUnMoneyChange; this.UnitPrice = settingOfLottery.UnitPrice; this.PayoutBase = settingOfLottery.PayoutBase; this.LineForProhibitBetting = settingOfLottery.LineForProhibitBetting; this.MaximumPayout = settingOfLottery.MaximumPayout; this.ConversionRates = settingOfLottery.ConversionRates; this.MaximumBetsNumber = settingOfLottery.MaximumBetsNumber; this.ClosureSingleTime = settingOfLottery.ClosureSingleTime; }
/// <summary> /// 实例化一个新的用户相关的系统设置 /// </summary> /// <param name="model">用户相关的系统设置的数据模型</param> public SettingOfAuthorExport(SettingOfAuthor model) { this.LowerRebate = model.LowerRebate; this.CapsRebate = model.CapsRebate; this.LowerRebateOfHigh = model.LowerRebateOfHigh; this.CapsRebateOfHigh = model.CapsRebateOfHigh; this.RechargeRecordTimeout = model.RechargeRecordTimeout; this.SpreadRecordTimeout = model.SpreadRecordTimeout; this.ForgotPasswordRecordTimeout = model.ForgotPasswordRecordTimeout; this.DaysOfDividend = model.DaysOfDividend; this.TimesOfWithdrawal = model.TimesOfWithdrawal; this.MinimumWithdrawalAmount = model.MinimumWithdrawalAmount; this.MaximumWithdrawalAmount = model.MaximumWithdrawalAmount; this.Commission_A = model.Commission_A; this.Commission_B = model.Commission_B; this.LowerConsumptionForCommission = model.LowerConsumptionForCommission; this.Dividend_A = model.Dividend_A; this.Dividend_B = model.Dividend_B; this.LowerConsumptionForDividend = model.LowerConsumptionForDividend; this.ClearUser_DaysOfInactive = model.ClearUser_DaysOfInactive; this.ClearUser_DaysOfUnSetIn = model.ClearUser_DaysOfUnSetIn; this.ClearUser_LowerOfMoney = model.ClearUser_LowerOfMoney; this.ClearUser_DaysOfUnMoneyChange = model.ClearUser_DaysOfUnMoneyChange; }
/// <summary> /// 获取用户模块的系统设置 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回用户模块的系统设置</returns> public NormalResult<SettingOfAuthorExport> GetSettingOfAuthor(IModelToDbContextOfBase db) { SettingOfAuthor settingOfAuthor = new SettingOfAuthor(db); SettingOfAuthorExport info = new SettingOfAuthorExport(settingOfAuthor); return new NormalResult<SettingOfAuthorExport>(info); }
/// <summary> /// 设置并保存 /// </summary> /// <param name="db">数据库连接对象</param> public void SetAndSave(IModelToDbContextOfAuthor db) { SettingOfAuthor settingOfAuthor = new SettingOfAuthor(db); settingOfAuthor.LowerRebate = this.LowerRebate; settingOfAuthor.CapsRebate = this.CapsRebate; settingOfAuthor.LowerRebateOfHigh = this.LowerRebateOfHigh; settingOfAuthor.CapsRebateOfHigh = this.CapsRebateOfHigh; settingOfAuthor.RechargeRecordTimeout = this.RechargeRecordTimeout; settingOfAuthor.SpreadRecordTimeout = this.SpreadRecordTimeout; settingOfAuthor.ForgotPasswordRecordTimeout = this.ForgotPasswordRecordTimeout; settingOfAuthor.DaysOfDividend = this.DaysOfDividend; settingOfAuthor.TimesOfWithdrawal = this.TimesOfWithdrawal; settingOfAuthor.MinimumWithdrawalAmount = this.MinimumWithdrawalAmount; settingOfAuthor.MaximumWithdrawalAmount = this.MaximumWithdrawalAmount; settingOfAuthor.Commission_A = this.Commission_A; settingOfAuthor.Commission_B = this.Commission_B; settingOfAuthor.LowerConsumptionForCommission = this.LowerConsumptionForCommission; settingOfAuthor.Dividend_A = this.Dividend_A; settingOfAuthor.Dividend_B = this.Dividend_B; settingOfAuthor.LowerConsumptionForDividend = this.LowerConsumptionForDividend; settingOfAuthor.ClearUser_DaysOfInactive = this.ClearUser_DaysOfInactive; settingOfAuthor.ClearUser_DaysOfUnSetIn = this.ClearUser_DaysOfUnSetIn; settingOfAuthor.ClearUser_LowerOfMoney = this.ClearUser_LowerOfMoney; settingOfAuthor.ClearUser_DaysOfUnMoneyChange = this.ClearUser_DaysOfUnMoneyChange; settingOfAuthor.Save(db); }
/// <summary> /// 获取用户信息列表 /// </summary> /// <param name="db">数据库连接对象</param> /// <returns>返回用户信息列表</returns> public PageResult<AuthorExport> GetUsers(IModelToDbContextOfAuthor db) { if (this.PageIndex < 1) { this.PageIndex = 1; } SettingOfBase settingOfBase = new SettingOfBase(db); SettingOfAuthor settingOfAuthor = new SettingOfAuthor(db); int startRow = settingOfBase.PageSizeForAdmin * (this.PageIndex - 1); Expression<Func<Author, bool>> predicate1 = x => x.Id > 0; Expression<Func<Author, bool>> predicate2 = x => x.Id > 0; Expression<Func<Author, bool>> predicate3 = x => x.Id > 0; if (this.KeywordForUsername != null) { this.KeywordForUsername = VerifyHelper.EliminateSpaces(this.KeywordForUsername); string[] keywords = this.KeywordForUsername.Split(new char[] { ' ' }); predicate1 = x => keywords.All(kw => x.Username.Contains(kw)); } if (this.GroupId != null) { int groupId = (int)this.GroupId; UserGroup group = db.UserGroups.Find(groupId); predicate2 = x => x.Consumption >= group.LowerOfConsumption && x.Consumption < group.CapsOfConsumption; } if (this.BelongingUserId != null) { int belongingUserId = (int)this.BelongingUserId; predicate3 = x => x.Relatives.Any(r => r.NodeId == belongingUserId); } int countOfAllMessages = db.Authors .Where(predicate1) .Where(predicate2) .Where(predicate3) .Count(); var tList = db.Authors .Where(predicate1) .Where(predicate2) .Where(predicate3) .OrderBy(x => x.Username) .Skip(startRow) .Take(settingOfBase.PageSizeForAdmin) .ToList() .ConvertAll(x => { UserGroup group = db.UserGroups.FirstOrDefault(g => g.LowerOfConsumption <= x.Consumption && g.CapsOfConsumption > x.Consumption); SystemQuota systemQuota = db.SystemQuotas.FirstOrDefault(s => s.Rebate == x.PlayInfo.Rebate_Normal); var t = db.SystemQuotas.ToList(); if (systemQuota == null) { systemQuota = new SystemQuota(x.PlayInfo.Rebate_Normal, new List<SystemQuotaDetail>()); for (double i = settingOfAuthor.LowerRebateOfHigh; i <= settingOfAuthor.CapsRebateOfHigh; i += 0.1) { SystemQuotaDetail sqd = new SystemQuotaDetail(i, 0); systemQuota.Details.Add(sqd); } } Author parent = db.Authors.FirstOrDefault(p => x.Relatives.Any(r => r.NodeId == p.Id) && p.Layer == x.Layer - 1); return new AuthorExport(x, parent, group, systemQuota.Details); }); return new PageResult<AuthorExport>(this.PageIndex, countOfAllMessages, settingOfBase.PageSizeForAdmin, tList); }