public async Task <IActionResult> ChangeTicket([FromBody] TicketChangeInput input = null) { // Check that every input is there if (input == null) { return(BadRequest(new GeneralMessage() { Message = "Missing input data" })); } Category cat = null; if (!string.IsNullOrEmpty(input.System) && !string.IsNullOrWhiteSpace(input.System) && !string.IsNullOrEmpty(input.CategoryName) && !string.IsNullOrWhiteSpace(input.CategoryName)) { var sys = await _dbHandler.GetSystemAsync(input.System); if (sys == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid system is defined" })); } cat = await _dbHandler.GetCategoryAsync(input.CategoryName, sys); if (cat == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid category is defined" })); } } input.Category = cat; // Get user who wants remove user var re = Request; var headers = re.Headers; var tokenString = headers["Authorization"]; var handler = new JwtSecurityTokenHandler(); var token = handler.ReadJwtToken(tokenString[0].Split(' ')[1]); var claims = token.Claims; var usernameClaim = claims.Where(x => x.Type == ClaimTypes.Name).FirstOrDefault(); var user = await _dbHandler.GetUserAsync(usernameClaim.Value); input.ChangederUser = user; if (input.CategoryName == null) { input.Category = null; } if (input.Refernce == null) { input.Refernce = ""; } if (input.System == null) { input.System = ""; } if (input.Title == null) { input.Title = ""; } var respond = await _dbHandler.ChangeTicketAsync(input); if (respond.MessageType == MessageType.NOK) { return(BadRequest(new GeneralMessage() { Message = respond.MessageText })); } return(Ok(new GeneralMessage() { Message = respond.MessageText })); }