// Copyright (c) Microsoft Open Technologies, Inc. All rights reserved. // Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. using System; using System.Collections.Generic; namespace Microsoft.AspNet.Identity.EntityFramework.InMemory.Test { public class InMemoryUser : InMemoryUser { public InMemoryUser() { Id = Guid.NewGuid().ToString(); } public InMemoryUser(string userName) : this() { UserName = userName; } } public class InMemoryUser where TLogin : IdentityUserLogin where TRole : IdentityUserRole where TClaim : IdentityUserClaim where TKey : IEquatable { public InMemoryUser() { Claims = new List(); Roles = new List(); Logins = new List(); } public virtual TKey Id { get; set; } public virtual string UserName { get; set; } /// /// Email /// public virtual string Email { get; set; } /// /// True if the email is confirmed, default is false /// public virtual bool EmailConfirmed { get; set; } /// /// The salted/hashed form of the user password /// public virtual string PasswordHash { get; set; } /// /// A random value that should change whenever a users credentials have changed (password changed, login removed) /// public virtual string SecurityStamp { get; set; } /// /// PhoneNumber for the user /// public virtual string PhoneNumber { get; set; } /// /// True if the phone number is confirmed, default is false /// public virtual bool PhoneNumberConfirmed { get; set; } /// /// Is two factor enabled for the user /// public virtual bool TwoFactorEnabled { get; set; } /// /// DateTime in UTC when lockout ends, any time in the past is considered not locked out. /// public virtual DateTime? LockoutEnd { get; set; } /// /// Is lockout enabled for this user /// public virtual bool LockoutEnabled { get; set; } /// /// Used to record failures for the purposes of lockout /// public virtual int AccessFailedCount { get; set; } /// /// Navigation property for user roles /// public virtual ICollection Roles { get; private set; } /// /// Navigation property for user claims /// public virtual ICollection Claims { get; private set; } /// /// Navigation property for user logins /// public virtual ICollection Logins { get; private set; } } }