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

namespace Marco.Pms.Model.ViewModels.Expenses
{
    public class PaymentRequestDetailsVM
    {
        public Guid Id { get; set; }
        public string? Title { get; set; }
        public string? Description { get; set; }
        public string? PaymentRequestUID { get; set; }
        public string? Payee { get; set; }
        public CurrencyMaster? Currency { get; set; }
        public double Amount { get; set; }
        public double? BaseAmount { get; set; }
        public double? TaxAmount { get; set; }
        public double? TDSPercentage { get; set; }
        public DateTime DueDate { get; set; }
        public BasicProjectVM? Project { get; set; }
        public BasicRecurringPaymentVM? RecurringPayment { get; set; }
        public ExpenseCategoryMasterVM? ExpenseCategory { get; set; }
        public ExpensesStatusMasterVM? ExpenseStatus { get; set; }
        public string? PaidTransactionId { get; set; }
        public DateTime? PaidAt { get; set; }
        public BasicEmployeeVM? PaidBy { get; set; }
        public bool IsAdvancePayment { get; set; }
        public DateTime CreatedAt { get; set; }
        public BasicEmployeeVM? CreatedBy { get; set; }
        public DateTime UpdatedAt { get; set; }
        public BasicEmployeeVM? UpdatedBy { get; set; }
        public List<ExpensesStatusMasterVM>? NextStatus { get; set; }
        public List<PaymentRequestUpdateLog>? UpdateLogs { get; set; }
        public List<PaymentRequestAttachmentVM>? Attachments { get; set; }
        public bool IsActive { get; set; }
        public bool IsExpenseCreated { get; set; }
    }
}
