using Marco.Pms.Model.MongoDBModels.Employees; using Marco.Pms.Model.MongoDBModels.Masters; using Marco.Pms.Model.MongoDBModels.Project; namespace Marco.Pms.Model.MongoDBModels.Expenses { public class ExpenseDetailsMongoDB { public string Id { get; set; } = string.Empty; public ProjectBasicMongoDB Project { get; set; } = new ProjectBasicMongoDB(); public ExpensesTypeMasterMongoDB ExpensesType { get; set; } = new ExpensesTypeMasterMongoDB(); public PaymentModeMatserMongoDB PaymentMode { get; set; } = new PaymentModeMatserMongoDB(); public BasicEmployeeMongoDB PaidBy { get; set; } = new BasicEmployeeMongoDB(); public BasicEmployeeMongoDB CreatedBy { get; set; } = new BasicEmployeeMongoDB(); public BasicEmployeeMongoDB? ReviewedBy { get; set; } public BasicEmployeeMongoDB? ApprovedBy { get; set; } public BasicEmployeeMongoDB? ProcessedBy { get; set; } public DateTime TransactionDate { get; set; } public DateTime CreatedAt { get; set; } public DateTime ExpireAt { get; set; } = DateTime.UtcNow.Date.AddDays(1); public string SupplerName { get; set; } = string.Empty; public double Amount { get; set; } public ExpensesStatusMasterMongoDB Status { get; set; } = new ExpensesStatusMasterMongoDB(); public List NextStatus { get; set; } = new List(); public bool PreApproved { get; set; } = false; public string? TransactionId { get; set; } public string Description { get; set; } = string.Empty; public string? Location { get; set; } public List Documents { get; set; } = new List(); public string? GSTNumber { get; set; } public int? NoOfPersons { get; set; } public bool IsActive { get; set; } = true; public string TenantId { get; set; } = string.Empty; } }