DocSpace-client/common/ASC.Core.Common/Core/GroupInfo.cs

49 lines
1.0 KiB
C#

namespace ASC.Core.Users;
[Serializable]
public class GroupInfo : IRole, IRecipientsGroup
{
public Guid ID { get; internal set; }
public string Name { get; set; }
public Guid CategoryID { get; set; }
public GroupInfo Parent { get; internal set; }
public string Sid { get; set; }
public GroupInfo() { }
public GroupInfo(Guid categoryID)
{
CategoryID = categoryID;
}
public override string ToString()
{
return Name;
}
public override int GetHashCode()
{
return ID != Guid.Empty ? ID.GetHashCode() : base.GetHashCode();
}
public override bool Equals(object obj)
{
if (!(obj is GroupInfo g))
{
return false;
}
if (ID == Guid.Empty && g.ID == Guid.Empty)
{
return ReferenceEquals(this, g);
}
return g.ID == ID;
}
string IRecipient.ID => ID.ToString();
string IRecipient.Name => Name;
public string AuthenticationType => "ASC";
public bool IsAuthenticated => false;
}