Interface TicketEventStrategy

All Known Implementing Classes:
DefaultTicketEventStrategy

public interface TicketEventStrategy
Interface to support the creation of events for a ticket. Allows a plugable strategy for checking specific critera on the ticket etc. before an event can be created.
  • Method Details

    • createNoteForTicket

      CsCustomerEventModel createNoteForTicket(CsTicketModel ticket, CsInterventionType intervention, CsEventReason reason, String note, Collection<MediaModel> attachments)
      Create and internal note against the ticket with the specified information
      Parameters:
      ticket - The ticket to create the note for
      intervention - The intervention type of the note
      reason - The reason for the note's creation
      note - The text of the note
      attachments - Any attachments which should be added to the note
      Returns:
      The newly create note
    • createCustomerEmailForTicket

      CsCustomerEventModel createCustomerEmailForTicket(CsTicketModel ticket, CsEventReason reason, String subject, String emailBody, Collection<MediaModel> attachments)
      Create a note against the ticket which is sent as an email to the customer the ticket relates to
      Parameters:
      ticket - The ticket to create the note email for
      reason - The reason for the email
      subject - The subject of the email
      emailBody - The body of the email
      attachments - Any attachments should be included with the email
      Returns:
      The newly create email
    • createCreationEventForTicket

      CsCustomerEventModel createCreationEventForTicket(CsTicketModel ticket, CsEventReason reason, CsInterventionType interventionType, String text)
      Create a creation event for the specified ticket.
      Parameters:
      ticket - The ticket to create the creation event for
      reason - The reson for the ticket event
      interventionType - The intervention type for the ticket event
      text - The text to add to the creation event
      Returns:
      The newly created creation event
    • ensureTicketEventSetupForCreationEvent

      CsCustomerEventModel ensureTicketEventSetupForCreationEvent(CsTicketModel ticket, CsCustomerEventModel creationEvent)
      Ensure that the specified creation event is correctly setup and bound to the ticket. This ensures that all of the manadatory underlying fields on the event are populated.
      Parameters:
      ticket - The ticket the creation event is for
      creationEvent - The creation event
      Returns:
      The updated creation event
    • createAssignAgentToTicket

      CsTicketEventModel createAssignAgentToTicket(CsTicketModel ticket)
      Create a creation event for the specified ticket TO THE CS Agent.
      Parameters:
      ticket - The ticket the creation event is for
      Returns:
      CsTicketEventModel