/// <summary> /// Generates a new key based on the table name. /// </summary> /// <param name="tableName"></param> /// <returns></returns> public string IntGetNewKey(string tableName) { var key = string.Empty; var req = new InvokeRequestData { IDOName = "CRMTableKey", MethodName = "CRMNewKeySp" }; req.Parameters.Add(tableName); req.Parameters.Add(key, true); InvokeResponseData resp = null; try { resp = IDOClient.Invoke(req); } catch (Exception ex) { Application.ShowMessage(ex.Message); } if (resp != null) { key = resp.Parameters[1].Value; } return(key); }
protected string GetProductionOrderMaterialsFromION(string company, string orderCode) { InvokeResponseData responseData; InvokeRequestData req = new InvokeRequestData(); req.IDOName = "IONAPIMethods"; req.MethodName = "InvokeIONAPIMethod"; req.Parameters.Add("0"); /* SSO */ req.Parameters.Add("0"); /* server ID */ req.Parameters.Add("LN"); /* API Context */ req.Parameters.Add("POST"); /* HTTP method */ req.Parameters.Add("/c4ws/services/ProductionOrder_v2"); /* method name */ req.Parameters.Add(this.GetHeaders(this.GetProductionBody(company, orderCode))); /* method parameters */ req.Parameters.Add("text/xml"); /* content type */ req.Parameters.Add(20); /* timeout */ req.Parameters.Add(0, true); /* response code */ req.Parameters.Add("", true); /* response */ req.Parameters.Add("", true); /* response headers */ req.Parameters.Add("", true); /* Infobar */ responseData = this.Context.Commands.Invoke(req); LogMessage(responseData.Parameters[11].Value + "\n\n" + responseData.Parameters[9].Value); return(responseData.Parameters[9].Value); }
public void SetReturnVariables() { var id = ThisForm.ModalChildForm.PrimaryIDOCollection.CurrentItem.Properties["ID"].GetValueOfString(string.Empty); var propList = "AlternateKeySuffix,ID"; var req = IDOClient.LoadCollection("CRMSalesOrder", propList, "ID = '" + id + "'", string.Empty, 1); var summary = req[0, "AlternateKeySuffix"].GetValue(string.Empty); var description = Application.GetStringValue("sSalesOrderInsert"); var jsonResult = string.Empty; var toastEntityFilter = string.Empty; description = description.Replace("%1", string.Format("[{0}]({1} {2})", summary, "CRMSalesOrder", id)); toastEntityFilter = string.Format("ID = '{0}'", id); var toastJson = new InvokeRequestData() { IDOName = "CRMToastService", MethodName = "GenerateToastJson", Parameters = new InvokeParameterList() { new InvokeParameter("Create"), new InvokeParameter(description), new InvokeParameter(string.Empty), new InvokeParameter("barcode"), new InvokeParameter() { ByRef = true, Value = jsonResult } } }; var response = IDOClient.Invoke(toastJson); jsonResult = response.Parameters[response.Parameters.Count - 1].Value; Application.DiagnosticsLog(jsonResult + Environment.NewLine + response.ReturnValue); Application.Variables("VarCRMToastEntityFilter").SetValue(toastEntityFilter); Application.Variables("VarCRMToastConfig").SetValue(jsonResult); }
private void CallAddSurveys(string surveys) { var req = new InvokeRequestData() { IDOName = "CRMSurveyAssociation", MethodName = "AddSurveyAssociationItems", Parameters = new InvokeParameterList() { new InvokeParameter(surveys) } }; try { InvokeResponseData resp = null; resp = IDOClient.Invoke(req); } catch (Exception ex) { Application.ShowMessage("Error: " + ex.Message); Application.DiagnosticsLog("Error: " + ex.Message); return; } finally { ThisForm.PrimaryIDOCollection.RefreshKeepCurIndex(); } }
private string GetSurveyAssociationValues(string associationID) { var req = new InvokeRequestData() { IDOName = "CRMSurveyAssociation", MethodName = "GetAssociationValuesByAssociationID", Parameters = new InvokeParameterList() { new InvokeParameter(associationID), new InvokeParameter("SurveyID,EntityType,EntityID") } }; try { InvokeResponseData resp = null; resp = IDOClient.Invoke(req); return(resp.Parameters[1].Value); } catch (Exception ex) { Application.DiagnosticsLog(ex.ToString()); return(string.Empty); } }
public InvokeRequestData GetMethodRequest(IIdoMethodCallBuilder builder) { var data = new InvokeRequestData() {IDOName = builder.GetIDOName(), MethodName = builder.GetMethodName()}; foreach (InvokeParameter param in builder.GetParameters()) { data.Parameters.Add(param); } return data; }
public List <string> setTableNamesFromSelectedIdo(string ido) { ThisForm.Variables("varDebug").Value += "setTableNamesFromSelectedIdo - " + ido + "\n"; string filter = "CollectionName = '" + ido + "'"; string sso = ThisForm.Variables("varSSO").Value = "0"; string serverId = ThisForm.Variables("varServerId").Value = ThisForm.PrimaryIDOCollection.GetCurrentObjectProperty("ServerID"); string suiteContext = ThisForm.Variables("varSuiteContext").Value = "MONGOOSE/IDORequestService/ido"; string httpMethod = ThisForm.Variables("varHttpMethod").Value = "GET"; string methodName = ThisForm.Variables("varMethodName").Value = "/load/IdoTables?properties=TableName&filter=" + filter; string parameters = ThisForm.Variables("varParameters").Value = "[{\"Name\":\"Accept\",\"Type\":\"header\",\"Value\":\"application/json\"}, " + "{\"Name\":\"X-Infor-MongooseConfig\",\"Type\":\"header\",\"Value\":\"" + ThisForm.Variables("varMongooseConfig").Value + "\"}]"; string contentType = ThisForm.Variables("varContentType").Value = "text/plain"; string timeout = ThisForm.Variables("varTimeout").Value = "10000"; InvokeRequestData IDORequest = new InvokeRequestData(); IDORequest.IDOName = "IONAPIMethods"; IDORequest.MethodName = "InvokeIONAPIMethod"; IDORequest.Parameters.Add(sso); IDORequest.Parameters.Add(serverId); IDORequest.Parameters.Add(new InvokeParameter(suiteContext)); IDORequest.Parameters.Add(new InvokeParameter(httpMethod)); IDORequest.Parameters.Add(new InvokeParameter(methodName)); IDORequest.Parameters.Add(new InvokeParameter(parameters)); IDORequest.Parameters.Add(new InvokeParameter(contentType)); IDORequest.Parameters.Add(new InvokeParameter(timeout)); IDORequest.Parameters.Add(IDONull.Value); //ResponseCode 8 IDORequest.Parameters.Add(IDONull.Value); //ResponseContent 9 IDORequest.Parameters.Add(IDONull.Value); //ResponseHeaders 10 IDORequest.Parameters.Add(IDONull.Value); //ResponseInfobar 11 InvokeResponseData response = IDOClient.Invoke(IDORequest); if (response.IsReturnValueStdError()) { ThisForm.Variables("varDebug").Value += "Error: " + methodName + "\r\nResponseCode: " + response.Parameters[8].Value + "\r\nInfobar " + response.Parameters[11].Value + "\n"; } //ThisForm.Variables("varDebug").Value += response.Parameters[9].Value + "\n"; MongooseResponse mongooseResponseObj = JsonConvert.DeserializeObject <MongooseResponse>(response.Parameters[9].Value); if (mongooseResponseObj.Success && mongooseResponseObj.Items != null) { List <string> tables = new List <string>(); for (int i = 0; i < mongooseResponseObj.Items.Length; i++) { tables.Add(mongooseResponseObj.Items[i].TableName); } return(tables); } else { return(null); } }
public void StartNewSurvey() { var variable = ThisForm.Variables("VarRelationalItemsPointOfReference").Value.Trim(); var sp = variable.Split(';'); string[] properties; var associationID = (sp.Length > 2) ? (sp[2] ?? string.Empty) : string.Empty; string newID = string.Empty; string resultMessage = string.Empty; //returns SurveyID, EntityType, EntitiyID, NEED TO GET STATUS TO CHECK properties = GetSurveyAssociationValues(associationID).Split(';'); var insertReq = new InvokeRequestData() { IDOName = "CRMSurveyRecord", MethodName = "InsertSurveyRecord", Parameters = new InvokeParameterList() { new InvokeParameter(properties[0]), new InvokeParameter(properties[1]), new InvokeParameter(properties[2]), new InvokeParameter(newID), new InvokeParameter(resultMessage) } }; try { InvokeResponseData resp = null; resp = IDOClient.Invoke(insertReq); if (int.Parse(resp.ReturnValue) == 0) { ThisForm.Variables("VarSurveyRecordID").Value = resp.Parameters[3].Value; ThisForm.GenerateEvent("LaunchSurveyRecord"); } else { throw new Exception(resp.Parameters[4].Value); } } catch (Exception ex) { Application.ShowMessage(ex.Message); return; } }
public void ValidateInProgressSurveys() { var variable = ThisForm.Variables("VarRelationalItemsPointOfReference").Value.Trim(); var sp = variable.Split(';'); string[] properties; var associationID = (sp.Length > 2) ? (sp[2] ?? string.Empty) : string.Empty; string resultMessage = string.Empty; string result; //returns SurveyID, EntityType, EntitiyID properties = GetSurveyAssociationValues(associationID).Split(';'); int inProgress; var req = new InvokeRequestData() { IDOName = "CRMSurveyRecord", MethodName = "PreInsertValidateInProgress", Parameters = new InvokeParameterList() { new InvokeParameter(properties[1]), new InvokeParameter(properties[2]), new InvokeParameter(properties[0]), new InvokeParameter(resultMessage) } }; try { InvokeResponseData resp = null; resp = IDOClient.Invoke(req); inProgress = int.Parse(resp.ReturnValue); } catch (Exception ex) { Application.ShowMessage(ex.ToString()); return; } if (inProgress != 0) { ThisForm.GenerateEvent("SurveyInProgress"); } else { ThisForm.GenerateEvent("NoSurveyInProgress"); } }
public void ContinueInProgressSurvey() { var variable = ThisForm.Variables("VarRelationalItemsPointOfReference").Value.Trim(); var sp = variable.Split(';'); string[] properties; var accordionType = (sp.Length > 1) ? (sp[1] ?? string.Empty) : string.Empty; var associationID = (sp.Length > 2) ? (sp[2] ?? string.Empty) : string.Empty; var eventName = (sp.Length > 3) ? (sp[3] ?? string.Empty) : string.Empty; // event or itemid string NewID = string.Empty; //returns SurveyID, EntityType, EntitiyID properties = GetSurveyAssociationValues(associationID).Split(';'); var insertReq = new InvokeRequestData() { IDOName = "CRMSurveyRecord", MethodName = "GetInProgressSurvey", Parameters = new InvokeParameterList() { new InvokeParameter(properties[1]), new InvokeParameter(properties[2]), new InvokeParameter(properties[0]), new InvokeParameter(NewID) } }; try { InvokeResponseData resp = null; resp = IDOClient.Invoke(insertReq); ThisForm.Variables("VarSurveyRecordID").SetValue(resp.Parameters[3].GetValue(String.Empty)); } catch (Exception ex) { Application.ShowMessage(ex.ToString()); return; } ThisForm.GenerateEvent("LaunchSurveyRecord"); }
public InvokeResponseData Execute(InvokeRequestData request) { return _client.Invoke(request); }