BloggingSystem.Services.Controllers.UsersController.LoginUser C# (CSharp) Method

LoginUser() private method

private LoginUser ( [ user ) : HttpResponseMessage
user [
return HttpResponseMessage
        public HttpResponseMessage LoginUser([FromBody]UserLoginModel user)
        {
            HttpResponseMessage responseMessage = this.PerformOperation(() =>
            {
                UserValidator.ValidateAuthenticationCode(user.AuthCode);
                UserValidator.ValidateUsername(user.Username);

                var context = new BloggingSystemContext();
                using (context)
                {
                    var userEntity = context.Users.FirstOrDefault(
                        u => u.AuthCode == user.AuthCode && u.Username == user.Username.ToLower());
                    if (userEntity == null)
                    {
                        throw new InvalidOperationException("User not registered!");
                    }

                    userEntity.SessionKey = UserValidator.GenerateSessionKey(userEntity.ID);
                    context.SaveChanges();

                    UserLoggedModel loggedUser = UsersMapper.ToModel(userEntity);
                    return this.Request.CreateResponse(HttpStatusCode.Created, loggedUser);
                }
            });

            return responseMessage;
        }