public int LoginUser(User user) { if (!RegisteredUsers.Exists(x => x.UserName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase))) { return((int)LoginEnum.WrongUsernameOrPassword); } var offlineId = (int)UserStateEnum.Offline; var registeredUser = RegisteredUsers.FirstOrDefault(x => x.StateId != offlineId && x.UserName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase)); if (registeredUser != null) { return((int)LoginEnum.AlreadyLoggedIn); } using (ChatAppDBEntities context = new ChatAppDBEntities()) { var credentials = context.GetUserCredentials(user.UserName).ToList().FirstOrDefault(); if (credentials != null) { if (!(credentials.UserName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase) && credentials.Password.Equals(user.Password))) { return((int)LoginEnum.WrongUsernameOrPassword); } } else { return((int)LoginEnum.WrongUsernameOrPassword); } } var authUser = RegisteredUsers.FirstOrDefault(x => x.UserName.Equals(user.UserName, StringComparison.OrdinalIgnoreCase)); if (authUser != null) { authUser.StateId = (int)UserStateEnum.Online; user.FirstName = authUser.FirstName; user.LastName = authUser.LastName; userChangedState(authUser.UserName, authUser.StateId); _userCallbacks.Add(user, OperationContext.Current.GetCallbackChannel <IChatServiceCallback>()); } else { return((int)LoginEnum.WrongUsernameOrPassword); } return((int)LoginEnum.Successful); }
public UserRepository() { _Context = new ChatAppDBEntities(); }
public AppService() { _Context = new ChatAppDBEntities(); }