Example #1
0
        public void ChangeUserPosition(int row, int column)
        {
            var userID = _userManager.GetUserId(HttpContext.User); //Узнаем ID текущего пользователя

            ApUser = _context.Users.Find(userID);                  //Устанавливаем в экземпляр ApUser пользователя из контекста по ID
            if (ApUser == null)                                    //если его ВДРУГ нет, возвращаем NotFound
            {
                RedirectToPage("/Error");
            }
            char[] userSequence = ApUser.Sequence.ToCharArray();           //получаем последовательность посимвольно вида "xxxxx", где х = 0 или 1
            int    userColumn   = int.Parse(userSequence[row].ToString()); //узнаем столбец на указанной строке

            if (userColumn == column)                                      //сравниваем значение столбца
            {
                switch (row)                                               //выбираем строку для смены позиции
                {
                case 0:
                    ApUser.Position = 2;
                    break;

                case 1:
                    ApUser.Position = 3;
                    break;

                case 2:
                    ApUser.Position = 4;
                    break;

                case 3:
                    ApUser.Position = 5;
                    break;

                case 4:
                    ApUser.Position = 99;
                    break;

                default:
                    ApUser.Position = 95;
                    break;
                }
            }
            else
            {
                ApUser.Position = 95;
            }

            _context.Attach(ApUser).State = EntityState.Modified;
            _context.SaveChanges();

            ButtonPropList.ForEach((x) => x.Disabled = true);
        }
Example #2
0
        public async Task <IActionResult> OnGetAsync()
        {
            MainButMessage = "Новая игра";

            if (!User.Identity.IsAuthenticated)//проверка на авторизацию
            {
                ButtonPropList.ForEach((x) => x.Disabled = true);
                return(Page());
            }
            else
            {
                var userID = _userManager.GetUserId(HttpContext.User); //Узнаем ID текущего пользователя
                ApUser = await _context.Users.FindAsync(userID);       //Устанавливаем в экземпляр ApUser пользователя из контекста по ID

                if (ApUser == null)                                    //если его ВДРУГ нет, возвращаем NotFound
                {
                    return(NotFound());
                }
                //ApUser.Score = 5000;//изменяем данные о пользователя
                //await _context.SaveChangesAsync();//асинхронно сохраняем изменения в контексте

                switch (ApUser.Position)
                {
                case 0:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0);
                    MainButMessage = "Новая игра";
                    WinLoseMessage = SitMessage.GetMessage(0);
                    break;

                case 1:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(1, 2);
                    MainButMessage = "Новая игра";
                    WinLoseMessage = SitMessage.GetMessage(1);
                    break;

                case 2:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0, 3, 4);
                    MainButMessage = "Забрать очки";
                    WinLoseMessage = SitMessage.GetMessage(2);
                    break;

                case 3:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0, 5, 6);
                    MainButMessage = "Забрать очки";
                    WinLoseMessage = SitMessage.GetMessage(3);
                    break;

                case 4:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0, 7, 8);
                    MainButMessage = "Забрать очки";
                    WinLoseMessage = SitMessage.GetMessage(4);
                    break;

                case 5:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0, 9, 10);
                    MainButMessage = "Забрать очки";
                    WinLoseMessage = SitMessage.GetMessage(5);
                    break;

                case 99:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0);
                    MainButMessage = "Забрать очки";
                    WinLoseMessage = SitMessage.GetMessage(6);
                    break;

                case 95:
                    ButtonPropList.ForEach((x) => x.Disabled = true);
                    ButtonsEnable(0);
                    MainButMessage  = "Новая игра";
                    WinLoseMessage  = SitMessage.GetMessage(7);
                    ApUser.Position = 0;
                    break;

                default:
                    return(RedirectToPage("/Error"));
                }

                ScoreMessage = ApUser.Score.ToString();
                return(Page());
            }
        }