Exemple #1
0
        public static void Logout(UserEntities entities, string userName)
        {
            UserProfile user = entities.UserProfile.FirstOrDefault(u => u.UserName == userName);
            if (user == null)
                throw new ServiceException(ResponseError.LoginInvalid);

            ActiveUsers activeUser = entities.ActiveUsers.FirstOrDefault(u => u.UserId == user.UserId);
            if (activeUser != null)
            {
                entities.ActiveUsers.Remove(activeUser);
                entities.SaveChanges();
            }
        }
Exemple #2
0
        public static void Login(UserEntities entities, string userName, string password)
        {
            UserProfile user = entities.UserProfile.FirstOrDefault(u => u.UserName == userName);
            if (user == null)
                throw new ServiceException(ResponseError.LoginInvalid);

            webpages_Membership membership = entities.webpages_Membership.First(m => m.UserId == user.UserId);
            if (!Crypto.VerifyHashedPassword(membership.Password, password))
                throw new ServiceException(ResponseError.LoginInvalid);

            ActiveUsers activeUser = entities.ActiveUsers.FirstOrDefault(u => u.UserId == user.UserId);
            if (activeUser != null)
                activeUser.LoginDate = DateTime.Now;
            else
                entities.ActiveUsers.Add(new ActiveUsers {UserId = user.UserId, LoginDate = DateTime.Now});

            entities.SaveChanges();
        }
Exemple #3
0
        public static void CheckActiveUsers()
        {
            try
            {
                using (var entities = new UserEntities())
                {
                    DateTime timeout = DateTime.Now.AddSeconds(-ActiveUserTimeoutSeconds);
                    IQueryable<ActiveUsers> inactiveUsers = entities.ActiveUsers.Where(u => u.LoginDate < timeout);

                    entities.ActiveUsers.RemoveRange(inactiveUsers);
                    entities.SaveChanges();
                }
            }
            catch (Exception ex)
            {
                ErrorSignal.FromCurrentContext().Raise(ex);
            }
        }
Exemple #4
0
        private static void CreateUserAndAccount(string userName, string password, UserEntities entities)
        {
            UserProfile user = entities.UserProfile.Add(new UserProfile
                {
                    UserName = userName,
                    webpages_Roles =
                        new List<webpages_Roles> {entities.webpages_Roles.First(role => role.RoleName == "Users")}
                });
            entities.SaveChanges();

            entities.webpages_Membership.Add(new webpages_Membership
                {
                    UserId = user.UserId,
                    CreateDate = DateTime.Now,
                    IsConfirmed = true,
                    Password = Crypto.HashPassword(password),
                    PasswordSalt = string.Empty,
                    PasswordChangedDate = DateTime.Now,
                });
            entities.SaveChanges();
        }