/// <summary>
        /// Initialise configuration object - Dependency Injection
        /// </summary>
        /// <param name="iConfig"></param>
        public PasswordCheckerController(IConfiguration iConfig)
        {
            IConfig         = iConfig;
            passwordChecker = new PasswordStringValidations();
            PasswordExternalValidations passwordExternalValidations = new PasswordExternalValidations();

            passwordChecker.SetNext(passwordExternalValidations);
        }
 public ActionResult <string> CheckStrength(string password)
 {
     try
     {
         int score = 0;
         passwordChecker = new PasswordStringValidations();
         score           = passwordChecker.CheckStrength(password);
         PwdRank         = (PasswordRank)score;
     }
     catch (Exception ex)
     {
         //Log exceptions here
         return(StatusCode(StatusCodes.Status500InternalServerError, new { message = ex.Message }));
     }
     return(PwdRank.ToString());
 }