예제 #1
0
 public void asyncLogoutDelegate(HttpRequestBase RequestData)
 {            
     var headers = new HeaderManager(RequestData);
     M2ESession session = TokenManager.getLogoutSessionInfo(headers.AuthToken);
     if (session != null)
     {
         var user = _db.Users.SingleOrDefault(x => x.Username == session.UserName);
         user.KeepMeSignedIn = "false";
         try
         {
             _db.SaveChanges();
         }
         catch (DbEntityValidationException e)
         {
             DbContextException.LogDbContextException(e);
         }
     }
     bool isValid = new TokenManager().Logout(headers.AuthToken);
 }
예제 #2
0
        public ResponseModel<LoginResponse> LockAccountService(HeaderManager headers, M2ESession session)
        {
            var response = new ResponseModel<LoginResponse>();
            if (session.UserName != null)
            {
                bool logoutStatus = new TokenManager().Logout(headers.AuthToken);
                var user = _db.Users.SingleOrDefault(x => x.Username == session.UserName);
                if (user != null)
                {                                        
                    var data = new Dictionary<string, string>();
                    data["Username"] = user.Username;
                    data["Password"] = user.Password;
                    data["userGuid"] = user.guid;

                    var encryptedData = EncryptionClass.encryptUserDetails(data);

                    response.Payload = new LoginResponse();
                    response.Payload.UTMZK = encryptedData["UTMZK"];
                    response.Payload.UTMZV = encryptedData["UTMZV"];
                    response.Payload.TimeStamp = DateTime.Now.ToString(CultureInfo.InvariantCulture);
                    response.Payload.Code = "200";
                    response.Status = 200;
                    response.Message = "Account Locked";

                    var newUserSession = new M2ESession(user.Username);
                    TokenManager.CreateSession(newUserSession);
                    response.Payload.UTMZT = newUserSession.SessionId;
                    user.Locked = Constants.status_true;

                    try
                    {
                        _db.SaveChanges();
                    }
                    catch (DbEntityValidationException e)
                    {
                        DbContextException.LogDbContextException(e);                        
                    }
                }
                else
                {
                    response.Status = 424;
                    response.Message = "user detail not available";
                }
            }
                        
            return response;
        }