public static string GetCustomerAction(RestCommand command, int actionID) { ActionsViewItem action = ActionsView.GetActionsViewItem(command.LoginUser, actionID); TicketsViewItem ticket = action.GetTicket(); if (ticket.OrganizationID != command.Organization.ParentID || !ticket.GetIsCustomer(command.Organization.OrganizationID)) { throw new RestException(HttpStatusCode.Unauthorized); } return(action.GetXml("Action", true)); }
public static string GetCustomerActions(RestCommand command, int ticketID) { TicketsViewItem ticket = TicketsView.GetTicketsViewItemByIdOrNumberForCustomer(command.LoginUser, (int)command.Organization.ParentID, ticketID); if (ticket.OrganizationID != command.Organization.ParentID || !ticket.GetIsCustomer(command.Organization.OrganizationID)) { throw new RestException(HttpStatusCode.Unauthorized); } ActionsView actions = new ActionsView(command.LoginUser); actions.LoadByTicketID(ticket.TicketID); return(actions.GetXml("Actions", "Action", true, command.Filters)); }
// Customer Only Methods public static string GetCustomerTicket(RestCommand command, int ticketID) { TicketsViewItem ticket = TicketsView.GetTicketsViewItemByIdOrNumberForCustomer(command.LoginUser, (int)command.Organization.ParentID, ticketID); if (ticket.OrganizationID != command.Organization.ParentID || !ticket.GetIsCustomer(command.Organization.OrganizationID)) { throw new RestException(HttpStatusCode.Unauthorized); } Tags tags = new Tags(command.LoginUser); tags.LoadByReference(ReferenceType.Tickets, ticket.TicketID, command.Organization.ParentID); return(ticket.GetXml("Ticket", true, tags)); }
public static string CreateCustomerAction(RestCommand command, int ticketID) { TicketsViewItem ticket = TicketsView.GetTicketsViewItem(command.LoginUser, ticketID); if (ticket.OrganizationID != command.Organization.ParentID || !ticket.GetIsCustomer(command.Organization.OrganizationID)) { throw new RestException(HttpStatusCode.Unauthorized); } Actions actions = new Actions(command.LoginUser); TeamSupport.Data.Action action = actions.AddNewAction(); action.TicketID = ticketID; action.ReadFromXml(command.Data, true); action.Collection.Save(); action.UpdateCustomFieldsFromXml(command.Data); return(ActionsView.GetActionsViewItem(command.LoginUser, action.ActionID).GetXml("Action", true)); }
public static string UpdateCustomerAction(RestCommand command, int actionID) { TeamSupport.Data.Action action = Actions.GetAction(command.LoginUser, actionID); if (action == null) { throw new RestException(HttpStatusCode.BadRequest); } TicketsViewItem ticket = TicketsView.GetTicketsViewItem(command.LoginUser, action.TicketID); if (ticket.OrganizationID != command.Organization.ParentID || !ticket.GetIsCustomer(command.Organization.OrganizationID)) { throw new RestException(HttpStatusCode.Unauthorized); } action.ReadFromXml(command.Data, false); action.Collection.Save(); action.UpdateCustomFieldsFromXml(command.Data); return(ActionsView.GetActionsViewItem(command.LoginUser, action.ActionID).GetXml("Action", true)); }