namespace EntitlementDAL.DTOs; // MENTITLEMENTLICENSE (detail) — seat pool per channel. public class LicenseDTO { public int LicenseId { get; set; } public int SubscriptionId { get; set; } public short SlNo { get; set; } = 1; public byte LicenseType { get; set; } // 0=Web 1=Mobile 2=Portal 3=API public int Seats { get; set; } = 1; public DateTime ExpiryDate { get; set; } } // MENTITLEMENTLICENSEASSIGNMENT (detail) — a user holding a seat. public class LicenseAssignmentDTO { public int LicenseAssignmentId { get; set; } public int LicenseId { get; set; } public int UserId { get; set; } public DateTime AssignedOn { get; set; } public DateTime? RevokedOn { get; set; } } // Projection row for License.svc GetUtilisation. public class LicenseUtilisationDTO { public byte LicenseType { get; set; } public int Allocated { get; set; } // MENTITLEMENTLICENSE.SEATS public int Assigned { get; set; } // active (non-revoked) assignment count public int Remaining { get; set; } }