/// <summary> /// Formats the command data so that it can be used in a POST web request /// </summary> /// <param name="command"></param> /// <returns></returns> public string FormatData(ICommand command) { if (command == null) { throw new ArgumentNullException("command"); } var sb = new StringBuilder(); sb.Append("Action="); sb.Append(HttpUtility.UrlEncode(command.Action)); Dictionary <string, string> d = command.GetData(); if (d != null) { foreach (string key in d.Keys) { sb.Append('&'); sb.Append(HttpUtility.UrlEncode(key)); sb.Append('='); sb.Append(HttpUtility.UrlEncode(d[key])); } } return(sb.ToString()); }
/// <summary> /// Formats the command data so that it can be used in a POST web request /// </summary> /// <param name="command"></param> /// <returns></returns> public string FormatData(ICommand command) { if (command == null) { throw new ArgumentNullException("command"); } var sb = new StringBuilder(); sb.Append("Action="); sb.Append(HttpUtility.UrlEncode(command.Action)); Dictionary<string, string> d = command.GetData(); if (d != null) { foreach (string key in d.Keys) { sb.Append('&'); sb.Append(HttpUtility.UrlEncode(key)); sb.Append('='); sb.Append(HttpUtility.UrlEncode(d[key])); } } return sb.ToString(); }
private void ExecuteProhibit(Connection connection, ICommand cmd) { bool prohibit = (bool)cmd.GetData()[0]; connection.ProhibitDemo = prohibit; connection.State = Utils.Models.ConnectionState.Demonstration; try { connection.RdpViewer.RequestControl(CTRL_LEVEL.CTRL_LEVEL_VIEW); } catch { } var btns = connection.TabPage.Controls.OfType <Button>().ToList(); if (prohibit == true) { UpdateGUI.UpdateControl(btns[2], "Enabled", false); UpdateGUI.UpdateControl(btns[3], "Enabled", false); } else { UpdateGUI.UpdateControl(btns[2], "Enabled", true); } }
public override RuleEvaluationInfo IsCommandSendable(GameManager gm, ICommand command) { if (command.GetData <PlayCardCommandData>() != null) { float rnd = UnityEngine.Random.Range(0f, 1f); if (rnd < 0.5f) { return(new RuleEvaluationInfo(false, "sad")); } } return(new RuleEvaluationInfo(true)); }
public override void OnExecute(GameManager gm, ICommand command) { PlayCardCommandData data = command.GetData <PlayCardCommandData>(); if (data == null) { return; } if (data.cardInstance.TryGetStrongType <Monster>(out CardInstance <Monster> monster)) { gm.match.SpawnMonster(monster, data.targetTile, data.sender); } }
private void ExecuteConnectClient(Connection connection, ICommand cmd) { User user = (User)cmd.GetData()[0]; string connectionString = (string)cmd.GetData()[1]; bool prohibit = (bool)cmd.GetData()[2]; connection.User = user; connection.ProhibitDemo = prohibit; if (!String.IsNullOrEmpty(connectionString)) { connection.ConnectionString = connectionString; var tab = CreateNewTab(connection.ClientIP, true, prohibit); AxRDPViewer viewer = (AxRDPViewer)tab.Controls.Find($"rdpViewer{connectionId}", false).FirstOrDefault(); //Нужно добавить!!! viewer.OnConnectionTerminated += (reason, info) => DeleteConnection(connection.ClientIP, false); viewer.OnApplicationClose += (reason, info) => DeleteConnection(connection.ClientIP, false); viewer.OnAttendeeDisconnected += (reason, info) => DeleteConnection(connection.ClientIP, false); viewer.OnConnectionFailed += (reason, info) => DeleteConnection(connection.ClientIP, false); if (viewer != null) { UpdateGUI.UpdateControl(viewer, "SmartSizing", true); connection.RdpViewer = viewer; connection.TabPage = tab; } } else { var tab = CreateNewTab(connection.ClientIP, false, prohibit); connection.TabPage = tab; MessageBox.Show($"Не удалось получить строку подключения от клиента {connection.ClientIP}. Мониторинг невозможен."); UpdateGUI.UpdateControl(txtStatus, "Text", $"Не удалось получить строку подключения от клиента {connection.ClientIP}."); } }
public override RuleEvaluationInfo IsCommandExecutable(GameManager gm, ICommand command) { PlayCardCommandData commandData = command.GetData <PlayCardCommandData>(); CardInstance <Monster> monster = null; if (commandData != null) { monster = commandData.cardInstance.Get <Monster>(); if (monster != null && gm.match.fieldEntities.ContainsKey(commandData.targetTile)) { return(new RuleEvaluationInfo(false, "Field filled")); } else { return(new RuleEvaluationInfo(true, monster)); } } return(new RuleEvaluationInfo(true)); }
public HttpWebRequest Build(ICommand command) { if (command == null) { throw new ArgumentNullException("command"); } var request = (HttpWebRequest)WebRequest.Create(this._address); request.Method = "POST"; // Create POST data and convert it to a byte array. var sb = new StringBuilder(); // setup headers // date header request.Date = DateTime.UtcNow; //.ToString("ddd, dd MMM yyyy hh:mm:ss +0000"); // e.g Tue, 25 May 2010 23:05:27 +0000 // sign request with request date var date = request.Date.ToString("ddd, dd MMM yyyy HH:mm:ss ") + "GMT"; sb.Append("AWS3-HTTPS AWSAccessKeyId="); sb.Append(this._credentials.AccessKeyID); sb.Append(", Algorithm=HmacSHA1, Signature="); //HMACSHA1 or HmacSHA1 sb.Append(GenerateSignature(this._credentials.SecretAccessKey, date)); request.Headers.Add("X-Amzn-Authorization", sb.ToString()); request.ContentType = "application/x-www-form-urlencoded"; // data sb.Length = 0; sb.Append("Action="); sb.Append(command.Action); var d = command.GetData(); if (d != null) { foreach (string key in d.Keys) { sb.Append('&'); sb.Append(HttpUtility.UrlEncode(key)); sb.Append('='); sb.Append(HttpUtility.UrlEncode(d[key])); } } byte[] byteArray = Encoding.UTF8.GetBytes(sb.ToString()); request.ContentLength = byteArray.Length; using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); } return(request); }
public HttpWebRequest Build(ICommand command) { if (command == null) { throw new ArgumentNullException("command"); } var request = (HttpWebRequest)WebRequest.Create(this._address); request.Method = "POST"; // Create POST data and convert it to a byte array. var sb = new StringBuilder(); // setup headers // date header request.Date = DateTime.UtcNow;//.ToString("ddd, dd MMM yyyy hh:mm:ss +0000"); // e.g Tue, 25 May 2010 23:05:27 +0000 // sign request with request date var date = request.Date.ToString("ddd, dd MMM yyyy HH:mm:ss ") + "GMT"; sb.Append("AWS3-HTTPS AWSAccessKeyId="); sb.Append(this._credentials.AccessKeyID); sb.Append(", Algorithm=HmacSHA1, Signature="); //HMACSHA1 or HmacSHA1 sb.Append(GenerateSignature(this._credentials.SecretAccessKey, date)); request.Headers.Add("X-Amzn-Authorization", sb.ToString()); request.ContentType = "application/x-www-form-urlencoded"; // data sb.Length = 0; sb.Append("Action="); sb.Append(command.Action); var d = command.GetData(); if (d != null) { foreach (string key in d.Keys) { sb.Append('&'); sb.Append(HttpUtility.UrlEncode(key)); sb.Append('='); sb.Append(HttpUtility.UrlEncode(d[key])); } } byte[] byteArray = Encoding.UTF8.GetBytes(sb.ToString()); request.ContentLength = byteArray.Length; using (Stream dataStream = request.GetRequestStream()) { dataStream.Write(byteArray, 0, byteArray.Length); dataStream.Close(); } return request; }