Пример #1
0
        public MainForm()
        {
            InitializeComponent();
            string dbPath = RegistrySettings.GetLatestOpenedDatabase();

            currentSortType = RegistrySettings.GetSortType();
            UpdateSortTypeButtons();

            currentRateType = RegistrySettings.GetGameType();
            UpdateRateTypeButtons();

            showInactivePlayers = RegistrySettings.GetShowInactivePlayersOption();
            UpdateShowInactivePlayersMenuItem();

            playersListRight.Dock = DockStyle.Fill;
            playersListRight.OnItemDoubleClick += new PlayersList.MouseDoubleClickEvent(this.OnPlayerDoubleClick);
            playersListRight.OnItemMouseRightClick += new PlayersList.MouseRightClickEvent(this.OnPlayerMouseRightClick);
            playersListRight.OnColumnHeaderClick += new PlayersList.ColumnHeadertClickEvent(this.OnSortTypeChange);

            playersListLeft.Dock  = DockStyle.Fill;
            playersListLeft.OnItemDoubleClick += new PlayersList.MouseDoubleClickEvent(this.OnPlayerDoubleClick);
            playersListLeft.OnItemMouseRightClick += new PlayersList.MouseRightClickEvent(this.OnPlayerMouseRightClick);
            playersListLeft.OnColumnHeaderClick += new PlayersList.ColumnHeadertClickEvent(this.OnSortTypeChange);

            this.splitContainer.Panel1.Controls.Add(playersListLeft);
            this.splitContainer.Panel2.Controls.Add(playersListRight);

            printPageSettings = RegistrySettings.GetPageSettings();

            if(dbPath != null && dbPath.Length != 0)
            {
                InitListView(dbPath);
            }
        }
Пример #2
0
        public ActionResult Index(PlayerSortType? sortType, int? page)
        {
            var urlHelper = new UrlHelper(new RequestContext(HttpContext, RouteData), RouteTable.Routes );
            var url = urlHelper.Action("Index", "Players", new RouteValueDictionary {{"sortType", sortType}, {"page", page}},
                             "http", "wikipediamaze.com");

            return new PermanentRedirectResult(url);
        }
Пример #3
0
 public IEnumerable<User> GetAllUsers(PlayerSortType playerSortType)
 {
     using (_repository.OpenSession())
     {
         switch (playerSortType)
         {
             case PlayerSortType.Reputation:
                 return _repository.All<User>().OrderByDescending(x => x.Reputation).ToList();
             case PlayerSortType.Newest:
                 return _repository.All<User>().OrderByDescending(x => x.DateCreated).ToList();
             case PlayerSortType.Oldest:
                 return _repository.All<User>().OrderBy(x => x.DateCreated).ToList();
             case PlayerSortType.Name:
                 return _repository.All<User>().OrderBy(x => x.DisplayName).ToList();
             default:
                 return _repository.All<User>().OrderByDescending(x => x.Reputation).ToList();
         }
     }
 }
Пример #4
0
 public IPagination<User> GetUsers(int page, int pageSize, PlayerSortType playerSortType)
 {
     IList<User> users;
     int totalUsers;
     using (_repository.OpenSession())
     {
         totalUsers = _repository.All<User>().Count();
         switch (playerSortType)
         {
             case PlayerSortType.Reputation:
                 users = _repository.All<User>().OrderByDescending(x => x.Reputation).Skip((page - 1) * pageSize).Take(pageSize).ToList();
                 break;
             case PlayerSortType.Newest:
                 users = _repository.All<User>().OrderByDescending(x => x.DateCreated).Skip((page - 1) * pageSize).Take(pageSize).ToList();
                 break;
             case PlayerSortType.Oldest:
                 users = _repository.All<User>().OrderBy(x => x.DateCreated).Skip((page - 1) * pageSize).Take(pageSize).ToList();
                 break;
             case PlayerSortType.Name:
                 users = _repository.All<User>().OrderBy(x => x.DisplayName).Skip((page - 1) * pageSize).Take(pageSize).ToList();
                 break;
             default:
                 users = _repository.All<User>().OrderByDescending(x => x.Reputation).Skip((page - 1) * pageSize).Take(pageSize).ToList();
                 break;
         }
     }
     return users.AsCustomPagination(page, pageSize, totalUsers);
 }
Пример #5
0
        private int GetColumnIndexBySortType(PlayerSortType type)
        {
            int index = -1;
            ColumnHeader ch = null;
            switch (type)
            {
                case PlayerSortType.ByRate:
                    ch = this.rateColumnHeader;
                    break;
                case PlayerSortType.ByName:
                    ch = this.lastNameColumnHeader;
                    break;
            }

            if (ch != null)
            {
                index = ch.Index;
            }

            return index;
        }
Пример #6
0
 public void HiglightSortedColumn(PlayerSortType type)
 {
     int index = GetColumnIndexBySortType(type);
     if (index >= 0)
     {
         foreach (ListViewItem item in listPlayersView.Items)
         {
             item.SubItems[index].BackColor = System.Drawing.SystemColors.ControlLight;
         }
     }
 }
Пример #7
0
 public static void SetSortType(PlayerSortType type)
 {
     try
     {
         if (rkOptions != null)
         {
             rkOptions.SetValue(sortTypeKeyName, type.ToString());
         }
     }
     catch
     {
     }
 }
Пример #8
0
        private SQLiteCommand GetSelectCmd(PlayerSortType st, GameType gt)
        {
            switch (st)
            {
                case PlayerSortType.ByRate:
                    switch (gt)
                    {
                        case GameType.Blitz:
                            return selectAllCmdSortBlitz;
                        case GameType.Rapid:
                            return selectAllCmdSortRapid;
                        case GameType.Classic:
                            return selectAllCmdSortClassic;
                    }
                    return selectAllCmdSortBlitz;
                case PlayerSortType.ByName:
                    return selectAllCmdSortName;
            }

            return selectAllCmd;
        }
Пример #9
0
        public List<Player> LoadAllPlayers(PlayerSortType st, GameType gt)
        {
            SQLiteCommand selectCmd = GetSelectCmd(st, gt);

            List<Player> players = new List<Player>();
            SQLiteDataReader dataReader = selectCmd.ExecuteReader();

            while (dataReader.Read())
            {
                Player p = new Player(dataReader.GetInt64(7))
                {
                    Name = dataReader.GetString(0),
                    BlitzRate = dataReader.GetInt32(1),
                    RapidRate = dataReader.GetInt32(2),
                    ClassicRate = dataReader.GetInt32(3),
                    BlitzLastUpdate = dataReader.GetDateTime(4),
                    RapidLastUpdate = dataReader.GetDateTime(5),
                    ClassicLastUpdate = dataReader.GetDateTime(6),
                };

                players.Add(p);
            }
            dataReader.Close();
            return players;
        }
 public UserProfileListViewModel(IPagination<UserInfoViewModel> users, PlayerSortType sortType)
 {
     Users = users;
     SortType = sortType;
 }
        public ActionResult Index(HeaderInfoController headerInfoController, PlayerSortType? sortType, int? page)
        {
            sortType = sortType ?? PlayerSortType.Reputation;
            page = page ?? 1;

            var users = _accountService.GetUsers(page.Value, 28, sortType.Value);
            var userVms = users.Select(x => new UserInfoViewModel(x)).AsCustomPagination(users.PageNumber, users.PageSize, users.TotalItems);
            return View(new UserProfileListViewModel(userVms, sortType.Value));
        }
Пример #12
0
        private void SetCurrentSortType(PlayerSortType type)
        {
            if(currentSortType == type)
            {
                return;
            }

            currentSortType = type;
            UpdateSortTypeButtons();
            switch (currentSortType)
            {
                case PlayerSortType.ByRate:
                    switch (currentRateType)
                    {
                        case GameType.Blitz:
                            allPlayers.Sort(ComparePlayersByBlitzRate);
                            break;
                        case GameType.Rapid:
                            allPlayers.Sort(ComparePlayersByRapidRate);
                            break;
                        case GameType.Classic:
                            allPlayers.Sort(ComparePlayersByClassicRate);
                            break;
                    }
                    break;
                case PlayerSortType.ByName:
                    allPlayers.Sort(ComparePlayersByName);
                    break;
            }
            ReloadListView();
        }
Пример #13
0
 private void OnSortTypeChange(PlayerSortType st)
 {
     if(st != PlayerSortType.Undefined)
     {
         SetCurrentSortType(st);
     }
 }