public TicketAutomationTriggerProxy[] GetTriggers() { TicketAutomationTriggers triggers = new TicketAutomationTriggers(UserSession.LoginUser); triggers.LoadByOrganization(UserSession.LoginUser.OrganizationID); return(triggers.GetTicketAutomationTriggerProxies()); }
public static string GetTicketAutomationTrigger(RestCommand command, int triggerID) { TicketAutomationTrigger ticketAutomationTrigger = TicketAutomationTriggers.GetTicketAutomationTrigger(command.LoginUser, triggerID); if (ticketAutomationTrigger.OrganizationID != command.Organization.OrganizationID) { throw new RestException(HttpStatusCode.Unauthorized); } return(ticketAutomationTrigger.GetXml("TicketAutomationTrigger", true)); }
public void DeleteTrigger(int triggerID) { TicketAutomationTrigger trigger = TicketAutomationTriggers.GetTicketAutomationTrigger(UserSession.LoginUser, triggerID); if (trigger.OrganizationID != UserSession.LoginUser.OrganizationID || !UserSession.CurrentUser.IsSystemAdmin) { return; } trigger.Delete(); trigger.Collection.Save(); }
public static string GetTicketAutomationTriggers(RestCommand command) { TicketAutomationTriggers ticketAutomationTriggers = new TicketAutomationTriggers(command.LoginUser); ticketAutomationTriggers.LoadByOrganizationID(command.Organization.OrganizationID); if (command.Format == RestFormat.XML) { return(ticketAutomationTriggers.GetXml("TicketAutomationTriggers", "TicketAutomationTrigger", true, command.Filters)); } else { throw new RestException(HttpStatusCode.BadRequest, "Invalid data format"); } }
public TicketAutomationTriggerProxy SaveTrigger(string value) { SaveTriggerData data = Newtonsoft.Json.JsonConvert.DeserializeObject <SaveTriggerData>(value); HttpContext.Current.Request.InputStream.Position = 0; TicketAutomationTrigger trigger = null; if (data.TriggerID > -1) { trigger = TicketAutomationTriggers.GetTicketAutomationTrigger(UserSession.LoginUser, data.TriggerID); if (trigger.OrganizationID != UserSession.LoginUser.OrganizationID || !UserSession.CurrentUser.IsSystemAdmin) { return(null); } } else { trigger = (new TicketAutomationTriggers(UserSession.LoginUser)).AddNewTicketAutomationTrigger(); trigger.OrganizationID = UserSession.LoginUser.OrganizationID; } trigger.Active = data.IsActive; trigger.Name = data.Name; trigger.Position = trigger.Collection.GetMaxPosition(UserSession.LoginUser.OrganizationID) + 1; trigger.Collection.Save(); TicketAutomationTriggerLogic logic = new TicketAutomationTriggerLogic(UserSession.LoginUser); logic.LoadByTrigger(data.TriggerID); foreach (TicketAutomationTriggerLogicItem logicItem in logic) { logicItem.Delete(); } logic.Save(); TicketAutomationActions actions = new TicketAutomationActions(UserSession.LoginUser); actions.LoadByTrigger(data.TriggerID); foreach (TicketAutomationAction action in actions) { action.Delete(); } actions.Save(); actions = new TicketAutomationActions(UserSession.LoginUser); foreach (TicketAutomationActionProxy actionProxy in data.Actions) { TicketAutomationAction action = actions.AddNewTicketAutomationAction(); action.TriggerID = trigger.TriggerID; action.ActionValue = actionProxy.ActionValue; action.ActionValue2 = actionProxy.ActionValue2; action.ActionID = actionProxy.ActionID; } actions.Save(); logic = new TicketAutomationTriggerLogic(UserSession.LoginUser); foreach (LogicItem logicItemProxy in data.LogicItems) { TicketAutomationTriggerLogicItem logicItem = logic.AddNewTicketAutomationTriggerLogicItem(); logicItem.TriggerID = trigger.TriggerID; logicItem.TableID = logicItemProxy.IsCustom ? -1 : logicItemProxy.TableID; logicItem.FieldID = logicItemProxy.FieldID; logicItem.TestValue = logicItemProxy.TestValue; logicItem.Measure = logicItemProxy.Measure; logicItem.MatchAll = logicItemProxy.MatchAll; logicItem.OtherTrigger = logicItemProxy.OtherTrigger; } logic.Save(); return(trigger.GetProxy()); }