DocSpace-client/common/ASC.Core.Common/Billing/Tariff.cs

48 lines
1.2 KiB
C#
Raw Normal View History

2022-02-15 11:52:43 +00:00
namespace ASC.Core.Billing;
[DebuggerDisplay("{QuotaId} ({State} before {DueDate})")]
[Serializable]
public class Tariff
{
public int QuotaId { get; set; }
public TariffState State { get; set; }
public DateTime DueDate { get; set; }
public DateTime DelayDueDate { get; set; }
public DateTime LicenseDate { get; set; }
public bool Autorenewal { get; set; }
public bool Prolongable { get; set; }
public int Quantity { get; set; }
2021-05-17 11:35:00 +00:00
2022-02-15 11:52:43 +00:00
public static Tariff CreateDefault()
{
return new Tariff
2021-05-17 11:35:00 +00:00
{
2022-02-15 11:52:43 +00:00
QuotaId = Tenant.DefaultTenant,
State = TariffState.Paid,
DueDate = DateTime.MaxValue,
DelayDueDate = DateTime.MaxValue,
LicenseDate = DateTime.MaxValue,
Quantity = 1
};
}
public override int GetHashCode()
{
return QuotaId.GetHashCode();
}
public override bool Equals(object obj)
{
return obj is Tariff t && t.QuotaId == QuotaId;
}
public bool EqualsByParams(Tariff t)
{
return t != null
&& t.QuotaId == QuotaId
&& t.DueDate == DueDate
&& t.Quantity == Quantity;
}
}