public IActionResult Register(RegisterRequest register)
        {
            ViewBag.Message = "";

            AccountProcessModel response = authenticationProcess.GetModel(new AccountProcessRequest
            {
                RegisterRequest = register
            });

            if (response.NoToken == true)
            {
                return(Json(nameof(response.NoToken)));
            }
            else
            {
                return(Json(response.RegisterResponse));
            }
        }
        public IActionResult ResetPassword(ResetPasswordRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(View(req));
            }
            AccountProcessModel response = authenticationProcess.GetModel(new AccountProcessRequest
            {
                ResetPasswordRequest = req
            });

            ViewBag.Success = response.ResetPasswordResponse.Status == StatusResponse.OK;
            ViewBag.Message = response.ResetPasswordResponse.Message;
            if (response.ResetPasswordResponse.Status == StatusResponse.OK)
            {
                return(RedirectToAction(nameof(ResetPasswordConfirmation)));
            }
            return(View(req));
        }
        public IActionResult CheckLinkResetCode(CheckLinkResetCodeRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(View(req));
            }
            AccountProcessModel response = authenticationProcess.GetModel(new AccountProcessRequest
            {
                CheckLinkResetCodeRequest = req
            });

            if (response.CheckLinkResetCodeResponse.Status == StatusResponse.OK)
            {
                return(RedirectToAction(nameof(ResetPassword), new { ResetCode = response.CheckLinkResetCodeResponse.ResetCode }));
            }
            else
            {
                ViewBag.Message = response.Message;
                return(View(req));
            }
        }
        public IActionResult Login(AuthenticationRequest req)
        {
            ViewBag.Message = "";
            if (!ModelState.IsValid)
            {
                return(View(req));
            }
            AccountProcessModel response = authenticationProcess.GetModel(new AccountProcessRequest
            {
                AuthenticationRequest = req
            });

            if (response.BaseViewModel.Status == StatusResponse.KO)
            {
                ViewBag.Message = response.BaseViewModel.Message;
                return(View(req));
            }
            else
            {
                //HttpContext.Session.SetString("profile", Newtonsoft.Json.JsonConvert.SerializeObject(response.BaseViewModel.ProfileModel));
                ViewBag.ProfileModel = response.BaseViewModel.ProfileModel;
                return(RedirectToAction("Index", "Dashboard"));
            }
        }
        public IActionResult ForgotPassword(SendLinkEmailRequest req)
        {
            if (!ModelState.IsValid)
            {
                return(View());
            }
            AccountProcessModel response = authenticationProcess.GetModel(new AccountProcessRequest
            {
                SendLinkEmailRequest = req
            });

            if (response.SendLinkEmailResponse.Status == StatusResponse.OK)
            {
                ViewBag.Success = true;
                ViewBag.Message = response.SendLinkEmailResponse.Message;
            }
            else
            {
                ViewBag.Success = false;
                ViewBag.Message = response.SendLinkEmailResponse.Message;
            }

            return(View());
        }