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 Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description CsTicketEventModel
createAssignAgentToTicket(CsTicketModel ticket)
Create a creation event for the specified ticket TO THE CS Agent.CsCustomerEventModel
createCreationEventForTicket(CsTicketModel ticket, CsEventReason reason, CsInterventionType interventionType, java.lang.String text)
Create a creation event for the specified ticket.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 toCsCustomerEventModel
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 informationCsCustomerEventModel
ensureTicketEventSetupForCreationEvent(CsTicketModel ticket, CsCustomerEventModel creationEvent)
Ensure that the specified creation event is correctly setup and bound to the ticket.
-
-
-
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 forintervention
- The intervention type of the notereason
- The reason for the note's creationnote
- The text of the noteattachments
- 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 forreason
- The reason for the emailsubject
- The subject of the emailemailBody
- The body of the emailattachments
- 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 forreason
- The reson for the ticket eventinterventionType
- The intervention type for the ticket eventtext
- 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 forcreationEvent
- 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
-
-