public IActionResult AddTicket(CreateTicketReq ticket)
        {
            var response = _ticketService.AddTicket(ticket);

            if (response == null)
            {
                return(BadRequest(new { message = "User do not exist or it is admin" }));
            }

            return(Ok(response));
        }
        public Ticket AddTicket(CreateTicketReq model)
        {
            Ticket ticket = new Ticket();

            //Take the user
            var user = _context.Users
                       .Where(u => u.Id == model.UserId)
                       .SingleOrDefault();

            //Check if user is admin or does not exist
            if (user == null || user.IsAdmin == true)
            {
                return(null);
            }

            //Set ticket data
            ticket.Id             = 0;
            ticket.LastActionDate = DateTime.Now;
            ticket.OriginDate     = DateTime.Now;
            ticket.Title          = model.Title;
            ticket.User           = user;
            ticket.Status         = "requested";

            //Add ticket
            _context.Tickets.Add(ticket);
            _context.SaveChanges();
            if (ticket.Id == 0)
            {
                return(null);
            }

            //Set first ticket message data
            TicketMessage msg = new TicketMessage {
                Id      = 0,
                Date    = DateTime.Now,
                Content = model.Content,
                User    = user,
                Ticket  = ticket
            };

            //Add first ticket message
            _context.TicketMessages.Add(msg);
            _context.SaveChanges();

            if (msg.Id == 0)
            {
                return(null);
            }

            return(ticket);
        }