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