private static SAPElement[] GetElementsWithuiSelector(SAPSession session, SAPSelector selector, IElement fromElement, int skip, int maxresults, bool FlatternGuiTree) { var result = new List <SAPElement>(); SAPElement _fromElement = fromElement as SAPElement; var root = new SAPSelectorItem(selector[0]); var sel = new SAPSelectorItem(selector[1]); var SystemName = root.SystemName; var id = sel.id; var path = sel.path; var msg = new SAPEvent("getitem"); msg.Set(new SAPEventElement() { Id = id, SystemName = SystemName, GetAllProperties = true, Path = path, Skip = skip, MaxItem = maxresults, Flat = FlatternGuiTree }); msg = SAPhook.Instance.SendMessage(msg, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); if (msg != null) { var ele = msg.Get <SAPEventElement>(); if (!string.IsNullOrEmpty(ele.Id)) { var _element = new SAPElement(null, ele); result.Add(_element); } } return(result.ToArray()); }
private static SAPElement[] GetElementsWithuiSelector(SAPSession session, SAPSelector selector, IElement fromElement, int maxresults) { var result = new List <SAPElement>(); SAPElement _fromElement = fromElement as SAPElement; var root = new SAPSelectorItem(selector[0]); var sel = new SAPSelectorItem(selector[1]); var SystemName = root.SystemName; var id = sel.id; var msg = new SAPEvent("getitem"); msg.Set(new SAPEventElement() { Id = id, SystemName = SystemName }); msg = SAPhook.Instance.SendMessage(msg, TimeSpan.FromSeconds(5)); if (msg != null) { var ele = msg.Get <SAPEventElement>(); var Parent = new SAPElement(null, ele); result.Add(Parent); } return(result.ToArray()); }
protected override void Execute(CodeActivityContext context) { string systemname = SystemName.Get(context); string path = Path.Get(context); string actionname = ActionName.Get(context); var parameters = Parameters.Get(context); // object[] parameters = Parameters.Get(context); //var _params = new List<object>(); //Dictionary<string, object> arguments = (from argument in Arguments // where argument.Value.Direction != ArgumentDirection.Out // select argument).ToDictionary((KeyValuePair<string, Argument> argument) => argument.Key, (KeyValuePair<string, Argument> argument) => argument.Value.Get(context)); //foreach (var a in arguments) //{ // _params.Add(a.Value); //} // var data = new SAPInvokeMethod(systemname, path, actionname, _params.ToArray()); object[] _parameters = null; if (!string.IsNullOrEmpty(parameters)) { _parameters = JsonConvert.DeserializeObject <object[]>(parameters); } var data = new SAPInvokeMethod(systemname, path, actionname, _parameters); var message = new SAPEvent("invokemethod"); message.Set(data); var result = SAPhook.Instance.SendMessage(message, TimeSpan.FromMinutes(10)); }
protected override void Execute(CodeActivityContext context) { string host = Host.Get(context); string username = Username.Get(context); string password = Password.Get(context); string client = Client.Get(context); string language = Language.Get(context); string systemname = SystemName.Get(context); SAPhook.Instance.RefreshConnections(); bool dologin = true; SAPSession _session = null; if (SAPhook.Instance.Sessions != null) { foreach (var session in SAPhook.Instance.Sessions) { if (session.Info.SystemName.ToLower() == systemname.ToLower()) { _session = session; dologin = false; break; } } } if (dologin) { var data = new SAPLoginEvent(host, username, password, client, language, systemname); var message = new SAPEvent("login"); message.Set(data); _ = SAPhook.Instance.SendMessage(message, TimeSpan.FromMinutes(10)); } if (_session == null) { SAPhook.Instance.RefreshConnections(); if (SAPhook.Instance.Sessions != null) { foreach (var session in SAPhook.Instance.Sessions) { if (session.Info.SystemName.ToLower() == systemname.ToLower()) { _session = session; break; } } } } // SAPhook.Instance.InvokeMethod(systemname, "wnd[0]", "resizeWorkingPane", new object[] { 300,200,false}, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); Interaction.AppActivate(_session.ActiveWindow.Text); //SAPhook.Instance.InvokeMethod(systemname, "wnd[0]", "iconify", null, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); //SAPhook.Instance.InvokeMethod(systemname, "wnd[0]", "iconify", null, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); // SAPhook.Instance.InvokeMethod(systemname, "wnd[0]", "maximize", null, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); //session.findById("wnd[0]").iconify //session.findById("wnd[0]").maximize }
protected override void Execute(CodeActivityContext context) { string host = Host.Get(context); string username = Username.Get(context); string password = Password.Get(context); string client = Client.Get(context); string language = Language.Get(context); string systemname = SystemName.Get(context); var data = new SAPLoginEvent(host, username, password, client, language, systemname); var message = new SAPEvent("login"); message.Set(data); var result = SAPhook.Instance.SendMessage(message, TimeSpan.FromMinutes(10)); }
protected override void Execute(CodeActivityContext context) { string systemname = SystemName.Get(context); string path = Path.Get(context); string actionname = ActionName.Get(context); object[] _parameters = null; var data = new SAPInvokeMethod(systemname, path, actionname, _parameters); var message = new SAPEvent("getproperty"); message.Set(data); var reply = SAPhook.Instance.SendMessage(message, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); data = reply.Get <SAPInvokeMethod>(); Result.Set(context, data.Result); }
public object InvokeMethod(string SystemName, string Id, string ActionName, object[] Parameters, TimeSpan Timeout) { if (Parameters == null) { Parameters = new object[] { } } ; var data = new SAPInvokeMethod(SystemName, Id, ActionName, Parameters); var message = new SAPEvent("invokemethod"); message.Set(data); var reply = SAPhook.Instance.SendMessage(message, Timeout); data = reply.Get <SAPInvokeMethod>(); return(data.Result); } }
public void loadImageAsync(string Id, string SystemName, string statusBarText) { Task.Run(() => { StatusBarText = statusBarText; var msg = new SAPEvent("getitem"); msg.Set(new SAPEventElement() { Id = Id, SystemName = SystemName, GetAllProperties = false }); msg = SAPhook.Instance.SendMessage(msg, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); if (msg != null) { var ele = msg.Get <SAPEventElement>(); if (!string.IsNullOrEmpty(ele.Id)) { var _element = new SAPElement(null, ele); Image = _element.ImageString(); var message = _element.Properties.Where(x => x.Key == "Tooltip").FirstOrDefault(); if (message.Value != null && !string.IsNullOrEmpty(message.Value.Value)) { this.message = message.Value.Value; } var tooltip = _element.Properties.Where(x => x.Key == "DefaultTooltip").FirstOrDefault(); if (tooltip.Value != null && !string.IsNullOrEmpty(tooltip.Value.Value)) { this.tooltip = tooltip.Value.Value; } DisplayName = "Set " + Id.Substring(Id.LastIndexOf("/") + 1); } else { Log.Debug("loadImageAsync: Fail locating " + Id + " returned null id"); } } else { Log.Debug("loadImageAsync: Fail locating " + Id); } }); }
public void loadImageAsync(string Id, string SystemName, string ActionName, string statusBarText) { Task.Run(() => { StatusBarText = statusBarText; var msg = new SAPEvent("getitem"); msg.Set(new SAPEventElement() { Id = Id, SystemName = SystemName, GetAllProperties = false }); msg = SAPhook.Instance.SendMessage(msg, TimeSpan.FromSeconds(PluginConfig.bridge_timeout_seconds)); if (msg != null) { var ele = msg.Get <SAPEventElement>(); if (!string.IsNullOrEmpty(ele.Id)) { var _element = new SAPElement(null, ele); Image = _element.ImageString(); DisplayName = ActionName + " " + Id.Substring(Id.LastIndexOf("/") + 1); } } }); }