Beispiel #1
0
        public string GeneralMessage(GeneralCommandType messageType, string data, out object result)
        {
            result = null;
            switch (messageType)
            {
            case GeneralCommandType.TimeRequest:
                DateTime setDate;
                result = TimeRequest(null, null,
                                     DateTime.TryParse(data, out setDate) ? setDate : (DateTime?)null);
                break;

            case GeneralCommandType.Log:
                string s = data;
                if (Sender != null)
                {
                    s += string.Format(" Client: {0}({1})",
                                       Sender.ClientUniqueKey, Sender.IP);
                }
                Log.Default.Info(s, "Server Log");
                break;

            case GeneralCommandType.Ping:
                if (Sender != null)
                {
                    try
                    {
                        SenderBroadcastsChannel.BroadcastMessage("Pinged", Sender.ClientUniqueKey);
                    }
                    catch
                    {
                    }
                }
                break;

            case GeneralCommandType.SettingGetRequest:
                return(RequestSetting(data, false, out result));

            case GeneralCommandType.SettingDefaultRequest:
                return(RequestSetting(data, true, out result));

            case GeneralCommandType.VersionInfoRequest:
                result = Assembly.GetEntryAssembly().GetName().Version.ToString();
                break;

            case GeneralCommandType.RestartServer:
                return(Restart());
            }
            return(null);
        }
Beispiel #2
0
        public ActionResult SendSystemCommand(
            [FromRoute, Required] string sessionId,
            [FromRoute, Required] GeneralCommandType command)
        {
            var currentSession = RequestHelpers.GetSession(_sessionManager, _authContext, Request);
            var generalCommand = new GeneralCommand
            {
                Name = command,
                ControllingUserId = currentSession.UserId
            };

            _sessionManager.SendGeneralCommand(currentSession.Id, sessionId, generalCommand, CancellationToken.None);

            return(NoContent());
        }
Beispiel #3
0
        public async Task <ActionResult> SendGeneralCommand(
            [FromRoute, Required] string sessionId,
            [FromRoute, Required] GeneralCommandType command)
        {
            var currentSession = await RequestHelpers.GetSession(_sessionManager, _authContext, Request).ConfigureAwait(false);

            var generalCommand = new GeneralCommand
            {
                Name = command,
                ControllingUserId = currentSession.UserId
            };

            await _sessionManager.SendGeneralCommand(currentSession.Id, sessionId, generalCommand, CancellationToken.None)
            .ConfigureAwait(false);

            return(NoContent());
        }
Beispiel #4
0
 public object ExecuteGeneralCommand(GeneralCommandType type)
 {
     return(ExecuteGeneralCommand(type, null));
 }
Beispiel #5
0
 public object ExecuteGeneralCommand(GeneralCommandType type, string data)
 {
     return(Execute(ComEnum.General, new KeyValuePair <GeneralCommandType, string>(type, data)));
 }
Beispiel #6
0
        protected void GeneralMessage(GeneralCommandType messageType, string data)
        {
            object r;

            GeneralMessage(messageType, data, out r);
        }