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 Detail

      • createNoteForTicket

        CsCustomerEventModel createNoteForTicket​(CsTicketModel ticket,
                                                 CsInterventionType intervention,
                                                 CsEventReason reason,
                                                 java.lang.String note,
                                                 java.util.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,
                                                          java.lang.String subject,
                                                          java.lang.String emailBody,
                                                          java.util.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,
                                                          java.lang.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