Example #1
0
        /// <summary>
        /// 业务逻辑处理
        /// </summary>
        /// <returns>false:中断后面的方式执行并返回Error</returns>
        public override bool TakeAction()
        {
            receipt = new JPRequestRankData();


            UserRank rankInfo = UserHelper.FindRankUser(Current.UserId, RankType.FightValue);

            if (rankInfo != null)
            {
                receipt.SelfRank = rankInfo.RankId;
            }

            int pagecout;
            var ranking = RankingFactory.Get <UserRank>(FightValueRanking.RankingKey);
            var list    = ranking.GetRange(0, 50, out pagecout);

            foreach (var data in list)
            {
                JPRankUserData jpdata = new JPRankUserData()
                {
                    UserID     = data.UserID,
                    NickName   = data.NickName,
                    Profession = data.Profession,
                    AvatarUrl  = data.AvatarUrl,
                    RankId     = data.RankId,
                    UserLv     = data.UserLv,
                    FightValue = data.FightValue,
                    VipLv      = data.VipLv
                };
                receipt.List.Add(jpdata);
            }
            return(true);
        }
Example #2
0
        public void SetUserRanking(int TournamentID)
        {
            var usrpredict = from x in _userPrediction
                             where x.TournamentID == TournamentID
                             group x by new { x.PUserID } into g
                select new
            {
                UserID = g.Key.PUserID,
                Point  = g.Sum(x => x.Point)
            };
            //var z = ;
            //List<UserRank> rankList = new List<UserRank>();
            int      Row      = 1;
            DateTime rankDate = DateTime.Now;

            foreach (var ur in usrpredict.OrderByDescending(x => x.Point))
            {
                var item = new UserRank
                {
                    Rank         = Row,
                    RankDate     = rankDate,
                    UserID       = ur.UserID,
                    UserPoint    = ur.Point,
                    TournamentID = TournamentID
                };
                //rankList.Add(item);
                _rank.Add(item);
                Row++;
            }

            _unitOfWork.SaveChanges();
        }
Example #3
0
        public ActionResult _EditUserRank(UserRankEditModel userRankEditModel)
        {
            if (userRankEditModel == null || !ModelState.IsValid)
            {
                return(View());
            }
            UserRank userRank  = userRankEditModel.AsUserRank();
            bool     isCreated = true;

            if (userRankEditModel.IsEdit)
            {
                userRankService.Update(userRank);
            }
            else
            {
                UserRank rank = userRankService.Get(userRankEditModel.Rank ?? 0);
                if (rank != null)
                {
                    WebUtility.SetStatusCodeForError(Response);
                    ViewData["statusMessageData"] = new StatusMessageData(StatusMessageType.Error, "已经存在的用户等级");
                    return(View(userRankEditModel));
                }
                isCreated = userRankService.Create(userRank);
                if (!isCreated)
                {
                    WebUtility.SetStatusCodeForError(Response);
                    ViewData["statusMessageData"] = new StatusMessageData(StatusMessageType.Error, "创建失败");
                    return(View(userRankEditModel));
                }
            }
            return(View(userRankEditModel));
        }
        public async Task UpdateAsync(UserRank userRank)
        {
            var olduserRank = await GetUserRankByUserId(userRank.UserId);

            userRank.Id = olduserRank.Id;
            await _UserRank.ReplaceOneAsync(o => o.Id == userRank.Id, userRank, new ReplaceOptions { IsUpsert = true });
        }
Example #5
0
        private void CalculateProgressBar(UserRank rank)
        {
            var slices         = RankDegree.TotalSlices();
            var slicesToTheEnd = RankDegree.CountSlicesAfter(rank.Score);
            var sliceMinSize   = (100.0 / slices) * (slices - slicesToTheEnd);
            var nextRank       = RankDegree.OrderBy(o => o.Points).FirstOrDefault(f => f.Points > rank.Score);

            if (nextRank == null)
            {
                ProgressBar           = 100;
                ShowCircleProgressBar = false;
                return;
            }

            var rankSize           = nextRank.Points - RankDegree[rank.Level];
            var pointsInActualRank = rank.Score - RankDegree[rank.Level];

            var percentualInActualRank = pointsInActualRank / rankSize;
            var sliceSize      = 100.0 / slices;
            var slicePartToAdd = sliceSize * percentualInActualRank;

            ProgressBar = sliceMinSize + slicePartToAdd;
            if (ProgressBar > 100)
            {
                ProgressBar = 100;
            }
            if (ProgressBar < 0)
            {
                ProgressBar = 0;
            }
        }
        public override bool TakeAction()
        {
            receipt = new LevelRankingTop50Data();

            Ranking <UserRank> ranking  = RankingFactory.Get <UserRank>(LevelRanking.RankingKey);
            UserRank           rankInfo = null;
            int rankID = 0;

            if (ranking.TryGetRankNo(m => (m.UserID == Current.UserId), out rankID))
            {
                rankInfo = ranking.Find(s => (s.UserID == Current.UserId));
            }

            if (rankInfo != null)
            {
                receipt.SelfRank = rankInfo.RankId;
            }

            int pagecout;
            var list = ranking.GetRange(0, 50, out pagecout);

            foreach (var data in list)
            {
                UserRank rank = new UserRank(data);
                receipt.List.Add(rank);
            }
            return(true);
        }
Example #7
0
        private void RewardAndPunishmentUser_After(IUser sender, RewardAndPunishmentUserEventArgs eventArgs)
        {
            PointSettings pointSettings = pointSettingsManger.Get();
            int           totalPoints   = pointSettings.CalculateIntegratedPoint(sender.ExperiencePoints, sender.ReputationPoints);

            //更新用户等级
            //if (eventArgs.ExperiencePoints <= 0 && eventArgs.ReputationPoints <= 0)
            //    return;
            IUserService               userService     = DIContainer.Resolve <IUserService>();
            UserRankService            userRankService = new UserRankService();
            SortedList <int, UserRank> userRanks       = userRankService.GetAll();
            UserRank maxUserRank = null;

            if (userRanks != null && userRanks.Count > 0)
            {
                maxUserRank = userRanks.First().Value;
            }
            foreach (KeyValuePair <int, UserRank> userRank in userRanks)
            {
                if (totalPoints > userRank.Value.PointLower && userRank.Value.PointLower > maxUserRank.PointLower)
                {
                    maxUserRank = userRank.Value;
                }
            }
            userService.UpdateRank(sender.UserId, maxUserRank.Rank);

            //自动解除管制
            var user = userService.GetFullUser(sender.UserId);

            if (user.IsModerated && !user.IsForceModerated)
            {
                UserSettings userSettings = userSettingsManager.Get();
                if (totalPoints > userSettings.NoModeratedUserPoint)
                {
                    userService.NoModeratedUser(user.UserId);
                }
            }

            //发送通知
            if (sender == null)
            {
                return;
            }
            Notice notice = Notice.New();

            notice.UserId        = sender.UserId;
            notice.ApplicationId = 0;
            notice.TypeId        = NoticeTypeIds.Instance().Hint();
            if (eventArgs.ExperiencePoints < 0 || eventArgs.ReputationPoints < 0 || eventArgs.TradePoints < 0)
            {
                notice.Body = "您被系统扣除经验:" + -eventArgs.ExperiencePoints + "、威望:" + -eventArgs.ReputationPoints + "、金币:" + -eventArgs.TradePoints;
            }
            else
            {
                notice.Body = "您收到系统奖励经验:" + eventArgs.ExperiencePoints + "、威望:" + eventArgs.ReputationPoints + "、金币:" + eventArgs.TradePoints;
            }
            notice.LeadingActorUrl = SiteUrls.FullUrl(SiteUrls.Instance().ListNotices(sender.UserName, null, null));
            noticeService.Create(notice);
        }
Example #8
0
 internal void SetUserDetails(UserRank<Event> i_userRank)
 {
     userThumbnail.Image = i_userRank.User.ImageNormal;
     foreach (Event sharedEvent in i_userRank.GetObjectList())
     {
         userSharedEventsListBox.Items.Add(sharedEvent.Name);
     }
 }
Example #9
0
        public NamesMessage(Message msg) : base(msg)
        {
            Channel = msg.Client.ChannelFromName(msg.Parameters[2]);

            var users = msg.Parameters[3].Split(separator, StringSplitOptions.RemoveEmptyEntries);

            foreach (var user in users)
            {
                // Use IRCv3 multi-prefix?
                if (msg.Client.ActiveCapabilities.Contains(Capability.MultiPrefix))
                {
                    var ranks =
                        user.TakeWhile(u => UserRank.FromPrefix(u) != UserRank.None)
                        .Select(UserRank.FromPrefix)
                        .Distinct()
                        .ToArray();
                    var chanUser = msg.Client.UserFromNick(user);
                    if (chanUser == null) //Add new users discovered in response.
                    {
                        //Create new user, remove rank characters from username
                        var newUser = new User(ranks.Min() != UserRank.None ? user.Substring(ranks.Length) : user,
                                               Channel.Name, UserRank.None);
                        msg.Client.Users.Add(newUser);
                        Channel.AddUser(newUser);
                        foreach (var rank in ranks)
                        {
                            newUser.AddRank(msg.Client, Channel.Name, rank);
                        }
                    }
                    else //Update ranks of existing users (ourselves).
                    {
                        Channel.AddUser(chanUser);
                        foreach (var rank in ranks)
                        {
                            chanUser.AddRank(msg.Client, Channel.Name, rank);
                        }
                    }
                }
                else
                {
                    var rank     = UserRank.FromPrefix(user[0]);
                    var chanUser = msg.Client.UserFromNick(user);
                    if (chanUser == null) //Add new users discovered in response.
                    {
                        var newUser = new User(rank != UserRank.None ? user.Substring(1) : user, Channel.Name,
                                               rank);
                        Channel.AddUser(newUser);
                        msg.Client.Users.Add(newUser);
                    }
                    else //Update ranks of existing users (ourselves).
                    {
                        Channel.AddUser(chanUser);
                        chanUser.AddRank(msg.Client, Channel.Name, rank);
                    }
                }
            }
            msg.Client.OnReplyNames(this);
        }
Example #10
0
 /// <summary>
 /// 将用户等级转换为EditModel
 /// </summary>
 /// <param name="userRank"></param>
 /// <returns></returns>
 public static UserRankEditModel AsEditModel(this UserRank userRank)
 {
     return(new UserRankEditModel
     {
         PointLower = userRank.PointLower,
         Rank = userRank.Rank,
         RankName = userRank.RankName
     });
 }
Example #11
0
        internal bool Login(string username, string password)
        {
            string passwordHash = utils.HashPassword(password);

            userName         = username;
            userPasswordHash = passwordHash;
            Damocles2Entities de = new Damocles2Entities();
            User user            = de.Users.Where(u => u.Username == username && u.UserPassword == passwordHash).FirstOrDefault();

            if (user == null)
            {
                return(false);
            }

            CurrentUser.UserId = user.Id;

            //TODO: This is not functioning correctly - simply want the User's current rank.
            UserRank ur = de.UserRanks.Where(usr => usr.UserId == user.Id).FirstOrDefault();

            user.IsOnline = true;
            UserRank      = ur.Rank.RankNameEnglish;

            UserJurisdiction uj = de.UserJurisdictions.Where(usrj => usrj.UserId == user.Id).FirstOrDefault();

            if (uj != null)
            {
                if (uj.Jurisidction.Country == uj.Jurisidction.State)
                {
                    UJurisdiction = uj.Jurisidction.Country;
                }
                else
                {
                    UJurisdiction = uj.Jurisidction.State.Trim() + " in " + uj.Jurisidction.Country.Trim();
                }
            }
            else
            {
                UJurisdiction = "Unknown";
            }


            var aus = de.UsersSessions.Where(auss => auss.id == user.Id);

            foreach (UsersSession userS in aus)
            {
                CurrentUser.SessionSecondsTotal += userS.SessionSeconds;
            }

            UsersSession us = new UsersSession();

            us.LoggedOnAt = DateTime.UtcNow;
            us.id         = user.Id;
            de.UsersSessions.Add(us);

            de.SaveChanges();
            return(true);
        }
Example #12
0
 public User(string login, string password, string phone, string email, UserRank rank, Address userAddress)
 {
     this.Login    = login;
     this.Password = password;
     this.Phone    = phone;
     this.Email    = email;
     this.Rank     = rank;
     this.Address  = userAddress;
 }
Example #13
0
        internal virtual void TriggerOnRank(Channel source, User user, UserRank rank)
        {
            OnRankHandler handler = this.OnRank;

            if (handler != null)
            {
                handler(source, user, rank);
            }
        }
Example #14
0
        public void ProcessMessage(ParsedMessage message, Client client)
        {
            User target = message.GetUserFromNick(message.Parameters[0]);

            if (target == client.User)
            {
                char    chanType = Convert.ToChar(message.Parameters[1]);
                Channel channel  = message.GetChannel(message.Parameters[2]);

                switch (chanType)
                {
                case '=':
                    channel.IsPrivate = false;
                    channel.IsSecret  = false;
                    break;

                case '*':
                    channel.IsPrivate = true;
                    channel.IsSecret  = false;
                    break;

                case '@':
                    channel.IsSecret = true;
                    break;
                }


                string[] users = message.Parameters[3].Split(' ');

                foreach (string userStr in users)
                {
                    if (string.IsNullOrEmpty(userStr))
                    {
                        break;
                    }

                    UserRank rank = UserRank.None;
                    string   nick = userStr;

                    char[] ranks = userStr.TakeWhile(c => User.RankChars.ContainsKey(c)).ToArray();     // Take all the user statuses
                    nick = new string(userStr.SkipWhile(c => User.RankChars.ContainsKey(c)).ToArray()); // Take the remaining nick

                    User user = client.UserFactory.FromNick(nick);

                    foreach (char rankChar in ranks)
                    {
                        rank = rank | User.RankChars[rankChar];
                    }

                    channel.SetRank(user, rank);
                    channel.AddUser(user);
                }

                channel.TriggerOnNames(users);
            }
        }
Example #15
0
 public void InsertUpdate(UserRank rec)
 {
     if (rec.Id == Guid.Empty)
     {
         context.UserRanks.Add(rec);
     }
     else
     {
         context.Entry(rec).State = EntityState.Modified;
     }
 }
 public static UserRankDto ToDto(this UserRank rank)
 {
     return(new UserRankDto()
     {
         Id = rank.Rank_ID,
         FinalGrade = rank.Final_Grade,
         SystemGrade = rank.System_Grade,
         UserId = rank.User_ID,
         UsersGrade = rank.Users_Grade.Value
     });
 }
Example #17
0
        public ActionResult _EditUserRank(int rank = -1, bool isEdit = false)
        {
            UserRank          userRank          = userRankService.Get(rank);
            UserRankEditModel userRankEditModel = new UserRankEditModel();

            if (userRank != null)
            {
                userRankEditModel = userRank.AsEditModel();
            }
            userRankEditModel.IsEdit = isEdit;
            return(View(userRankEditModel));
        }
Example #18
0
    void show_ranking(UserRank u, int i)
    {
        GameObject myInstance = Instantiate(prefab, parent); //생성후 자리 어떻게 생기는지 과나
        var        rank       = myInstance.transform.GetChild(0).gameObject;

        rank.GetComponent <TextMeshProUGUI>().text = i.ToString();
        var name = myInstance.transform.GetChild(1).gameObject;

        name.GetComponent <TextMeshProUGUI>().text = u.ID;
        var score = myInstance.transform.GetChild(2).gameObject;

        score.GetComponent <TextMeshProUGUI>().text = "score : " + u.score.ToString();
    }
Example #19
0
        public async Task <Stream> GetUserStatsImage(UserRank rank, UserStatsOptions options)
        {
            var svg  = new UserStatsCard(_degree, options);
            var file = await GetSvgFile(svg.GetCardName());


            var translations = await GetTranslations(options.Locale ?? "en");

            var styles = await GetStyle(options.Theme ?? "default");

            styles.Apply(options);

            return(svg.Svg(file, rank, styles, translations));
        }
        /// <summary>
        /// 得到当前用户的下一个等级
        /// </summary>
        /// <param name="userid">当前用户</param>
        /// <returns>userrank</returns>
        public UserRank GetNextRank(int userid)
        {
            DataSet  ds       = DbHelperSQL.Query("select top 1 *  from userrank where minscore>(select userscore from users where userid=" + userid + ") order by minscore");
            UserRank userrank = new UserRank();

            if (ds.Tables[0].Rows.Count > 0)
            {
                return(DataRowToModel(ds.Tables[0].Rows[0]));
            }
            else
            {
                return(null);
            }
        }
Example #21
0
        public void SetUserRank(User user, UserRank rank)
        {
            User u = FindUserById(user.Id);

            if (u == null)
            {
                AddUser(user);
                u = FindUserById(user.Id);
            }
            user.BotRank = rank;
            u.BotRank    = rank;

            SaveChanges();
        }
Example #22
0
        /// <summary>
        /// 得到用户等级实例,根据用户的论坛分值
        /// </summary>
        /// <param name="UserScore">用户论坛分值</param>
        /// <returns>返回用户等级实例</returns>
        public OnLineTest.Model.UserRank GetModel(Users user)
        {
            UserRank userrank = new UserRank();

            if (HttpRuntime.Cache["userscore:" + user.UserScore.ToString() + "touserrank"] != null)
            {
                userrank = (UserRank)HttpRuntime.Cache["userscore:" + user.UserScore.ToString() + "touserrank"];
            }
            else
            {
                userrank = dal.GetModel(user);
                HttpRuntime.Cache.Insert("userscore:" + user.UserScore.ToString() + "touserrank", userrank, null, DateTime.Now.AddMinutes(30), TimeSpan.Zero);
            }
            return(userrank);
        }
Example #23
0
 private static short GetRankStatus(bool isWin, UserRank userRank, UserRank toUserRank)
 {
     //0:不变 1:上升 2:下降
     if (isWin && userRank.RankId > toUserRank.RankId)
     {
         return((short)1);
     }
     else if (!isWin && userRank.RankId < toUserRank.RankId)
     {
         return((short)2);
     }
     else
     {
         return((short)0);
     }
 }
Example #24
0
        internal static Dictionary<string, UserRank<Event>> FetchAttendeesFromEvents(User i_LoggedInUser)
        {
            FacebookService.s_CollectionLimit = k_NumberOfEventsToFetch;
            FacebookObjectCollection<Event> userFacebookEvents = i_LoggedInUser.Events;
            Dictionary<string, UserRank<Event>> allAttendingUsersOnUserEvents = new Dictionary<string, UserRank<Event>>();
            FacebookService.s_CollectionLimit = k_NumberOfUsersFromEventsToFetch;
            foreach (Event userFacebookEvent in userFacebookEvents)
            {
                if (userFacebookEvent.Privacy == Event.ePrivacy.Open)
                {
                    foreach (User attendingUser in userFacebookEvent.AttendingUsers)
                    {
                        UserRank<Event> currentAttendee;

                        if (!allAttendingUsersOnUserEvents.TryGetValue(attendingUser.Id, out currentAttendee))
                        {
                            currentAttendee = new UserRank<Event>(attendingUser);
                            allAttendingUsersOnUserEvents.Add(attendingUser.Id, currentAttendee);
                        }

                        currentAttendee.AddObjectToUser(userFacebookEvent);
                    }
                }
            }

            List<string> usersToRemove = new List<string>();
            foreach (string userToCheck in allAttendingUsersOnUserEvents.Keys)
            {
                UserRank<Event> userRankToCheck;
                if (allAttendingUsersOnUserEvents.TryGetValue(userToCheck, out userRankToCheck))
                {
                    if (userRankToCheck.GetObjectCount() < k_MinimunNumberOfSharedEventsToShow || userToCheck == i_LoggedInUser.Id)
                    {
                        usersToRemove.Add(userToCheck);
                    }
                }
            }

            foreach (string userToRemove in usersToRemove)
            {
                allAttendingUsersOnUserEvents.Remove(userToRemove);
            }

            FacebookService.s_CollectionLimit = k_DefaultNumberOfObjectsToFetch;

            return allAttendingUsersOnUserEvents;
        }
Example #25
0
        /// <summary>
        /// 更改用户积分
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="eventArgs"></param>
        void ChangePointsEventModule_After(IUser sender, ChangePointsEventArgs eventArgs)
        {
            if (eventArgs.ExperiencePoints <= 0 && eventArgs.ReputationPoints <= 0)
            {
                return;
            }

            IUserService userService = DIContainer.Resolve <IUserService>();

            //自动升级
            UserRankService            userRankService = new UserRankService();
            SortedList <int, UserRank> userRanks       = userRankService.GetAll();
            UserRank maxUserRank = null;

            if (userRanks != null && userRanks.Count > 0)
            {
                maxUserRank = userRanks.ElementAt(0).Value;
            }
            IPointSettingsManager pointSettingsManger = DIContainer.Resolve <IPointSettingsManager>();
            PointSettings         pointSettings       = pointSettingsManger.Get();
            int totalPoints = pointSettings.CalculateIntegratedPoint(sender.ExperiencePoints, sender.ReputationPoints);

            foreach (KeyValuePair <int, UserRank> userRank in userRanks)
            {
                if (totalPoints > userRank.Value.PointLower && userRank.Value.PointLower > maxUserRank.PointLower)
                {
                    maxUserRank = userRank.Value;
                }
            }
            if (maxUserRank.Rank > sender.Rank)
            {
                userService.UpdateRank(sender.UserId, maxUserRank.Rank);
            }

            //自动解除管制
            var user = userService.GetFullUser(sender.UserId);

            if (user.IsModerated && !user.IsForceModerated)
            {
                UserSettings userSettings = DIContainer.Resolve <IUserSettingsManager>().Get();
                if (totalPoints > userSettings.NoModeratedUserPoint)
                {
                    userService.NoModeratedUser(user.UserId);
                }
            }
        }
        public bool Exists(UserGroup usergroup, UserRank userrank, Authority authority)
        {
            StringBuilder strSql = new StringBuilder();

            strSql.Append("select count(1) from UserAuthority");
            strSql.Append(" where  AuthorityId=@AuthorityId and UserGroupId=@UserGroupId and UserRankId=@UserRankId");
            SqlParameter[] parameters =
            {
                new SqlParameter("@AuthorityId", SqlDbType.Int, 4),
                new SqlParameter("@UserGroupId", SqlDbType.Int, 4),
                new SqlParameter("@UserRankId",  SqlDbType.Int, 4)
            };
            parameters[0].Value = authority.AuthorityId;
            parameters[1].Value = usergroup.UserGroupId;
            parameters[2].Value = userrank.UserRankId;
            return(DbHelperSQL.Exists(strSql.ToString(), parameters));
        }
Example #27
0
        public WhoMessage(Message msg) : base(msg)
        {
            var info = BaseMessage.Parameters[BaseMessage.Parameters.Length - 1].Split(' ');

            if (info.Length > 1)
            {
                Realname = string.Join(" ", info.Skip(1)).Trim();
            }
            var user = msg.Client.UserFromNick(Nick);

            if (user != null) //If the user is recognized (Because of a previous JOIN message), fill in their details.
            {
                user.Host     = Host;
                user.RealName = Realname;
                user.Ident    = Ident;

                var infoParams = msg.Parameters[6];

                foreach (var character in infoParams)
                {
                    switch (character)
                    {
                    case '*':
                        user.IsOp = true;
                        break;

                    case 'G':     //Handle gone/here
                        user.SetIsAway(msg.Client, true);
                        break;

                    case 'H':
                        user.SetIsAway(msg.Client, false);
                        break;

                    default:     //Handle ranks
                        var rank = UserRank.FromPrefix(character);
                        if (rank != UserRank.None)
                        {
                            user.AddRank(msg.Client, Channel, rank);
                        }
                        break;
                    }
                }
            }
            msg.Client.OnReplyWho(this);
        }
        UserRank IUserDataProcessingService.ProcessUserRankFromLadder(string jsonResponse, Ladders ladder, AoeNetAPIStringResources apiStringResources)
        {
            var ratingResponse = JsonConvert.DeserializeObject <UserLadderDataResponse>(jsonResponse);

            //response to UserRank model
            var userRank = new UserRank
            {
                //we always want to use .First() becouse api don't allow for multiple requests between multiple leadboards
                Elo    = ratingResponse.Leaderboard.First().Rating,
                Ladder = ratingResponse.Leaderboard.First().Rank
            };

            var userRankData = new UserData();

            userRankData.UserRatings.Add(ladder, userRank);

            return(userRank);
        }
Example #29
0
    //左边button点击事件
    void leftClick()
    {
        if (!is_clicked && !is_gap)
        {
            if (current_type == 2)
            {
                //Game Over
                //set cache
                //若用户已登陆,上传用户得分
                if (PlayerPrefs.GetInt("is_log") == 1)
                {
                    //获取手机号
                    string phone_number = PlayerPrefs.GetString("phone_number");
                    //上传得分
                    UserScore new_score = new UserScore();
                    new_score.phone_number = phone_number;
                    new_score.curr_score   = score;

                    string json      = JsonConvert.SerializeObject(new_score);
                    string post_url  = "http://39.106.107.66:3000/update";
                    string resp_json = postData(post_url, json);

                    UserRank new_rank = new UserRank();
                    new_rank = JsonConvert.DeserializeObject <UserRank>(resp_json);
                    Debug.Log(resp_json);

                    PlayerPrefs.SetInt("my_rank", new_rank.curr_rank);
                    PlayerPrefs.SetInt("my_best", new_rank.best_score);
                }
                overDialog.SetActive(true);
            }
            else
            {
                //执行动作并更新分数
                is_clicked = true;
                hero_animator.Play("Attack", 0, 0f);
                boss_animator.Play("bossAttack", 0, 0f);
                score = score + 1;
                GameObject.Find("Canvas/Text").GetComponent <Text>().text = "Score: " + score;
            }
            Invoke("backToIdle", 1);
        }
    }
Example #30
0
        public void Execute(Message msg, ulong id, UserRank rank)
        {
            User user = msg.Client.GetChatMemberById(msg.Chat.Id, id);

            if (user == null)
            {
                return;
            }
            user.ChangeDatabaseRank(rank);

            string name = user.Name;

            if (name == null || name == "")
            {
                name = user.Username;
            }

            msg.Reply("I upgraded " + id + " (" + name + ")'s rank to: " + rank.ToString());
        }
Example #31
0
    public void newRecord()
    {
        UserRank record = new UserRank();

        record.ID    = TMPtext.text;
        record.score = PlayerInput.playScore;
        record.index = Data.userList.Count; //점수가 같을 경우 더 빠른점수를 상위랭크로 매길 때 사용
        Data.userList[cur_song].Add(record);
        // 점수 내림차순 정렬 후 들어온 순서대로 오름차순 정렬
        Data.userList[cur_song] = Data.userList[cur_song].OrderByDescending(x => x.score).ThenBy(x => x.index).ToList();

        foreach (var rank in Data.userList[cur_song])
        {
            if (idx > 10)
            {
                break;
            }
            show_ranking(rank, idx);
            idx++;
        }
        idx = 1;
    }
Example #32
0
        public Stream Svg(string file, UserRank rank, CardStyles cardStyles, CardTranslations cardTranslations)
        {
            CalculateProgressBar(rank);
            var svgFinal = file
                           .Replace("{{Name}}", rank.UserStats.Name.Truncate(25))
                           .Replace("{{Stars}}", rank.UserStats.TotalStars())
                           .Replace("{{Commits}}", rank.UserStats.TotalCommits())
                           .Replace("{{PRS}}", rank.UserStats.TotalPullRequests())
                           .Replace("{{Issuers}}", rank.UserStats.TotalIssues())
                           .Replace("{{Contributions}}", rank.UserStats.TotalContributedFor())
                           .Replace("{{Level}}", rank.Level)
                           .Replace("{{ProgressBarEnd}}", $"{CalculateCircleProgress(ProgressBar):F}")
                           // Translations
                           .Replace("{{StarsLabel}}", cardTranslations.StarsLabel)
                           .Replace("{{PullRequestLabel}}", cardTranslations.PullRequestLabel)
                           .Replace("{{IssuesLabel}}", cardTranslations.IssuesLabel)
                           .Replace("{{CommitsLabel}}", cardTranslations.CommitsLabel)
                           .Replace("{{ContributionsLabel}}", cardTranslations.ContributionsLabel)
                           // Theme
                           .Replace("{{TextColor}}", cardStyles.TextColor)
                           .Replace("{{TitleColor}}", cardStyles.TitleColor)
                           .Replace("{{IconColor}}", cardStyles.IconColor)
                           .Replace("{{BackgroundColor}}", cardStyles.BackgroundColor)
                           .Replace("{{BorderColor}}", cardStyles.BorderColor)
                           .Replace("{{RingColor}}", cardStyles.RingColor)
                           .Replace("{{ShowIcons}}", cardStyles.ShowIcons ? "block" : "none")
                           .Replace("{{TextPosition}}", cardStyles.ShowIcons ? "25" : "0")
                           .Replace("{{ProgressBarWidth}}", CalculateRectangleProgress(ProgressBar).ToString(CultureInfo.InvariantCulture))
            ;


            if (ShowCircleProgressBar)
            {
                svgFinal = svgFinal
                           .Replace("{{ProgressBar}}", CircleProgressBar);
            }

            return(new MemoryStream(Encoding.UTF8.GetBytes(svgFinal)));
        }
Example #33
0
        public void NSCSMOnline()
        {
            packetCommandSub = ez.Read1();
            byte packetCommandSubSub = ez.Read1();

            if (packetCommandSub == 0) { // Login
                ez.Read1(); // Reserved byte

                string smoUsername = ez.ReadNT();
                string smoPassword = ez.ReadNT();

                if (!new Regex("^([A-F0-9]{32})$").Match(smoPassword).Success) {
                    ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                    ez.Write2(1);
                    ez.WriteNT("Login failed! Invalid password.");
                    ez.SendPack();

                    MainClass.AddLog("Invalid password hash given!", true);
                    return;
                }

                Hashtable[] smoLoginCheck = Sql.Query("SELECT * FROM \"users\" WHERE \"Username\"='" + Sql.AddSlashes(smoUsername) + "'");
                if (smoLoginCheck.Length == 1 && smoLoginCheck[0]["Password"].ToString() == smoPassword) {
                    MainClass.AddLog(smoUsername + " logged in.");

                    User_Table = smoLoginCheck[0];
                    User_ID = (int)User_Table["ID"];
                    User_Name = (string)User_Table["Username"];
                    User_Rank = (UserRank)User_Table["Rank"];

                    ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                    ez.Write2(0);
                    ez.WriteNT("Login success!");
                    ez.SendPack();

                    SendChatMessage(mainClass.ServerConfig.Get("Server_MOTD"));
                    SendRoomList();

                    User[] users = GetUsersInRoom();
                    foreach (User user in users)
                        user.SendRoomPlayers();

                    return;
                } else if (smoLoginCheck.Length == 0) {
                    if (bool.Parse(mainClass.ServerConfig.Get("Allow_Registration"))) {
                        Sql.Query("INSERT INTO main.users (\"Username\",\"Password\",\"Email\",\"Rank\",\"XP\") VALUES(\"" + Sql.AddSlashes(smoUsername) + "\",\"" + Sql.AddSlashes(smoPassword) + "\",\"\",0,0)");
                        MainClass.AddLog(smoUsername + " is now registered with hash " + smoPassword);

                        User_Table = Sql.Query("SELECT * FROM \"users\" WHERE \"Username\"='" + Sql.AddSlashes(smoUsername) + "' AND \"Password\"='" + Sql.AddSlashes(smoPassword) + "'")[0];
                        User_ID = (int)User_Table["ID"];
                        User_Name = (string)User_Table["Username"];
                        User_Rank = (UserRank)User_Table["Rank"];

                        ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                        ez.Write2(0);
                        ez.WriteNT("Login success!");
                        ez.SendPack();

                        SendChatMessage(mainClass.ServerConfig.Get("Server_MOTD"));
                        SendRoomList();

                        User[] users = GetUsersInRoom();
                        foreach (User user in users)
                            user.SendRoomPlayers();

                        return;
                    }
                }

                MainClass.AddLog(smoUsername + " tried logging in with hash " + smoPassword + " but failed");

                ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                ez.Write2(1);
                ez.WriteNT("Login failed! Invalid password.");
                ez.SendPack();
            } else if (packetCommandSub == 01) { // Join room
                if (!RequiresAuthentication()) return;

                if (ez.LastPacketSize == 0)
                    return;

                string joinRoomName = ez.ReadNT();
                string joinRoomPass = "";

                if (ez.LastPacketSize > 0)
                    joinRoomPass = ez.ReadNT();

                foreach (Room room in mainClass.Rooms) {
                    if (room.Name == joinRoomName && (room.Password == joinRoomPass || IsModerator())) {
                        CurrentRoom = room;
                        SendToRoom();
                        break;
                    }
                }
            } else if (packetCommandSub == 02) { // New room
                if (!RequiresAuthentication()) return;

                string newRoomName = ez.ReadNT();
                string newRoomDesc = ez.ReadNT();
                string newRoomPass = "";

                if (ez.LastPacketSize > 0)
                    newRoomPass = ez.ReadNT();

                MainClass.AddLog(User_Name + " made a new room '" + newRoomName + "'");

                Room newRoom = new Room(mainClass, this);

                newRoom.Name = newRoomName;
                newRoom.Description = newRoomDesc;
                newRoom.Password = newRoomPass;

                mainClass.Rooms.Add(newRoom);

                User[] users = GetUsersInRoom();
                foreach (User user in users)
                    user.SendRoomList();

                CurrentRoom = newRoom;
                CurrentRoomRights = RoomRights.Owner;
                SendToRoom();

                SendChatMessage("Welcome to your room! Type /help for a list of commands.");
            } else {
                // This is probably only for command sub 3, which is information you get when you hover over a room in the lobby.
                // TODO: Make NSCSMOnline sub packet 3 (room info on hover)
                //MainClass.AddLog( "Discarded unknown sub-packet " + packetCommandSub.ToString() + " for NSCSMOnline" );
                ez.Discard();
            }
        }
Example #34
0
 internal void SetRank(User user, UserRank rank)
 {
     user._ranks[this.Name] = rank;
     this.TriggerOnRank(this, user, rank);
 }
Example #35
0
 internal virtual void TriggerOnRank(Channel source, User user, UserRank rank)
 {
     OnRankHandler handler = this.OnRank;
     if (handler != null) handler(source, user, rank);
 }
Example #36
0
        private static void getAttendeesInEvent(Event i_UserFacebookEvent, Dictionary<string, UserRank<Event>> i_AllAttendingUsersOnUserEvents)
        {
            foreach (User attendingUser in i_UserFacebookEvent.AttendingUsers)
            {
                UserRank<Event> currentAttendee;

                lock (i_AllAttendingUsersOnUserEvents)
                {
                     if (!i_AllAttendingUsersOnUserEvents.TryGetValue(attendingUser.Id, out currentAttendee))
                {
                    currentAttendee = new UserRank<Event>(attendingUser);
                    i_AllAttendingUsersOnUserEvents.Add(attendingUser.Id, currentAttendee);
                }

                currentAttendee.AddObjectToUser(i_UserFacebookEvent);
                }
            }
        }
Example #37
0
        internal static List<UserRank<Photo>> FetchTags(User i_LoggedInUser)
        {
            FacebookService.s_CollectionLimit = k_NumberOfPhotosToFetch;
            FacebookObjectCollection<Photo> userTaggedPhotos = i_LoggedInUser.PhotosTaggedIn;
            Dictionary<string, UserRank<Photo>> allTaggedFriendsOnUserPhotos = new Dictionary<string, UserRank<Photo>>();
            foreach (Photo photo in userTaggedPhotos)
            {
                foreach (PhotoTag photoTag in photo.Tags)
                {
                    UserRank<Photo> currentFriendTag;
                    if (!allTaggedFriendsOnUserPhotos.TryGetValue(photoTag.User.Id, out currentFriendTag))
                    {
                        currentFriendTag = new UserRank<Photo>(photoTag.User);
                        allTaggedFriendsOnUserPhotos.Add(photoTag.User.Id, currentFriendTag);
                    }

                    currentFriendTag.AddObjectToUser(photo);
                }
            }

            allTaggedFriendsOnUserPhotos.Remove(i_LoggedInUser.Id);

            FacebookService.s_CollectionLimit = k_DefaultNumberOfObjectsToFetch;

            List<UserRank<Photo>> allTaggedAsList = allTaggedFriendsOnUserPhotos.Values.ToList();

            return allTaggedAsList;
        }
Example #38
0
        public void NSCSMOnline()
        {
            packetCommandSub = ez.Read1();

            //Client requested more info on room
            if (packetCommandSub == 3)
            {
            string joinRoomName = ez.ReadNT();
            ez.Discard();
            foreach (Room room in mainClass.Rooms)
            {
                if (room.Name == joinRoomName)
                {
                    //MainClass.AddLog("Found room name : " + room.Name);
                    MainClass.AddLog(Utf8Decode(room.CurrentSong.Name) + ", " + Utf8Decode(room.CurrentSong.SubTitle) + ", " + Utf8Decode(room.CurrentSong.Artist));
                    ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                    ez.Write1((byte)3);
                    ez.WriteNT(room.CurrentSong.Name);
                    ez.WriteNT(room.CurrentSong.SubTitle);
                    ez.WriteNT(room.CurrentSong.Artist);
                    ez.Write1((byte)room.Users.Count());
                    ez.Write1((byte)32);
                    foreach (User user in room.Users)
                    {
                        ez.WriteNT(user.User_Name);
                    }
                    return;

                }
            }

            }

            byte packetCommandSubSub = ez.Read1();

            if (packetCommandSub == 0)   // Login
            {
            ez.Read1(); // Reserved byte

            string smoUsername = ez.ReadNT();
            string smoPassword = ez.ReadNT();

            if (!new Regex("^([A-F0-9]{32})$").Match(smoPassword).Success)
            {
                ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                ez.Write2(1);
                ez.WriteNT("Login failed! Invalid password.");
                ez.SendPack();

                MainClass.AddLog("Invalid password hash given!", true);
                return;
            }

            if ( smoUsername.Length > 32 )
            {
                ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                ez.Write2(1);
                ez.WriteNT("Login failed! Name too Long");
                ez.SendPack();

                MainClass.AddLog("Login name too long:" + smoUsername, true);
                return;
            }

            Hashtable[] smoLoginCheck = MySql.Query("SELECT * from users where Username='******'");
            if (smoLoginCheck.Length == 1 && smoLoginCheck[0]["Password"].ToString() == smoPassword)
            {
                MainClass.AddLog(smoUsername + " logged in.");

                User_Table = smoLoginCheck[0];
                User_ID = (int)User_Table["ID"];
                User_Name = (string)User_Table["Username"];
                User_Rank = (UserRank)User_Table["Rank"];
                int User_XP = (int)User_Table["XP"];

                Hashtable[] checkstasrank = MySql.Query("select count(*) as 'levelrank' from users where xp > '" + User_XP.ToString() + "'");
                Rank_Table =  checkstasrank[0];
                User_Level_Rank = (int)Rank_Table["levelrank"] + 1;

                MySql.Query("INSERT INTO connectionlog (userid,username,password,ip,result,clientversion) VALUES('" + User_ID + "','" + MySql.AddSlashes(smoUsername) + "','" + smoPassword + "','" + User_IP + "','suceeded','" + MySql.AddSlashes(User_Game) + "')");

                User[] checkifconnected = GetUsersInServer();
                foreach (User user in  checkifconnected)
                {
                    if (user.User_Name.ToString() == this.User_Name.ToString())
                    {
                        connectioncount++;
                    }
                    if (connectioncount > 1 )
                    {
                        MainClass.AddLog("Kicking user " + this.User_Name.ToString() + " for duplicate login attempt");
                    }
                }
                if (connectioncount > 1)
                {
                    User[] kickconnected = GetUsersInServer();
                    foreach (User user in  kickconnected)
                    {
                        if (user.User_Name.ToString() == this.User_Name.ToString())
                        {
                            user.Kick();
                            break;
                        }
                    }
                }

                connectioncount = 0;
                ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                ez.Write2(0);
                ez.WriteNT("Login success!");
                ez.SendPack();

                SendChatMessage(mainClass.ServerConfig.Get("Server_MOTD"));
                string builddate = mainClass.RetrieveLinkerTimestamp().ToString("MM/dd/yy HH:mm:ss");
                SendChatMessage("Server was last updated on: "+ builddate);

                SendChatMessage("If you have not yet already Please create a room and run /scan");

                Hashtable[] checkforfriends = MySql.Query("select * from friends where friend = " + User_ID.ToString() + "");
                User[] allusers = GetUsersInServer();
                if (checkforfriends.Count() != 0 )
                {
                    for (int i = 0; i < checkforfriends.Count(); i++)
                    {
                        foreach (User user in allusers)
                        {
                            if (user.User_ID == (int)checkforfriends[i]["user"])
                            {
                                string time = DateTime.Now.ToString("HH:mm:ss");
                                user.SendChatMessage(Func.ChatColor("ffff00") + "Your friend: " + Func.ChatColor("ffffff") + "'" +NameFormat() + "'" + Func.ChatColor("ffff00") + " has connected to the server at " + time + "." + Func.ChatColor("ffffff"));
                            }
                        }
                    }
                }

                Hashtable[] checkforusers = MySql.Query("select * from friends where user = "******"");
                User[] allusersfriends = GetUsersInServer();
                if (checkforusers.Count() != 0 )
                {
                    for (int i = 0; i < checkforusers.Count(); i++)
                    {
                        foreach (User user in allusersfriends)
                        {
                            if (user.User_ID == (int)checkforusers[i]["friend"])
                            {
                                SendChatMessage(Func.ChatColor("ffff00") + "Your friend: " + Func.ChatColor("ffffff") + "'" + user.NameFormat() + "'" + Func.ChatColor("ffff00") + " Is on the server." + Func.ChatColor("ffffff"));
                            }
                        }
                    }
                }

                SendRoomList();

                User[] users = GetUsersInRoom();
                foreach (User user in users)
                    user.SendRoomPlayers();

                return;
            }
            else if (smoLoginCheck.Length == 0)
            {
                if (bool.Parse(mainClass.ServerConfig.Get("Allow_Registration")))
                {
                    MySql.Query("INSERT INTO users (Username,Password,Email,Rank,XP) VALUES(\'" + MySql.AddSlashes(smoUsername) + "\',\'" + MySql.AddSlashes(smoPassword) + "\',\'\',0,0)");
                    MainClass.AddLog(smoUsername + " is now registered with hash " + smoPassword);

                    User_Table = MySql.Query("SELECT * FROM users WHERE Username='******' AND Password='******'")[0];
                    User_ID = (int)User_Table["ID"];
                    User_Name = (string)User_Table["Username"];
                    User_Rank = (UserRank)User_Table["Rank"];

                    MySql.Query("INSERT INTO connectionlog (userid,username,password,ip,result,clientversion) VALUES('" + User_ID + "','" + MySql.AddSlashes(User_Name) + "','" + smoPassword + "','" + User_IP + "','suceeded','" + MySql.AddSlashes(User_Game) + "')");

                    ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
                    ez.Write2(0);
                    ez.WriteNT("Login success!");
                    ez.SendPack();

                    SendChatMessage(mainClass.ServerConfig.Get("Server_MOTD"));
                    SendRoomList();

                    User[] users = GetUsersInRoom();
                    foreach (User user in users)
                        user.SendRoomPlayers();

                    return;
                }
            }

            MainClass.AddLog(smoUsername + " tried logging in with hash " + smoPassword + " but failed");
            MySql.Query("INSERT INTO connectionlog (userid,username,password,ip,result,clientversion) VALUES('" + User_ID + "','" + MySql.AddSlashes(smoUsername) + "','" + smoPassword + "','" + User_IP + "','failed','" + MySql.AddSlashes(User_Game) + "')");

            ez.Write1((byte)(mainClass.ServerOffset + NSCommand.NSCSMOnline));
            ez.Write2(1);
            ez.WriteNT("Login failed! Invalid password.");
            ez.SendPack();
            }
            else if (packetCommandSub == 01)     // Join room
            {
            if (!RequiresAuthentication()) return;

            if (ez.LastPacketSize == 0)
                return;

            string joinRoomName = ez.ReadNT();
            string joinRoomPass = "";

            if (ez.LastPacketSize > 0)
                joinRoomPass = ez.ReadNT();

            int roombanned = 0;
            foreach (Room room in mainClass.Rooms)
            {
                if (room.Name == joinRoomName)
                {
                    List<int> banned  = new List<int>(room.banned);
                    foreach (int banned_id in banned)
                    {
                        if (banned_id == User_ID)
                        {
                            roombanned = 1;
                            SendChatMessage("You have been banned from this room.");
                        }
                    }
                }

                if (room.Name == joinRoomName && (room.Password == joinRoomPass || IsModerator() || room.Password == joinpass) && roombanned == 0 )
                {
                    CurrentRoom = room;
                    SendToRoom();
                    break;
                }
            }
            }
            else if (packetCommandSub == 02)     // New room
            {
            if (!RequiresAuthentication()) return;

            string newRoomName = ez.ReadNT();
            string newRoomDesc = ez.ReadNT();
            string newRoomPass = "";

            if (ez.LastPacketSize > 0)
                newRoomPass = ez.ReadNT();

            MainClass.AddLog(User_Name + " made a new room '" + newRoomName + "'");
            Room newRoom = new Room(mainClass, this);

            newRoom.Name = newRoomName;
            newRoom.Description = newRoomDesc;
            newRoom.Password = newRoomPass;

            mainClass.Rooms.Add(newRoom);

            User[] users = GetUsersInRoom();
            foreach (User user in users)
                user.SendRoomList();

            CurrentRoom = newRoom;

            if (this.CurrentRoom != null)
            {
                if ( CurrentRoom.Password != "" )
                {
                    CurrentRoom.Status = RoomStatus.Locked;
                }
                else
                {
                    CurrentRoom.Status = RoomStatus.Ready;
                }
            }
            CurrentRoomRights = RoomRights.Owner;
            SendToRoom();
            UpdateRoomStatus();
            SendChatMessage("Welcome to your room! Type /help for a list of commands.");
            }
            else
            {
            // This is probably only for command sub 3, which is information you get when you hover over a room in the lobby.
            // TODO: Make NSCSMOnline sub packet 3 (room info on hover)
            //MainClass.AddLog( "Discarded unknown sub-packet " + packetCommandSub.ToString() + " for NSCSMOnline" );
            ez.Discard();
            }
        }
Example #39
0
    private DataView CreateDataView(UserRank[] aUR, string AsType, long rankid)
    {
        // for userrank
        DataView dv = new DataView();
        System.Web.UI.WebControls.BoundColumn colBound = new System.Web.UI.WebControls.BoundColumn();

        if (AsType == "change")
        {
            colBound = new System.Web.UI.WebControls.BoundColumn();
            colBound.DataField = "Blank";
            colBound.HeaderText = "&nbsp;<input type=\"hidden\" name=\"ekuserrankold\" id=\"ekuserrankold\" value=\"" + rankid.ToString() + "\"/>";
            colBound.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
            dgUserRank.Columns.Add(colBound);
        }

        colBound = new System.Web.UI.WebControls.BoundColumn();
        colBound.DataField = "Name";
        colBound.HeaderText = base.GetMessage("generic name");
        dgUserRank.Columns.Add(colBound);

        colBound = new System.Web.UI.WebControls.BoundColumn();
        colBound.DataField = "IsStart";
        colBound.HeaderText = base.GetMessage("lbl isstart");
        colBound.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
        colBound.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
        dgUserRank.Columns.Add(colBound);

        colBound = new System.Web.UI.WebControls.BoundColumn();
        colBound.DataField = "IsLadder";
        colBound.HeaderText = base.GetMessage("lbl isladder");
        colBound.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
        colBound.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
        colBound.HeaderStyle.CssClass = "title-header";
        dgUserRank.Columns.Add(colBound);

        colBound = new System.Web.UI.WebControls.BoundColumn();
        colBound.DataField = "ID";
        colBound.HeaderText = base.GetMessage("generic id");
        colBound.ItemStyle.HorizontalAlign = HorizontalAlign.Center;
        colBound.HeaderStyle.HorizontalAlign = HorizontalAlign.Center;
        dgUserRank.Columns.Add(colBound);

        colBound = new System.Web.UI.WebControls.BoundColumn();
        colBound.DataField = "Posts";
        colBound.HeaderText = base.GetMessage("lbl num posts");
        colBound.ItemStyle.HorizontalAlign = HorizontalAlign.Left;
        dgUserRank.Columns.Add(colBound);

        if (m_iBoardID == 0)
        {
            colBound = new System.Web.UI.WebControls.BoundColumn();
            colBound.DataField = "AppliesTo";
            colBound.HeaderText = base.GetMessage("lbl applies to");
            dgUserRank.Columns.Add(colBound);
        }

        DataTable dt = new DataTable();
        DataRow dr;

        if (AsType == "change")
        {
            dt.Columns.Add(new DataColumn("Blank", typeof(string)));
        }
        dt.Columns.Add(new DataColumn("Name", typeof(string)));
        dt.Columns.Add(new DataColumn("IsStart", typeof(string)));
        dt.Columns.Add(new DataColumn("IsLadder", typeof(string)));
        dt.Columns.Add(new DataColumn("ID", typeof(string)));
        dt.Columns.Add(new DataColumn("Posts", typeof(string)));
        dt.Columns.Add(new DataColumn("AppliesTo", typeof(string)));
        if (AsType == "change")
        {
            bool bHasBeenSelected = false;
            for (int i = 0; i <= (aUR.Length - 1); i++)
            {
                dr = dt.NewRow();
                if (aUR[i].ID == rankid || (i == (aUR.Length - 1) && bHasBeenSelected == false))
                {
                    dr[0] = "<input type=\"radio\" name=\"ekuserrank\" id=\"ekuserrank\" value=\"" + aUR[i].ID.ToString() + "\" checked=\"true\" />";
                    bHasBeenSelected = true;
                }
                else
                {
                    dr[0] = "<input type=\"radio\" name=\"ekuserrank\" id=\"ekuserrank\" value=\"" + aUR[i].ID.ToString() + "\"/>";
                }
                dr[1] = aUR[i].Name + ((aUR[i].Posts > -1) ? " *" : "");
                dr[2] = "<input type=\"checkbox\" " + ((aUR[i].StartGroup) ? " checked=\"true\" " : "") + " disabled=\"true\" />";

                dr[3] = "<input type=\"checkbox\" " + ((aUR[i].Posts > -1) ? " checked=\"true\" " : "") + " disabled=\"true\" />";

                dr[4] = aUR[i].ID.ToString();
                if (aUR[i].Posts > -1)
                {
                    dr[5] = aUR[i].Posts + " Posts";
                }
                else
                {
                    //dr(3) = ""
                }
                if (m_iBoardID == 0)
                {
                    for (int j = 0; j <= (aUR[i].AppliesTo.Length - 1); j++)
                    {
                        dr[6] += "<img valign=\'absbottom\' src=\'" + AppPath + "images/UI/Icons/users.png" + "\' />&nbsp;" + aUR[i].AppliesTo[j].Name;
                        if (j < aUR[i].AppliesTo.Length)
                        {
                            dr[6] += "<br/>";
                        }
                    }
                }
                dt.Rows.Add(dr);
            }
        }
        else
        {
            for (int i = 0; i <= (aUR.Length - 1); i++)
            {
                dr = dt.NewRow();
                dr[0] = "<a href=\"userranks.aspx?action=view&boardid=" + this.m_iBoardID.ToString() + "&id=" + aUR[i].ID.ToString() + "\">" + aUR[i].Name + "</a>";
                dr[1] = "<input type=\"checkbox\" " + ((aUR[i].StartGroup) ? " checked=\"true\" " : "") + " disabled=\"false\" />";
                dr[2] = "<input type=\"checkbox\" " + ((aUR[i].Posts > -1) ? " checked=\"true\" " : "") + " disabled=\"false\" />";
                dr[3] = "<a href=\"userranks.aspx?action=view&boardid=" + this.m_iBoardID.ToString() + "&id=" + aUR[i].ID.ToString() + "\">" + aUR[i].ID.ToString() + "</a>";
                if (aUR[i].Posts > -1)
                {
                    dr[4] = "<a href=\"userranks.aspx?action=view&boardid=" + this.m_iBoardID.ToString() + "&id=" + aUR[i].ID.ToString() + "\">" + aUR[i].Posts + ((aUR[i].Posts > 1) ? (" " + GetMessage("lbl posts")) : (" " + GetMessage("lbl post"))) + "</a>";
                }
                else
                {
                    //dr(3) = ""
                }
                if (m_iBoardID == 0)
                {
                    for (int j = 0; j <= (aUR[i].AppliesTo.Length - 1); j++)
                    {
                        dr[5] += "<img valign=\'absbottom\' src=\'" + AppPath + "images/UI/Icons/users.png" + "\' />&nbsp;<a href=\"../content.aspx?action=ViewContentByCategory&id=" + aUR[i].AppliesTo[j].Id.ToString() + "\">" + aUR[i].AppliesTo[j].Name + "</a>";
                        if (j < aUR[i].AppliesTo.Length)
                        {
                            dr[5] += "<br/>";
                        }
                    }
                }
                dt.Rows.Add(dr);
            }
        }
        dv = new DataView(dt);
        return dv;
    }
Example #40
0
 public void Process_AddEdit()
 {
     if (this.m_iID > 0)
     {
         aUserRank = cContent.SelectUserRank(this.m_iID);
         urUserRank = aUserRank[0];
     }
     else
     {
         urUserRank = new UserRank();
     }
     urUserRank.Name = EkFunctions.HtmlEncode(Request.Form[txt_name.UniqueID]).Trim();
     urUserRank.IconImage = Strings.Trim(Request.Form[txt_icon_image.UniqueID]);
     urUserRank.StartGroup = System.Convert.ToBoolean(chk_isstart.Checked);
     if (chk_isladder.Checked) // IsNumeric(Request.Form(txt_posts.UniqueID)) Then
     {
         if (urUserRank.StartGroup == true)
         {
             urUserRank.Posts = 1;
         }
         else
         {
             urUserRank.Posts = Convert.ToInt32(Request.Form[txt_posts.UniqueID]);
         }
     }
     else
     {
         urUserRank.Posts = -1;
     }
     urUserRank.AppliesTo = (FolderData[])Array.CreateInstance(typeof(FolderData), 1);
     urUserRank.AppliesTo[0] = new FolderData();
     if (m_iBoardID > 0)
     {
         urUserRank.AppliesTo[0].Id = this.m_iBoardID;
     }
     else
     {
         urUserRank.AppliesTo[0].Id = Convert.ToInt64(drp_boards.SelectedValue);
     }
     urUserRank = cContent.AddEditUserRank(urUserRank);
     if (this.m_iID > 0) // edit
     {
         Response.Redirect((string)("userranks.aspx?boardid=" + this.m_iBoardID.ToString() + "&action=view&id=" + this.m_iID.ToString()), false);
     }
     else // add
     {
         Response.Redirect((string)("userranks.aspx?boardid=" + this.m_iBoardID.ToString()), false);
     }
 }