using Marco.Pms.Model.Expenses.Masters;
using Marco.Pms.Model.Master;
using Marco.Pms.Model.TenantModels;
using Marco.Pms.Model.ViewModels.Activities;
using Marco.Pms.Model.ViewModels.Expenses.Masters;
using Marco.Pms.Model.ViewModels.Projects;

namespace Marco.Pms.Model.ViewModels.Expenses
{
    public class RecurringPaymentVM
    {
        public Guid Id { get; set; }
        public string? Title { get; set; }
        public string? Description { get; set; }
        public string? RecurringPaymentUId { get; set; }
        public string? Payee { get; set; }
        public string? NotifyTo { get; set; }
        public CurrencyMaster? Currency { get; set; }
        public double Amount { get; set; }
        public DateTime StrikeDate { get; set; }
        public DateTime? LatestPRGeneratedAt { get; set; }
        public BasicProjectVM? Project { get; set; }
        public int PaymentBufferDays { get; set; }
        public DateTime? NextStrikeDate { get; set; }
        public DateTime EndDate { get; set; }
        public ExpenseCategoryMasterVM? ExpenseCategory { get; set; }
        public RecurringPaymentStatus? Status { get; set; }
        public PLAN_FREQUENCY Frequency { get; set; }
        public bool IsVariable { get; set; }
        public bool IsActive { get; set; }
        public DateTime CreatedAt { get; set; }
        public BasicEmployeeVM? CreatedBy { get; set; }
    }
}
