コード例 #1
0
        public async Task <IActionResult> SignIn([FromBody] SignInBindingModel userParam)
        {
            try
            {
                var user = await _userService.SignInAsync(userParam.Email, userParam.Password);

                if (user == null)
                {
                    return(BadRequest("Username or password is incorrect"));
                }

                var signedUser = _mapper.Map <Dtos.UserWithToken, SignInViewModel>(user);

                await _logger.Info($"SignIn user: { user.FirstNameEng } { user.LastNameEng }", user.Id);

                return(Ok(signedUser));
            }
            catch (ServiceException aex)
            {
                return(this.StatusCode((int)aex.ErrorCode, aex.Message));
            }
            catch (Exception ex)
            {
                await _logger.Error(ex.Message);

                return(StatusCode(500, "Something went wrong"));
            }
        }
コード例 #2
0
        public IActionResult Signin(SignInBindingModel model, HttpSession session, HttpResponse response)
        {
            UserService service = new UserService(Data.Data.Context);

            service.LoginUser(model, session);
            if (!this.signInManager.IsAuthenticated(session))
            {
                Redirect(response, "/home/index");
                return(null);
            }

            Redirect(response, "/user/index");
            return(null);
        }
コード例 #3
0
        public void LoginUser(SignInBindingModel model, HttpSession session)
        {
            User user = this.context.Users.FirstOrDefault(u => u.Email == model.Email && u.Password == model.Password);

            if (user != null)
            {
                Session dbSession = new Session()
                {
                    Id       = session.Id,
                    User     = user,
                    IsActive = true
                };

                this.context.Sessions.Add(dbSession);
                this.context.SaveChanges();
            }
        }
コード例 #4
0
        public IActionResult Signin(SignInBindingModel model, HttpSession session, HttpResponse response)
        {
            using (PizzaMoreMVCContext context = new PizzaMoreMVCContext())
            {
                User currenUser =
                    context.Users.FirstOrDefault(u => u.Password == model.SignInPassword &&
                                                 u.Email == model.SignInEmail);
                if (currenUser != null)
                {
                    Session sessionEntity = new Session()
                    {
                        SessionId = session.Id,
                        IsActive  = true,
                        User      = currenUser
                    };
                    context.Sessions.Add(sessionEntity);
                    context.SaveChanges();
                    this.Redirect(response, "/home/index");
                }
            }

            return(this.View());
        }