private static void SetTicketAgent(TicketDto actualTicket, TicketDto duplicateTicket) { var duplicateUser = _userColl.GetUserById(duplicateTicket.AuthorId); if (duplicateUser.Role != UserRole.SupportUser && duplicateTicket.AuthorId == 0 || duplicateUser.Role != UserRole.SupportUser && duplicateTicket.AuthorId == 1) { actualTicket.AgentId = 1; //Set Agent of actualTicket as unassigned. } else if (duplicateUser.Role != UserRole.SupportUser) { actualTicket.AgentId = duplicateTicket.AuthorId; } }
public IActionResult Details(int id) { var ticket = _ticketColl.GetTicketById(id); ViewData["TicketID"] = id; ticket.Content = HtmlMarkupManager.DecodeHtml(ticket.Content); TicketViewModel ticketViewModel = ViewModelConverter.ConvertTicketToViewModel(ticket); ticketViewModel.Author = _userColl.GetUserById(ticketViewModel.AuthorId).FullName; ticketViewModel.Agent = _userColl.GetUserById(ticketViewModel.AgentId).FullName; var comments = _commentColl.GetCommentsByTicketId(ticketViewModel.Id); ticketViewModel.Comments = new List <CommentViewModel>(); if (comments.Count != 0) { foreach (var comment in comments) { CommentViewModel cvm = new CommentViewModel() { Id = comment.Id, TicketId = comment.TicketId, Author = _userColl.GetUserById(comment.CreatorId).FullName, Text = HtmlMarkupManager.DecodeHtml(comment.Text), CreatedAt = comment.CreatedAt, LastEdited = comment.LastEdited }; ticketViewModel.Comments.Add(cvm); } } else { TempData["NoComments"] = "No comments have been found for this ticket!"; } return(View(ticketViewModel)); }
public IActionResult AgentDashboard() { List <ITicket> unassignedTickets = _ticketCollection.GetUnassignedTickets(); List <TicketViewModel> viewModels = new List <TicketViewModel>(); if (unassignedTickets.Count > 0) { foreach (var ticket in unassignedTickets) { var viewModel = ViewModelConverter.ConvertTicketToViewModel(ticket); viewModel.Author = _userCollection.GetUserById(viewModel.AuthorId).FullName; viewModels.Add(viewModel); } } else { TempData["NoUnassignedTicketsFound"] = "There are no unassigned tickets."; } return(View(viewModels)); }