DocSpace-buildtools/common/ASC.Core.Common/Security/Authentication/UserAccount.cs

47 lines
1.2 KiB
C#

namespace ASC.Core.Security.Authentication;
[Serializable]
class UserAccount : MarshalByRefObject, IUserAccount
{
public Guid ID { get; private set; }
public string Name { get; private set; }
public string AuthenticationType => "ASC";
public bool IsAuthenticated => true;
public string FirstName { get; private set; }
public string LastName { get; private set; }
public string Title { get; private set; }
public int Tenant { get; private set; }
public string Email { get; private set; }
public UserAccount(UserInfo info, int tenant, UserFormatter userFormatter)
{
ID = info.Id;
Name = userFormatter.GetUserName(info);
FirstName = info.FirstName;
LastName = info.LastName;
Title = info.Title;
Tenant = tenant;
Email = info.Email;
}
public object Clone()
{
return MemberwiseClone();
}
public override bool Equals(object obj)
{
return obj is IUserAccount a && ID.Equals(a.ID);
}
public override int GetHashCode()
{
return ID.GetHashCode();
}
public override string ToString()
{
return Name;
}
}