public async Task <IActionResult> AssignUserToCategory(string userName = null, string categoryName = null, string systemName = null) { // Check input data if (userName == null || categoryName == null || systemName == null) { return(BadRequest(new GeneralMessage() { Message = "User, category and system names are mandatory" })); } // Query the objects belongs to inputs var recSys = await _dbHandler.GetSystemAsync(systemName); if (recSys == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid system name" })); } var recCat = await _dbHandler.GetCategoryAsync(categoryName, recSys); if (recCat == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid category name" })); } var recUsr = await _dbHandler.GetUserAsync(userName); if (recUsr == null) { return(BadRequest(new GeneralMessage() { Message = "Invalid user name" })); } // Do the action and return with the result var respond = await _dbHandler.AssignUserToCategory(recCat, recUsr); if (respond.MessageType == MessageType.NOK) { return(BadRequest(new GeneralMessage() { Message = respond.MessageText })); } return(Ok(new GeneralMessage() { Message = respond.MessageText })); }