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