using Newtonsoft.Json; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations.Schema; using System.Globalization; using System.Linq; using webapi.Domain.Events; using webapi.Domain.SeedWork; namespace webapi.Domain.AggregatesModel.FlatAggregate { [Table("mdbMaintenanceFees")] public class MaintenanceFee: Entity, IAggregateRoot { public MaintenanceFee() { } public MaintenanceFee(Guid taloyhtioPMCId, string pmsCondoName, string flatTitle, Guid id) { PMCTaloyhtioId = taloyhtioPMCId; PMSCondoName = pmsCondoName; FlatTitle = flatTitle; Id = id; PartitionKey = PMCTaloyhtioId.ToString(); //RowKey = Id.ToString(); } /// /// Condo name as it is stored in PMS. /// Note: condo name in PMS may differ from condo name in Taloyhtio.Info.PM should approve relation between condos in PMS and Taloyhtio.Info separately(see 6. Mapping PMS condo on Taloyhtio.Info condo) /// public string PMSCondoName { get; set; } /// /// A1, B2, etc. /// public string FlatTitle { get; set; } /// /// Flat identifier from mdbFlats table /// public Guid FlatId { get; set; } /// /// Maintenance fee for particular flat and payment type /// public double Fee { get; set; } /// /// Those period of time for which specified maintenance fee is provided /// public string PeriodOfTime { get; set; } /// /// Taloyhtio PMC Id of condo to which current flat belongs to /// public Guid PMCTaloyhtioId { get; set; } /// /// Payment type name /// public string PaymentType { get; set; } /// /// Three-digit payment type code (non-equal for different condo sites) /// public string PaymentCode { get; set; } /// /// Person /// public string Payer { get; set; } } }