using System; using Portoa.Logging; using Portoa.Persistence; using Portoa.Security; namespace VideoGameQuotes.Api { public class User : Entity, IPasswordProtected { private readonly IPasswordProtected passwordProtector = new NullAllowingPasswordProtector(); public User() { Created = DateTime.UtcNow; } public virtual DateTime Created { get; set; } public virtual string Username { get; set; } public virtual string IpAddress { get; set; } public virtual UserGroup Group { get; set; } public virtual void ChangePassword([DoNotLog]string newPassword) { passwordProtector.ChangePassword(newPassword); } public virtual bool VerifyPassword([DoNotLog]string potentialPassword) { return passwordProtector.VerifyPassword(potentialPassword); } } }