public async Task <IActionResult> Login(OtpLoginViewModel model)
        {
            if (ModelState.IsValid)
            {
                OTPController oTPController = new OTPController(_context);
                var           result        = await oTPController.PostEmployee(model.UserName);

                var results = Convert.ChangeType((result as ObjectResult)?.Value, typeof(string));
                if (results.ToString().Contains("Success"))
                {
                    var UserName = model.UserName;
                    var emailadd = await GetEmail(UserName);

                    _logger.LogInformation("User logged in.");
                    //ControllerContext.RouteData.Values.Add("email", emailadd);
                    //return RedirectToAction(nameof(Validate));

                    return(RedirectToAction("Validate", "EmployeeZone", new { email = emailadd }));
                }
                else
                {
                    ModelState.AddModelError(string.Empty, "User not found. " + results.ToString());
                    return(View(model));
                }
            }
            return(View(model));
        }
 public async Task <IActionResult> Validate(OtpCodeViewModel model)
 {
     if (ModelState.IsValid)
     {
         OTPController oTPController = new OTPController(_context);
         //var code = model.Code1 + model.Code2 + model.Code3 + model.Code4 + model.Code5;
         var result  = oTPController.validate(model.Code);
         var results = Convert.ChangeType((result as ObjectResult)?.Value, typeof(string));
         if (results.ToString().Contains("Error Code"))
         {
             ModelState.AddModelError(string.Empty, "Error Code.");
             return(View(model));
         }
         else if (results.ToString().Contains("Expired Codes"))
         {
             ModelState.AddModelError(string.Empty, "Expired Codes.");
             return(View(model));
         }
         else
         {
             _logger.LogInformation("User logged in.");
             return(RedirectToAction(nameof(MyDirectory)));
             //return RedirectToAction(nameof(EmployeeZoneController.Index));
         }
     }
     return(View(model));
 }