private void FireActions(string actionlist) { if (actionlist != null && actionlist != "" && actionlist != "::") { string[] actions = Regex.Split(actionlist, ","); //Array.Sort(actions, StringComparer.InvariantCulture); foreach (string action in actions) { string actionid = Regex.Split(action, "::")[0]; string actiontext = Regex.Split(action, "::")[1]; ScreenViewer.API.Elements.ActionController WAC = new API.Elements.ActionController(); var actionResult = WAC.GetScriptAction(Convert.ToDecimal(actionid)); ScriptAction scriptAction = null; if (actionResult != null) { var response = actionResult as OkNegotiatedContentResult <ScriptAction>; scriptAction = response.Content; } if (scriptAction != null) { switch (scriptAction.ActionType) { case "APIGET": WorkflowHelper.APIGET(HttpContext.Session, scriptAction.ActionXML); break; case "APIPOST": WorkflowHelper.APIPOST(HttpContext.Session, scriptAction.ActionXML); break; case "APIPUT": WorkflowHelper.APIPUT(HttpContext.Session, scriptAction.ActionXML); break; case "ClearCallData": SessionManager.ClearSessionData(HttpContext.Session); break; case "ClearMenu": SessionManager.ClearMenu(HttpContext.Session); break; case "ClearHistory": SessionManager.ClearWorkflowHistory(HttpContext.Session); break; case "ClearCart": SessionManager.ClearOrderCart(HttpContext.Session); break; case "SaveProgress": if (WorkflowHelper.SaveProgress(HttpContext.Session)) { ViewBag.SavedMessage = "Saved Successfully"; } else { ViewBag.SavedMessage = "Unable to Saved"; } break; case "SendText": WorkflowHelper.SendText(HttpContext.Session, scriptAction.ActionXML); break; case "DispositionCall–Sale": WorkflowHelper.DispositionSale(HttpContext.Session, scriptAction.ActionXML); break; case "DispositionCall-NoSale": WorkflowHelper.DispositionNoSale(HttpContext.Session, scriptAction.ActionXML); break; case "Link": //PopUps.Add(scriptAction.ActionXML); break; case "Set Question Value": WorkflowHelper.SetQuestionValue(HttpContext.Session, scriptAction.ActionXML); break; case "Set Parameter": WorkflowHelper.SetParameter(HttpContext.Session, scriptAction.ActionXML); break; case "Set Item Key": WorkflowHelper.SetItemKey(HttpContext.Session, scriptAction.ActionXML); break; case "Remove Item Key": WorkflowHelper.RemoveItemKey(HttpContext.Session, scriptAction.ActionXML); break; //case "Update Data Object Field": // WorkflowHelper.UpdateDataObjectField(HttpContext.Session, scriptAction.ActionXML); // break; case "LoadLead": WorkflowHelper.LoadCRMLead(HttpContext.Session, scriptAction.ActionXML); break; case "validateKeyedItems": Models.itemUtilities iu = new itemUtilities(); iu.CheckItemsHaveValidKey(HttpContext.Session); break; case "SaveVariables": WorkflowHelper.SaveContactVariables(HttpContext.Session); break; case "SaveContactNavigation": WorkflowHelper.SaveContactNavigation(HttpContext.Session); break; case "LoadPreviousCallData": WorkflowHelper.RetrievePreviousCall(HttpContext.Session); if (!string.IsNullOrEmpty(SessionManager.GetScriptParameterByKey("Critical", HttpContext.Session)) && SessionManager.GetScriptParameterByKey("Critical", HttpContext.Session) == "Yes") { ViewBag.Critical = "Customer spent over 5 minutes in system. Be empathetic and cautious with assistance to prevent any further frustration"; } break; case "Email": WorkflowHelper.Email(HttpContext.Session, scriptAction.ActionXML); break; case "Insert IDR Queue": WorkflowHelper.InsertIDRQueue(HttpContext.Session, scriptAction.ActionXML); break; case "Update IDR Queue Status": WorkflowHelper.UpdateIDRQueue(HttpContext.Session, scriptAction.ActionXML); break; case "UpdateObject": WorkflowHelper.UpdateObject(HttpContext.Session, scriptAction.ActionXML); break; } } } } }