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); }