public ActionResult AssignTicket(TicketAssignment ticket) { try { if (ModelState.IsValid) { //Authentication var client = Connector.GetHttpClient(); client.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue(scheme: "Bearer", parameter: Session["TokenNumber"].ToString() + ":" + Session["UserName"]); HttpResponseMessage response = client.PutAsJsonAsync <TicketAssignment>($"Ticket/AssignTicket", ticket).Result; if (response.IsSuccessStatusCode) { return(Json(new { success = true, message = "Successfully Assigned" })); } } return(Json(new { success = false, message = "Something went wrong" })); } catch (Exception ex) { GlobalVariable.log.Write(LogLevel.Error, ex); return(Json(new { success = false, message = "Oops! Something went wrong, please try again later" }, JsonRequestBehavior.AllowGet)); } }
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; } }