protected override void preProcessing() { if (replyTo == POST_REPLY.TO_USER) { var currAssingedEmpId = getCurrAssignedEmp() == null ? 0 : getCurrAssignedEmp().Id; if (currAssingedEmpId == 0 || currAssingedEmpId != ticketParam.CurrLoginUserId) //assigned to current login agent { autoAssigned(getCurrLoginAgent()); } } if (replyTo == POST_REPLY.TO_AGENT && WAIT_ACTIONED_BY_USER.Equals(ticket.WaitActionedBy)) { ticket.WaitActionedBy = WAIT_ACTIONED_BY_AGENT; } else if (replyTo == POST_REPLY.TO_USER && WAIT_ACTIONED_BY_AGENT.Equals(ticket.WaitActionedBy)) { ticket.WaitActionedBy = WAIT_ACTIONED_BY_USER; } }
protected override void postProcessing() { bool defaultTeam = false, defaultAgent = false; string assignDesc = ""; if (ticketParam.TeamId == 0) { var ticketItem = dataProcessingProvider.getTicketItem(ticket.TicketItemId); if (ticketItem == null && ticketItem.TeamId == 0) { throw new Exception("Default team cannot be found"); } ticketParam.TeamId = ticketItem.TeamId; defaultTeam = true; } if (ticketParam.Assignee == 0) { int defaultAssignee = dataProcessingProvider.getDefaultAgentByTeamId(ticketParam.TeamId); if (defaultAssignee > 0) { ticketParam.Assignee = defaultAssignee; defaultAgent = true; } } if (defaultTeam) { assignDesc = "Default team is selected. "; } if (defaultAgent) { assignDesc += "Default agent is selected"; } TicketAssignment ticketAssignment = new TicketAssignment() { TicketActivityId = ticketActivity.Id, TeamId = ticketParam.TeamId, AssigneeId = ticketParam.Assignee, }; if (!String.IsNullOrEmpty(assignDesc)) { ticketAssignment.Description = assignDesc; } dataProcessingProvider.saveTicketAssignment(ticketAssignment); //bool updateTicketRequired = false; if (!WAIT_ACTIONED_BY_AGENT.Equals(ticket.WaitActionedBy) && isUpladLastActivity()) { ticket.WaitActionedBy = WAIT_ACTIONED_BY_AGENT; //updateTicketRequired = true; } if (ticketParam.TeamId > 0 && ticketParam.TeamId != ticket.LastAssTeamId) { ticket.LastAssTeamId = ticketParam.TeamId; //updateTicketRequired = true; } var assingedEmpId = 0; if (ticketParam.Assignee != 0) { var assignedAgent = dataProcessingProvider.getAgentById(ticketParam.Assignee); assingedEmpId = assignedAgent.EmpId; } if (assingedEmpId != ticket.LastAssTeamId) { ticket.LastAssEmpId = assingedEmpId; //updateTicketRequired = true; } }