Пример #1
0
        public async Task <IActionResult> Login(LoginViewModel obj)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(View("index"));
                }

                var user = await _loginService.Authentication(HttpContext, obj.username, obj.password);

                if (user != null)
                {
                    Type   type     = user.GetType();
                    string username = Convert.ToString(type.GetProperty("username").GetValue(user));
                    if (obj.ischecked)
                    {
                        //set the key value in Cookie
                        SetCookie("ku", Base64Encode(username), 365);
                    }
                    else
                    {
                        removeCookie("ku");
                    }

                    HttpContext.Session.SetString("username", username);
                    HttpContext.Session.SetString("firstname", Convert.ToString(type.GetProperty("firstname").GetValue(user)));
                    HttpContext.Session.SetString("language", Convert.ToString(type.GetProperty("language").GetValue(user))); // 0 th, 1 en
                    return(RedirectToAction("index", "Home"));
                }
                else
                {
                    ViewBag.Message = "Username or password is wrong , Please Try Again";
                }
            }
            catch (Exception error)
            {
                _log.Error(HttpContext, MethodBase.GetCurrentMethod().Name, "Error", error.Message, error.StackTrace);
            }

            return(View("index"));
        }