private void ExecuteAction(FlowModel flow, Event value) { foreach (var eventParameter in value.Parameters) { var eventParameterCriteria = flow.EventParameters.SingleOrDefault( ep => ep.Name.Equals(eventParameter.Name, StringComparison.InvariantCultureIgnoreCase)); if (eventParameterCriteria == null) { Debug.WriteLine("Parameter " + eventParameter.Name + " was not found on flow"); return; } if (!string.IsNullOrEmpty(eventParameterCriteria.Value) && eventParameterCriteria.Value != "null") { if (!eventParameter.Value.ToLower().Contains(eventParameterCriteria.Value.ToLower())) { Debug.WriteLine("Parameter " + eventParameter.Name + " did not contain expected value " + eventParameterCriteria.Value); return; } } } var action = new EventAction { Name = flow.ActionName, Application = flow.ActionApplication, Parameters = flow.ActionParameters }; GlobalHost.ConnectionManager.GetHubContext<EventLogHub>().Clients.All.newAction(JsonConvert.SerializeObject(action)); }
public JsonResult Add(FlowModel flow) { try { var flowsPath = Server.MapPath("~/App_Data/Flows.json"); var fileContents = System.IO.File.ReadAllText(flowsPath); var data = JsonConvert.DeserializeObject<List<FlowModel>>(fileContents); data.Add(flow); System.IO.File.WriteAllText(flowsPath, JsonConvert.SerializeObject(data)); } catch (Exception ex) { return Json(new { success = false, errorMessage = ex.Message }, JsonRequestBehavior.AllowGet); } return Json(new { success = true }, JsonRequestBehavior.AllowGet); }