Пример #1
0
 public bool IsAdmin(string userName)
 {
     using (var db = new RacingDbContext())
     {
         return(db.UserRole.Where(r => r.User.UserName == userName && r.RoleId == RoleConst.Role_Id_Admin).Any());
     }
 }
Пример #2
0
 public List <PK> GetNotBonusPKs()
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => !pk.IsBonused && pk.Ranks != null).ToList());
     }
 }
Пример #3
0
 public List <PKRate> GetPKRates(int pkId)
 {
     using (var db = new RacingDbContext())
     {
         return(db.PKRate.Where(r => r.PKId == pkId).ToList());
     }
 }
Пример #4
0
 public List <PK> GetPKs(List <int> pkIds)
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => pkIds.Contains(pk.PKId)).ToList());
     }
 }
Пример #5
0
 public PK GetPK(int pkId)
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => pk.PKId == pkId).FirstOrDefault());
     }
 }
 public override bool IsInRole(string userName, params int[] roleIds)
 {
     using (var context = new RacingDbContext())
     {
         return(context.User.Any(u => u.UserName == userName && u.UserRoles.Any(ur => roleIds.Contains(ur.RoleId))));
     }
 }
Пример #7
0
 /// <summary>
 /// 判断是否处于封盘期
 /// </summary>
 public bool IsClosed(PK pk)
 {
     using (var db = new RacingDbContext())
     {
         return(pk.BeginTime.AddSeconds(pk.OpeningSeconds) <= DateTime.Now && DateTime.Now <= pk.BeginTime.AddSeconds(pk.OpeningSeconds + pk.CloseSeconds));
     }
 }
Пример #8
0
 public User GetUserOnly(int userId)
 {
     using (var db = new RacingDbContext())
     {
         return(db.User.Where(u => u.UserId == userId).FirstOrDefault());
     }
 }
Пример #9
0
 public User GetUserByUserName(string userName)
 {
     using (var db = new RacingDbContext())
     {
         return(db.User.Where(u => u.UserName == userName).FirstOrDefault());
     }
 }
Пример #10
0
 public Post GetPostById(int postId)
 {
     using (var db = new RacingDbContext())
     {
         return(db.Post.Where(p => p.PostId == postId).FirstOrDefault());
     }
 }
Пример #11
0
 public bool IsAdmin(int userId)
 {
     using (var db = new RacingDbContext())
     {
         return(db.UserRole.Where(ur => ur.UserId == userId && ur.RoleId == RoleConst.Role_Id_Admin).Any());
     }
 }
Пример #12
0
 /// <summary>
 /// 取投注, 计算奖金使用
 /// </summary>
 public List <Bet> GetBets(int pkId, int rank, int num)
 {
     using (var db = new RacingDbContext())
     {
         return(db.Bet.Where(b => b.PKId == pkId && b.Rank == rank && b.Num == num).ToList());
     }
 }
Пример #13
0
 public AppConfig GetAppConfig(string name)
 {
     using (var db = new RacingDbContext())
     {
         return(db.AppConfig.Where(a => a.Name == name).FirstOrDefault());
     }
 }
Пример #14
0
 public List <AppConfig> GetAll()
 {
     using (var db = new RacingDbContext())
     {
         return(db.AppConfig.ToList());
     }
 }
Пример #15
0
 public override bool Exsits(string username)
 {
     using (var context = new RacingDbContext())
     {
         return(context.User.Count(u => u.UserName == username) > 0);
     }
 }
Пример #16
0
 public bool ExistUserName(string userName)
 {
     using (var db = new RacingDbContext())
     {
         return(db.User.Where(u => u.UserName == userName).Any());
     }
 }
Пример #17
0
        /// <returns>
        ///  0: valid
        /// -1: user doesn't exist
        /// </returns>
        public override int LockUser(int userId, bool locked)
        {
            using (var context = new RacingDbContext())
            {
                var user = context.User.FirstOrDefault(u => u.UserId == userId);

                if (user == null)
                {
                    return(-1);
                }

                user.IsLocked = locked;
                if (locked)
                {
                    user.LockedDate = DateTime.Now;
                }
                else
                {
                    user.LockedDate = null;
                }

                context.SaveChanges();
            }

            return(0);
        }
Пример #18
0
        /// <summary>
        /// 更新父User.UserExtension的AgentCount/MemberCount
        /// </summary>
        /// <param name="user">当前用户</param>
        /// <param name="roleId">当前用户的角色Id</param>
        /// <param name="userOperation">操作: 增/删/改</param>
        public void UpdateParentUserExtension(User user, int roleId, UserOperation userOperation)
        {
            using (var db = new RacingDbContext())
            {
                var parentUserExtension = db.UserExtension
                                          .Include(nameof(UserExtension.User))
                                          .Where(u => u.UserId == user.ParentUserId).FirstOrDefault();

                if (parentUserExtension != null)
                {
                    switch (userOperation)
                    {
                    case UserOperation.Add:     //新增用户
                        switch (roleId)
                        {
                        case RoleConst.Role_Id_General_Agent:           //新增用户是总代理
                            parentUserExtension.AgentCount = parentUserExtension.AgentCount + 1;
                            break;

                        case RoleConst.Role_Id_Agent:           //新增用户是代理
                            parentUserExtension.AgentCount = parentUserExtension.AgentCount + 1;
                            break;

                        case RoleConst.Role_Id_Member:           //新增用户是会员
                                                                 //更新代理
                            parentUserExtension.MemberCount = parentUserExtension.MemberCount + 1;
                            //更新总代理
                            UpdateParentUserExtension(parentUserExtension.User, RoleConst.Role_Id_Member, UserOperation.Add);
                            break;
                        }
                        break;

                    case UserOperation.Edit:     //修改用户
                        break;

                    case UserOperation.Delete:     //删除用户
                        switch (roleId)
                        {
                        case RoleConst.Role_Id_General_Agent:           //删除用户是总代理
                            parentUserExtension.AgentCount = parentUserExtension.AgentCount - 1;
                            break;

                        case RoleConst.Role_Id_Agent:           //删除用户是代理
                            parentUserExtension.AgentCount  = parentUserExtension.AgentCount - 1;
                            parentUserExtension.MemberCount = parentUserExtension.MemberCount - user.UserExtension.MemberCount;
                            break;

                        case RoleConst.Role_Id_Member:           //删除用户是会员
                            parentUserExtension.MemberCount = parentUserExtension.MemberCount - 1;
                            //更新总代理
                            UpdateParentUserExtension(parentUserExtension.User, RoleConst.Role_Id_Member, UserOperation.Delete);
                            break;
                        }
                        break;
                    }

                    db.SaveChanges();
                }
            }
        }
Пример #19
0
 public bool ExistPK(DateTime dt)
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => pk.BeginTime <= dt && dt <= pk.EndTime).Any());
     }
 }
Пример #20
0
        /// <summary>
        /// 更新用户扩展 UserExtension
        /// </summary>
        /// <param name="user"></param>
        /// <param name="roleId"></param>
        public void UpdateUserExtension(User user, int roleId)
        {
            using (var db = new RacingDbContext())
            {
                var userExtension = db.UserExtension.Where(u => u.UserId == user.UserId).FirstOrDefault();
                if (userExtension != null)
                {
                    switch (roleId)
                    {
                    case RoleConst.Role_Id_General_Agent:
                        userExtension.GeneralAgentUserId = user.UserId;
                        userExtension.AgentUserId        = user.UserId;
                        break;

                    case RoleConst.Role_Id_Agent:
                        userExtension.GeneralAgentUserId = user.ParentUserId;
                        userExtension.AgentUserId        = user.UserId;
                        break;

                    case RoleConst.Role_Id_Member:
                        userExtension.AgentUserId = user.ParentUserId;
                        if (user.ParentUserId.HasValue)
                        {
                            userExtension.GeneralAgentUserId = db.User.Where(agent => agent.UserId == user.ParentUserId).Select(u => u.ParentUserId).First();
                        }
                        break;
                    }
                    db.SaveChanges();
                }
            }
        }
Пример #21
0
 /// <summary>
 /// 取最后一个PK
 /// </summary>
 /// <returns></returns>
 public PK GetLastPK()
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.OrderByDescending(pk => pk.PKId).FirstOrDefault());
     }
 }
Пример #22
0
        /// <summary>
        /// 添加代理/会员时取父亲节点
        /// </summary>
        /// <param name="roleId">角色类型</param>
        public List <User> GetParentUsers(int roleId)
        {
            using (var db = new RacingDbContext())
            {
                var parentRoleId = 0;
                switch (roleId)
                {
                case RoleConst.Role_Id_General_Agent:       //总代理
                    parentRoleId = RoleConst.Role_Id_Admin;
                    break;

                case RoleConst.Role_Id_Agent:       //删除用户是代理
                    parentRoleId = RoleConst.Role_Id_General_Agent;
                    break;

                case RoleConst.Role_Id_Member:       //删除用户是会员
                    parentRoleId = RoleConst.Role_Id_Agent;
                    break;
                }

                return(parentRoleId > 0
                    ? db.User.Where(u => u.Enabled && u.UserRoles.Where(ur => ur.RoleId == parentRoleId).Any()).ToList()
                    : new List <User>());
            }
        }
Пример #23
0
 public List <PK> GetRanksNotSyncedPKs()
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => !pk.IsRanksSynced && pk.Ranks != null).ToList());
     }
 }
Пример #24
0
        /// <summary>
        /// 用户资金信息
        /// </summary>
        /// <param name="userId">userId</param>
        public UserCreditModel GetUserCredit(int userId)
        {
            using (var db = new RacingDbContext())
            {
                var model = new UserCreditModel();

                // 今日消费
                model.TodayBetAmount = db.Bet.Where(b => b.UserId == userId && DbFunctions.DiffDays(b.PK.EndTime, DateTime.Now) == 0)
                                       .Select(b => b.Amount).DefaultIfEmpty(0m).Sum();

                // 未开奖消费
                model.NotBonusAmount = db.Bet.Where(b => b.UserId == userId && b.PK.EndTime > DateTime.Now)
                                       .Select(b => b.Amount).DefaultIfEmpty(0m).Sum();

                // 今日返点
                model.TodayRebateAmount = db.PKBonus.Where(b => b.UserId == userId && DbFunctions.DiffDays(b.PK.EndTime, DateTime.Now) == 0 && b.BonusType == BonusType.Rebate)
                                          .Select(b => b.Amount).DefaultIfEmpty(0m).Sum();

                // 今日利润
                model.TodayProfitAmount = db.PKBonus.Where(b => b.UserId == userId && DbFunctions.DiffDays(b.PK.EndTime, DateTime.Now) == 0 && b.BonusType == BonusType.Bonus)
                                          .Select(b => b.Amount).DefaultIfEmpty(0m).Sum();

                // 今日盈亏
                model.TodayProfitAndLossAmount = model.TodayRebateAmount + model.TodayProfitAmount - model.TodayBetAmount;

                // 退水+限额
                //model.User = new UserService().GetUser(userId);
                model.UserRebates = new UserRebateService().GetUserRebates(userId);

                return(model);
            }
        }
Пример #25
0
 public List <PK> GetNotCalculatePKs()
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => pk.Ranks == null).ToList());
     }
 }
Пример #26
0
 public int?GetParentUserId(int userId)
 {
     using (var db = new RacingDbContext())
     {
         return(db.User.Where(u => u.UserId == userId).Select(u => u.ParentUserId).FirstOrDefault());
     }
 }
Пример #27
0
 /// <summary>
 /// 未退水且比赛结束
 /// </summary>
 /// <returns></returns>
 public List <PK> GetNotRebatePKs()
 {
     using (var db = new RacingDbContext())
     {
         return(db.PK.Where(pk => !pk.IsRebated && DbFunctions.DiffSeconds(DateTime.Now, pk.EndTime) <= AppConfigCache.Racing_Lottery_Seconds).ToList());
     }
 }
Пример #28
0
 public List <int> GetParentUserIds(List <int> userIds)
 {
     using (var db = new RacingDbContext())
     {
         return(db.User.Where(u => u.ParentUserId.HasValue && userIds.Contains(u.UserId)).Select(u => u.ParentUserId.Value).ToList());
     }
 }
Пример #29
0
 public List <PKRate> GetPKRates(List <int> pkIds)
 {
     using (var db = new RacingDbContext())
     {
         return(db.PKRate.Where(r => pkIds.Contains(r.PKId)).ToList());
     }
 }
Пример #30
0
 public List <UserRole> GetUserRoles(string userName)
 {
     using (var db = new RacingDbContext())
     {
         return(db.UserRole.Where(r => r.User.UserName == userName).ToList());
     }
 }