Exemple #1
0
        public IActionResult Ending()
        {
            if (_levelProcessRepository.CheckAuthority(Request.Cookies["token"], 14))
            {
                LevelProcess pro = _levelProcessRepository.GetLevelProcessByToken(Request.Cookies["token"]);
                if (pro.LevelID >= 14)
                {
                    _logger.LogInformation("===LEVEL===> [" + Request.Cookies["token"].Substring(0, 6) + "]@"
                                           + HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() + " => [LEVEL#END] SUCCESS.");

                    ViewBag.Token = Request.Cookies["token"];
                    ViewBag.Count = _levelProcessRepository.GetQuantityOfUser();
                    int rank = _rankRepository.GetRankByToken(Request.Cookies["token"]);
                    ViewBag.WinCount = rank == -1 ? _levelProcessRepository.GetNumberOfUserInCurrentLevel(14) : rank;

                    return(View());
                }
                else if (pro.LevelID == 13)
                {
                    LevelProcess process = new LevelProcess();
                    process.Token         = Request.Cookies["token"];
                    process.LevelName     = "Ending.";
                    process.IP            = HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString();
                    process.UpdateTimeUTC = DateTime.Now.ToUniversalTime();
                    process.LevelID       = 14;
                    _levelProcessRepository.AddOrUpdateLevelProcess(process, "f342f928be56c2ab3e6d63e3eff9d677");

                    _rankRepository.AddPlayer(Request.Cookies["token"], HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString());

                    ViewBag.Token    = Request.Cookies["token"];
                    ViewBag.Count    = _levelProcessRepository.GetQuantityOfUser();
                    ViewBag.WinCount = _levelProcessRepository.GetNumberOfUserInCurrentLevel(14);

                    _logger.LogInformation("===LEVEL===> [" + Request.Cookies["token"].Substring(0, 6) + "]@"
                                           + HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString() + " => [LEVEL#END] SUCCESS. \n"
                                           + "\t\t\t\t\t\t\t\t ========> Pos: ["
                                           + _levelProcessRepository.GetNumberOfUserInCurrentLevel(14) + "/"
                                           + _levelProcessRepository.GetQuantityOfUser() + "] <========");

                    return(View());
                }
            }
            return(new NotFoundResult());
        }