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);
        }