using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace PayRollDAL.DTO.OverTime { public class OverTimeDTO { #region PrivateMembers #region OverTime private int overtimeid; //Id private List overtimedetailarray = new List(); #region BizTransactionType private int biztransactiontypeid; //Id private string biztransactiontypecode; //Code private string biztransactiontypename; //Name #endregion #region OrganizationUnit private int ouid; //Id private string oucode; //Code private string ouname; //Name #endregion #region Period private int periodid = -1; //Id private string periodcode; //Code private string periodname; //Name #endregion private string overtimeovertimenumber; //OverTimeNumber private DateTime overtimeovertimedate; //OverTimeDate private DateTime overtimeforthedate; //ForTheDate private string overtimeremarks; //Remarks #endregion private string employeecode; private string employeename; private int shiftid = -1; private string shiftdescription; private int worktypeid = -1; private string worktypename; private int employeeid = -1; private string overtimetempforthedate; #region Base private byte overtimestatus; //Status private Int16 overtimeversion; //Version private byte overtimesourcetype; //Sourcetype #endregion #region Standard private int overtimecreatedbyid; //CreatedById private string overtimecreatedbyname; //CreatedByName private DateTime overtimecreatedon; //CreatedOn private int overtimemodifiedbyid; //ModifiedById private string overtimemodifiedbyname; //ModifiedByName private DateTime overtimemodifiedon; //ModifiedOn #endregion #endregion #region PublicMembers #region OverTime public int OverTimeId { get { return overtimeid; } //Id set { overtimeid = value; } //Id } #region BizTransactionType public int BIZTransactionTypeId { get { return biztransactiontypeid; } //Id set { biztransactiontypeid = value; } //Id } public string BIZTransactionTypeCode { get { return biztransactiontypecode; } //Code set { biztransactiontypecode = value; } //Code } public string BIZTransactionTypeName { get { return biztransactiontypename; } //Name set { biztransactiontypename = value; } //Name } #endregion #region OrganizationUnit public int OUId { get { return ouid; } //Id set { ouid = value; } //Id } public string OUCode { get { return oucode; } //Code set { oucode = value; } //Code } public string OUName { get { return ouname; } //Name set { ouname = value; } //Name } #endregion #region Period public int PeriodId { get { return periodid; } //Id set { periodid = value; } //Id } public string PeriodCode { get { return periodcode; } //Code set { periodcode = value; } //Code } public string PeriodName { get { return periodname; } //Name set { periodname = value; } //Name } #endregion public string OverTimeOverTimeNumber { get { return overtimeovertimenumber; } //OverTimeNumber set { overtimeovertimenumber = value; } //OverTimeNumber } public DateTime OverTimeOverTimeDate { get { return overtimeovertimedate; } //OverTimeDate set { overtimeovertimedate = value; } //OverTimeDate } public DateTime OverTimeForTheDate { get { return overtimeforthedate; } //ForTheDate set { overtimeforthedate = value; } //ForTheDate } public string OverTimeRemarks { get { return overtimeremarks; } //Remarks set { overtimeremarks = value; } //Remarks } public string EmployeeCode { get { return employeecode; } //Remarks set { employeecode = value; } //Remarks } public string EmployeeName { get { return employeename; } //Remarks set { employeename = value; } //Remarks } public int ShiftId { get { return shiftid; } //Remarks set { shiftid = value; } //Remarks } public string ShiftDescription { get { return shiftdescription; } //Remarks set { shiftdescription = value; } //Remarks } public int WorkTypeId { get { return worktypeid; } //Remarks set { worktypeid = value; } //Remarks } public string WorkTypeName { get { return worktypename; } //remarks set { worktypename = value; } //remarks } public int EmployeeId { get { return employeeid; } //remarks set { employeeid = value; } //remarks } public string OverTimeTempForTheDate { get { return overtimetempforthedate; } //remarks set { overtimetempforthedate = value; } //remarks } #endregion #region Base public byte OverTimeStatus { get { return overtimestatus; } //Status set { overtimestatus = value; } //Status } public Int16 OverTimeVersion { get { return overtimeversion; } //Version set { overtimeversion = value; } //Version } public byte OverTimeSourcetype { get { return overtimesourcetype; } //Sourcetype set { overtimesourcetype = value; } //Sourcetype } /*-------------------------------------*/ public List OverTimeDetailArray { get { return overtimedetailarray; } set { overtimedetailarray = value; } } #endregion #region Standard public int OverTimeCreatedById { get { return overtimecreatedbyid; } //CreatedById set { overtimecreatedbyid = value; } //CreatedById } public string OverTimeCreatedByName { get { return overtimecreatedbyname; } //CreatedByName set { overtimecreatedbyname = value; } //CreatedByName } public DateTime OverTimeCreatedOn { get { return overtimecreatedon; } //CreatedOn set { overtimecreatedon = value; } //CreatedOn } public int OverTimeModifiedById { get { return overtimemodifiedbyid; } //ModifiedById set { overtimemodifiedbyid = value; } //ModifiedById } public string OverTimeModifiedByName { get { return overtimemodifiedbyname; } //ModifiedByName set { overtimemodifiedbyname = value; } //ModifiedByName } public DateTime OverTimeModifiedOn { get { return overtimemodifiedon; } //ModifiedOn set { overtimemodifiedon = value; } //ModifiedOn } #endregion private string loginmailid; public string LoginMailId { get { return loginmailid; } //remarks set { loginmailid = value; } //remarks } private string functionreportingtomailid; private string functionreportingtomobilenumber; private string adminreportingtomailid; private string adminreportingtomobilenumber; private string functionandadminreportingtomailid; private string functionandadminreportingtomobilenumber; private string createdbyuserfunctionreportingtomailid; private string createdbyuserfunctionreportingtomobilenumber; private string createdbyuseradminreportingtomailid; private string createdbyuseradminreportingtomobilenumber; private string modifiedbydepartmentheadmailid; private string modifiedbydepartmentheadmobilenumber; public string FunctionReportingToMailId { get { return functionreportingtomailid; } //FunctionReportingToMailId set { functionreportingtomailid = value; } //FunctionReportingToMailId } public string FunctionReportingToMobileNumber { get { return functionreportingtomobilenumber; } //FunctionReportingToMobileNumber set { functionreportingtomobilenumber = value; } //FunctionReportingToMobileNumber } public string AdminReportingToMailId { get { return adminreportingtomailid; } //AdminReportingToMailId set { adminreportingtomailid = value; } //AdminReportingToMailId } public string AdminReportingToMobileNumber { get { return adminreportingtomobilenumber; } //AdminReportingToMobileNumber set { adminreportingtomobilenumber = value; } //AdminReportingToMobileNumber } public string FunctionAndAdminReportingToMailId { get { return functionandadminreportingtomailid; } //FunctionAndAdminReportingToMailId set { functionandadminreportingtomailid = value; } //FunctionAndAdminReportingToMailId } public string FunctionAndAdminReportingToMobileNumber { get { return functionandadminreportingtomobilenumber; } //FunctionAndAdminReportingToMobileNumber set { functionandadminreportingtomobilenumber = value; } //FunctionAndAdminReportingToMobileNumber } public string CreatedByUserFunctionReportingToMailId { get { return createdbyuserfunctionreportingtomailid; } //CreatedByUserFunctionReportingToMailId set { createdbyuserfunctionreportingtomailid = value; } //CreatedByUserFunctionReportingToMailId } public string CreatedByUserFunctionReportingToMobileNumber { get { return createdbyuserfunctionreportingtomobilenumber; } //CreatedByUserFunctionReportingToMobileNumber set { createdbyuserfunctionreportingtomobilenumber = value; } //CreatedByUserFunctionReportingToMobileNumber } public string CreatedByUserAdminReportingToMailId { get { return createdbyuseradminreportingtomailid; } //CreatedByUserAdminReportingToMailId set { createdbyuseradminreportingtomailid = value; } //CreatedByUserAdminReportingToMailId } public string CreatedByUserAdminReportingToMobileNumber { get { return createdbyuseradminreportingtomobilenumber; } //CreatedByUserAdminReportingToMobileNumber set { createdbyuseradminreportingtomobilenumber = value; } //CreatedByUserAdminReportingToMobileNumber } public string ModifiedByDepartmentHeadMailId { get { return modifiedbydepartmentheadmailid; } //ModifiedByDepartmentHeadMailId set { modifiedbydepartmentheadmailid = value; } //ModifiedByDepartmentHeadMailId } public string ModifiedByDepartmentHeadMobileNumber { get { return modifiedbydepartmentheadmobilenumber; } //ModifiedByDepartmentHeadMobileNumber set { modifiedbydepartmentheadmobilenumber = value; } //ModifiedByDepartmentHeadMobileNumber } // ── GB5 migration additions (SaveOverTime parity fields) ───────────────────── // Multi-tenant filter — mandatory on every tenant-scoped read/write (MigrationClaude.md §23). public int TenantId { get; set; } // Auto-populated from the employee record during SaveOverTime (GB4 parity — // "Admin Reporting to, functional reporting to needed for overtime approval"). public int FunctionalReportingTo { get; set; } = -1; public int AdminReportingTo { get; set; } = -1; public int PayConfigurationId { get; set; } = -1; public int CreatedByFunctionalReportingTo { get; set; } = -1; public int CreatedByAdminReportingTo { get; set; } = -1; public int ModifiedByDepartmentHeadId { get; set; } = -1; // OuWiseDepartmentWiseHead lookup result (Z_DEPTWISEOUWISEHEAD addon table — // wrapped in try/catch in the DAL because the table may not exist in every // deployment). -1 when not found / table absent. public int OuWiseDepartmentWiseHeadId { get; set; } = -1; #endregion } }