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;
|
|
|
|
}
|