コード例 #1
0
        protected override string GetResponseJson(string realmName, HttpRequest request, MySqlConnection connection)
        {
            var serverSimpleName = Convert.ToString(request["s"]);
            var shouldAnnounce   = Convert.ToBoolean(request["a"]);
            var command          = Convert.ToString(request["c"]);
            var timeToRestart    = Convert.ToInt32(request["t"]);
            var serverModels     = _serverGetter.Get();
            var serverModel      = serverModels.Single(x => x.Name.Equals(serverSimpleName));

            _serverAdminCommandSender.Send(serverModel.WebAdminBaseUrl, "Portal", 0, command, shouldAnnounce);
            if (timeToRestart > 0)
            {
                new Thread(() =>
                {
                    Thread.CurrentThread.IsBackground = true;
                    Thread.Sleep(timeToRestart * 1000);
                    _serverProcessCommandSender.Restart(serverModel.InstanceIndex);
                }).Start();
            }
            var result = JsonConvert.SerializeObject(new Dictionary <string, object> {
                { "success", true }
            });

            return(result);
        }
コード例 #2
0
        public ActionResult Edit(bool optIn)
        {
            string message;

            if (optIn)
            {
                _fullSpecOptionChanger.OptIn(PlayerId);
                message = "You are now opted into sh_fullspec.";
            }
            else
            {
                _fullSpecOptionChanger.OptOut(PlayerId);
                message = "You are now opted out of sh_fullspec.";
            }
            var serverModels = _serverGetter.Get();

            foreach (var serverModel in serverModels)
            {
                _serverAdminCommandSender.Send(serverModel.WebAdminBaseUrl, UserName, PlayerId, "sh_fullspec_datarefresh", false);
            }
            TempData["Success"] = message;
            return(RedirectToAction("Manage", "FullSpec"));
        }