public async Task <IActionResult> SendNewReplyMessage(int ticketId, string ticketDescription)
        {
            var ticket = await _db.Tickets.AsNoTracking()
                         .Where(c => c.Id.Equals(ticketId)).FirstOrDefaultAsync();

            var replyTicket = new ReplyTicket();

            replyTicket.FullName    = ticket.FullName;
            replyTicket.TicketId    = ticket.Id;
            replyTicket.UserId      = ticket.UserId;
            replyTicket.Description = ticketDescription;
            await _db.ReplyTickets.AddAsync(replyTicket);

            await _db.SaveChangesAsync();

            HttpContext.Session.SetInt32("Message", (int)Messages.MessageSentSuccessfully);
            return(RedirectToAction(actionName: "MessageDetail", routeValues: new { id = ticketId }));
        }
        public async Task <IActionResult> AddReplyTicket(int ticketId, string replyDescription)
        {
            var user = await _userManager.FindByNameAsync(HttpContext.User.Identity.Name);

            var replyTicket = new ReplyTicket();

            replyTicket.UserId      = user.Id;
            replyTicket.FullName    = user.FullName;
            replyTicket.Description = replyDescription;
            replyTicket.TicketId    = ticketId;
            await _db.ReplyTickets.AddAsync(replyTicket);

            await _db.SaveChangesAsync();

            var ticket = await _db.Tickets.FindAsync(ticketId);

            ticket.TicketStatus = TicketStatus.Replied;
            _db.Tickets.Update(ticket);
            await _db.SaveChangesAsync();

            return(PartialView(viewName: "_AddedReplyTicket", model: replyTicket));
        }