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()); }
public IActionResult UpdateProcess(string code, string level) { LevelProcess process = new LevelProcess(); process.Token = Request.Cookies["token"]; process.LevelName = level; process.IP = HttpContext.Connection.RemoteIpAddress.MapToIPv4().ToString(); process.UpdateTimeUTC = DateTime.Now.ToUniversalTime(); if (!string.IsNullOrWhiteSpace(level) && Assets.LevelDic.ContainsKey(level)) { process.LevelID = Assets.LevelDic[level]; } else { process.LevelID = -1; } _logger.LogInformation("====TRY====> " + process.IP + " => [" + process.LevelID + "]" + process.LevelName); Assets.Status Result = Assets.Status.Fail; switch (level) { case "Anime": if (_animeProcessRepository.IsSatisfyRequiredCount(process.Token)) { Result = _levelProcessRepository.AddOrUpdateLevelProcess(process, "d77eb394992936c977ce3f9a112f4b48"); } break; case "Code": if (_codeKeyRepository.CheckCodeKey(process.Token, code)) { Result = _levelProcessRepository.AddOrUpdateLevelProcess(process, "c13367945d5d4c91047b3b50234aa7ab"); } break; case "Maze": if (_mazeProcessRepository.IsArriveDestination(process.Token)) { Result = _levelProcessRepository.AddOrUpdateLevelProcess(process, "d1f47e0b0089103812481452acb680f5"); } break; case "Billionaire": if (_liveLikeRepository.CheckTotalCount()) { Result = _levelProcessRepository.AddOrUpdateLevelProcess(process, "0b9cb93dff91ce2d9e504a85e6fbac54"); } break; default: Result = _levelProcessRepository.AddOrUpdateLevelProcess(process, code); break; } switch (Result) { case Assets.Status.Success: _logger.LogInformation("==SUCCESS==> [" + process.Token.Substring(0, 6) + "]@" + process.IP + " => [" + process.LevelID + "]" + process.LevelName); return(Assets.LevelMsg.ContainsKey(process.LevelID) ? new JsonResult(new { status = "Success", process.Token, msg = Assets.LevelMsg[process.LevelID], t = _levelProcessRepository.GetQuantityOfUser(), c = _levelProcessRepository.GetNumberOfUserInCurrentLevel(process.LevelID) }) : new JsonResult(new { status = "Success", process.Token, t = _levelProcessRepository.GetQuantityOfUser(), c = _levelProcessRepository.GetNumberOfUserInCurrentLevel(process.LevelID) })); case Assets.Status.Fail: return(new JsonResult(new { status = "Fail", process.Token })); case Assets.Status.NotFound: return(new JsonResult(new { status = "NotFound", process.Token })); default: return(new JsonResult(new { status = "Fail", process.Token })); } }