예제 #1
0
        public ActionResult Login(string emailId, string password)
        {
            var response = _loginExecutor.VerifyLogin(emailId, password);

            if (!response.HasError)
            {
                LoginResultVM result = (LoginResultVM)response;
                if (result.LoginResult == LoginResultEnum.Success)
                {
                    var userDetails = (UserDetails)_userDetailsExecutor.GetUserDetails(emailId, password);

                    Session[SessionConstants.User_Name] = userDetails.UserName;
                    Session[SessionConstants.User_Id]   = userDetails.UserId;
                    Session[SessionConstants.Gender]    = userDetails.Gender;

                    return(RedirectToAction("Index", "Projects"));
                }
                else
                {
                    TempData["Error"] = "FailedLogin";
                    return(RedirectToAction("Index", "Login"));
                }
            }

            TempData["Error"] = "InternalServerError";
            return(RedirectToAction("Index", "Login"));
        }
        public async Task <ActionResult> AddExternalLoginCallback([FromRoute] string medium, [FromRoute] string provider)
        {
            try
            {
                await accountService.AddExternalLogin(User);

                var model = new LoginResultVM
                {
                    Status   = true,
                    Medium   = medium,
                    Platform = provider
                };
                return(View(model));
            }
            catch (Exception)
            {
                var model = new LoginResultVM
                {
                    Status   = false,
                    Medium   = medium,
                    Platform = provider,

                    Error            = "Could not login",
                    ErrorDescription = "There was an error with your social login"
                };
                return(View(model));
            }
        }
        public async Task <ActionResult> ExternalLoginCallback([FromRoute] string medium, [FromRoute] string provider)
        {
            try
            {
                var login_result = await accountService.PerfromExternalLogin();

                if (login_result.Status)
                {
                    var model = new LoginResultVM
                    {
                        Status   = true,
                        Medium   = medium,
                        Platform = login_result.Platform
                    };
                    return(View(model));
                }
                else
                {
                    var model = new LoginResultVM
                    {
                        Status   = false,
                        Medium   = medium,
                        Platform = login_result.Platform,

                        Error            = login_result.Error,
                        ErrorDescription = login_result.ErrorDescription
                    };
                    return(View(model));
                }
            }
            catch (OtherAccountException otherAccountEx)
            {
                var model = new LoginResultVM
                {
                    Status   = false,
                    Medium   = medium,
                    Platform = provider,

                    Error            = "Could not login",
                    ErrorDescription = otherAccountEx.Message
                };
                return(View(model));
            }
            catch (Exception ex)
            {
                var model = new LoginResultVM
                {
                    Status   = false,
                    Medium   = medium,
                    Platform = provider,

                    Error            = "Could not login",
                    ErrorDescription = "There was an error with your social login"
                };
                return(View(model));
            }
        }
예제 #4
0
        public ActionResult LoginRequest(string username, string password)
        {
            var ret = new LoginResultVM();

            ret.Success = false;
            ret.msg     = "failed";
            //跳转到内部界面,否则跳转回去
            using (var dbContext = new TicketCodeTestDBContext())
            {
                var efUser = dbContext.Tlogin.Where(item => item.UserName == username && item.Password == password);
                if (efUser != null)
                {
                    ret.Success = true;
                    return(Json(ret));
                }
            }
            return(Json(ret));
        }