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

49 lines
1.0 KiB
C#
Raw Normal View History

2022-02-15 11:52:43 +00:00
namespace ASC.Core.Users;
[Serializable]
public class GroupInfo : IRole, IRecipientsGroup
2019-05-15 14:56:09 +00:00
{
2022-02-15 11:52:43 +00:00
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; }
2019-05-15 14:56:09 +00:00
2022-02-15 11:52:43 +00:00
public GroupInfo() { }
2019-05-15 14:56:09 +00:00
2022-02-15 11:52:43 +00:00
public GroupInfo(Guid categoryID)
{
CategoryID = categoryID;
}
2019-05-15 14:56:09 +00:00
2022-02-15 11:52:43 +00:00
public override string ToString()
{
return Name;
}
public override int GetHashCode()
{
return ID != Guid.Empty ? ID.GetHashCode() : base.GetHashCode();
}
2019-05-15 14:56:09 +00:00
2022-02-15 11:52:43 +00:00
public override bool Equals(object obj)
{
if (!(obj is GroupInfo g))
2019-05-15 14:56:09 +00:00
{
2022-02-15 11:52:43 +00:00
return false;
2019-05-15 14:56:09 +00:00
}
2022-02-15 11:52:43 +00:00
if (ID == Guid.Empty && g.ID == Guid.Empty)
2019-05-15 14:56:09 +00:00
{
2022-02-15 11:52:43 +00:00
return ReferenceEquals(this, g);
2019-05-15 14:56:09 +00:00
}
2022-02-15 11:52:43 +00:00
return g.ID == ID;
2019-05-15 14:56:09 +00:00
}
2022-02-15 11:52:43 +00:00
string IRecipient.ID => ID.ToString();
string IRecipient.Name => Name;
public string AuthenticationType => "ASC";
public bool IsAuthenticated => false;
}