CEL_Payroll/Payroll.BO/TrainingBOs/TrainingSchedule.cs

1243 lines
32 KiB
C#
Raw Permalink Normal View History

2024-09-17 14:30:13 +06:00
using System;
using Ease.CoreV35.Caching;
using Ease.CoreV35.Model;
using System.Data;
namespace Payroll.BO
{
#region Class TrainingSchedule
[Serializable]
public class TrainingSchedule : AuditTrailBase
{
#region Cache Store
private static Cache _cache = new Cache(typeof(TrainingSchedule));
#endregion
#region Constructor
public TrainingSchedule()
{
_trainingID = null;
_trainingNatureID = null;
_instituteID = null;
_startDate = DateTime.MinValue;
_endDate = DateTime.MinValue;
_cost = 0;
_maxParticipants = 0;
_enrolledParticipants = 0;
_courseOutline = string.Empty;
_scheduleStatus = true;
_enrolledTrainingEmployees = null;
_trainingScheduleDates = null;
_tNAnalysisID = null;
_isShowInWeb = false;
_payrollTypeID = null;
_venue = string.Empty;
_payrollTypeID = SystemInformation.CurrentSysInfo.PayrollTypeID;
}
#endregion
#region Properties
#region Property TrainingID : ID
private ID _trainingID;
public ID TrainingID
{
get
{
return _trainingID;
}
set
{
_trainingID = value;
}
}
#endregion
#region Property TrainingNatureID : ID
private ID _trainingNatureID;
public ID TrainingNatureID
{
get
{
return _trainingNatureID;
}
set
{
_trainingNatureID = value;
}
}
#endregion
#region Property InstituteID : ID
private ID _instituteID;
public ID InstituteID
{
get
{
return _instituteID;
}
set
{
_instituteID = value;
}
}
#endregion
#region Property StartDate : DateTime
private DateTime _startDate;
public DateTime StartDate
{
get
{
return _startDate;
}
set
{
_startDate = value;
}
}
#endregion
#region Property EndDate : DateTime
private DateTime _endDate;
public DateTime EndDate
{
get
{
return _endDate;
}
set
{
_endDate = value;
}
}
#endregion
#region Property EnrolledStartDate : DateTime
private DateTime _enrolledStartDate;
public DateTime EnrolledStartDate
{
get
{
return _enrolledStartDate;
}
set
{
_enrolledStartDate = value;
}
}
#endregion
#region Property EnrolledEndDate : DateTime
private DateTime _enrolledEndDate;
public DateTime EnrolledEndDate
{
get
{
return _enrolledEndDate;
}
set
{
_enrolledEndDate = value;
}
}
#endregion
#region Property Cost : double
private double _cost;
public double Cost
{
get
{
return _cost;
}
set
{
_cost = value;
}
}
#endregion
#region Property MaxParticipants : int
private int _maxParticipants;
public int MaxParticipants
{
get
{
return _maxParticipants;
}
set
{
_maxParticipants = value;
}
}
#endregion
#region Property EnrolledParticipants : int
private int _enrolledParticipants;
public int EnrolledParticipants
{
get
{
return _enrolledParticipants;
}
set
{
_enrolledParticipants = value;
}
}
#endregion
#region Property CourseOutline : string
private string _courseOutline;
public string CourseOutline
{
get
{
return _courseOutline;
}
set
{
_courseOutline = value;
}
}
#endregion
#region Property Venue : string
private string _venue;
public string Venue
{
get
{
return _venue;
}
set
{
_venue = value;
}
}
#endregion
#region Property TrainerDescription : string
private string _trainerDescription;
public string TrainerDescription
{
get
{
return _trainerDescription;
}
set
{
_trainerDescription = value;
}
}
#endregion
#region Property ScheduleStatus : bool
private bool _scheduleStatus;
public bool ScheduleStatus
{
get
{
return _scheduleStatus;
}
set
{
_scheduleStatus = value;
}
}
#endregion
#region Property Name : string
public string Name
{
get
{
return String.Format("{0} From: {1} To: {2}", Training.Get(TrainingID.Integer).Name,
StartDate.ToString("dd MMM yyyy"), EndDate.ToString("dd MMM yyyy"));
}
}
#endregion
#region Property IsShowInWeb : bool
private bool _isShowInWeb;
public bool IsShowInWeb
{
get
{
return _isShowInWeb;
}
set
{
_isShowInWeb = value;
}
}
#endregion
#region Property TNAnalysisID : ID
private ID _tNAnalysisID;
public ID TNAnalysisID
{
get
{
return _tNAnalysisID;
}
set
{
_tNAnalysisID = value;
}
}
#endregion
#region Property PayrollTypeID : ID
private ID _payrollTypeID;
public ID PayrollTypeID
{
get
{
return _payrollTypeID;
}
set
{
_payrollTypeID = value;
}
}
#endregion
#region Property VenueCost : double
private double _venueCost;
public double VenueCost
{
get
{
return _venueCost;
}
set
{
_venueCost = value;
}
}
#endregion
#region Property RefreshmentCost : double
private double _refreshmentCost;
public double RefreshmentCost
{
get
{
return _refreshmentCost;
}
set
{
_refreshmentCost = value;
}
}
#endregion
#region Property TrainerFees : double
private double _trainerFees;
public double TrainerFees
{
get
{
return _trainerFees;
}
set
{
_trainerFees = value;
}
}
#endregion
#region Property OthesCost : double
private double _othesCost;
public double OthesCost
{
get
{
return _othesCost;
}
set
{
_othesCost = value;
}
}
#endregion
private Training _training;
public Training Training
{
get
{
if (_training == null && _trainingID != null)
{
//_employee = new Employee();
_training = Training.Get(_trainingID.Integer);
}
return _training;
}
set
{
_training = value;
}
}
#region Property TrainingScheduleEmployees : TrainingScheduleEmployee
private ObjectsTemplate<TrainingScheduleEmployee> _enrolledTrainingEmployees;
public ObjectsTemplate<TrainingScheduleEmployee> EnrolledTrainingEmployees
{
get
{
if (_enrolledTrainingEmployees == null && !this.ID.IsUnassigned && this.ID.Integer > 0)
{
_enrolledTrainingEmployees = Service.GetTrainingScheduleEmployees(this.ID);
}
return _enrolledTrainingEmployees;
}
set
{
_enrolledTrainingEmployees = value;
}
}
#endregion
#region Property TrainingScheduleDates : TrainingScheduleDate
private ObjectsTemplate<TrainingScheduleDate> _trainingScheduleDates;
public ObjectsTemplate<TrainingScheduleDate> TrainingScheduleDates
{
get
{
if (_trainingScheduleDates == null && !this.ID.IsUnassigned && this.ID.Integer > 0)
{
_trainingScheduleDates = Service.GetTrainingScheduleDates(this.ID);
}
return _trainingScheduleDates;
}
set
{
_trainingScheduleDates = value;
}
}
#endregion
#region Property TrainingScheduleDates : TrainingScheduleDate
private ObjectsTemplate<TrainingScheduleAttn> _trainingScheduleAttn;
public ObjectsTemplate<TrainingScheduleAttn> TrainingScheduleAttns
{
get
{
if (_trainingScheduleAttn == null && !this.ID.IsUnassigned && this.ID.Integer > 0)
{
_trainingScheduleAttn =Payroll.BO.TrainingScheduleAttn.GetByTrainingScheduleID(this.ID);
}
return _trainingScheduleAttn;
}
set
{
_trainingScheduleAttn = value;
}
}
#endregion
#endregion
#region Functions
public static TrainingSchedule Get(int nTrainingScheduleID)
{
TrainingSchedule oTrainingSchedule;
#region Cache Header
oTrainingSchedule = (TrainingSchedule)_cache["Get", nTrainingScheduleID];
if (oTrainingSchedule != null)
return oTrainingSchedule;
#endregion
oTrainingSchedule = Service.Get(ID.FromInteger(nTrainingScheduleID));
#region Cache Footer
_cache.Add(oTrainingSchedule, "Get", nTrainingScheduleID);
#endregion
return oTrainingSchedule;
}
public static TrainingScheduleEmployee getScheduleEmp(ID SEmpID)
{
TrainingScheduleEmployee oTrainingScheduleEmp;
#region Cache Header
oTrainingScheduleEmp = (TrainingScheduleEmployee)_cache["getScheduleEmp", SEmpID];
if (oTrainingScheduleEmp != null)
return oTrainingScheduleEmp;
#endregion
oTrainingScheduleEmp = Service.getScheduleEmp(SEmpID);
#region Cache Footer
_cache.Add(oTrainingScheduleEmp, "getScheduleEmp", SEmpID);
#endregion
return oTrainingScheduleEmp;
}
public ID Save()
{
this.SetAuditTrailProperties();
return Service.Save(this);
}
public ID SaveAttnStatus()
{
this.SetAuditTrailProperties();
return Service.SaveAttnStatus(this);
}
public ID SaveTrainingEmp(TrainingScheduleEmployee tEmp)
{
return Service.SaveTrainingEmp(tEmp);
}
public void Delete()
{
TrainingSchedule.Service.Delete(this.ID);
}
public void DeleteNominatedEmp(ID SEmpID)
{
TrainingSchedule.Service.DeleteNominatedEmp(SEmpID);
}
public void updateScheduleEmp(ID SEmpID, int status)
{
TrainingSchedule.Service.updateScheduleEmp(SEmpID, status);
}
#endregion
#region Collection Functions
public static ObjectsTemplate<TrainingSchedule> Get()
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> GetbyStatus(int status)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.GetbyStatus(status,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(bool active)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(active,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(DateTime today)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(today,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, int training)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(fromDate, toDate, training,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, int training, bool active)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(fromDate, toDate, training, active,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(int training,int TNAID, bool active)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(training,TNAID, active,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(DateTime today, int EmpID, int status)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(today, EmpID, status,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(int training, int TNAID)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(training, TNAID,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, bool active)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(fromDate, toDate, active,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public static ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate)
{
ObjectsTemplate<TrainingSchedule> oTrainingSchedules = null;
#region Cache Header
oTrainingSchedules = (ObjectsTemplate<TrainingSchedule>)_cache["Get"];
if (oTrainingSchedules != null)
return oTrainingSchedules;
#endregion
oTrainingSchedules = Service.Get(fromDate, toDate,Payroll.BO.SystemInformation.CurrentSysInfo.PayrollTypeID.Integer);
#region Cache Footer
_cache.Add(oTrainingSchedules, "Get");
#endregion
return oTrainingSchedules;
}
public ObjectsTemplate<Employee> GetEmployees()
{
ObjectsTemplate<Employee> employees = new ObjectsTemplate<Employee>();
if (EnrolledTrainingEmployees == null || EnrolledTrainingEmployees.Count == 0)
return null;
foreach (TrainingScheduleEmployee trainingEmployee in _enrolledTrainingEmployees)
{
Employee employee = null;
employee = Employee.Get(trainingEmployee.EmployeeID);
employees.Add(employee);
}
return employees;
}
public static DataSet Get(string query)
{
DataSet ds = null;
try
{
ds = Service.Get(query);
}
catch (ServiceException e)
{
throw new Exception(e.Message, e);
}
return ds;
}
#endregion
#region Service Factory
internal static ITrainingScheduleService Service
{
get
{
return Services.Factory.CreateService<ITrainingScheduleService>(typeof(ITrainingScheduleService));
}
}
#endregion
}
#endregion
#region Child Classes
#region Class TrainingScheduleEmployee
[Serializable]
public class TrainingScheduleEmployee : BasicBaseObject, IworkflowInterface
{
#region Cache Store
private static Cache _cache = new Cache(typeof(TrainingScheduleEmployee));
#endregion
#region Constructor
public TrainingScheduleEmployee()
{
_trainingScheduleID = null;
_employeeID = null;
_proposedByID = null;
_proposedDate = DateTime.MinValue;
_scheduleEmpStatus = EnumTSStatus.Requested;
_remarks = string.Empty;
}
#endregion
#region Properties
#region Property ProposedById :ID
private ID _proposedByID;
public ID ProposedByID
{
get
{
return _proposedByID;
}
set
{
_proposedByID = value;
}
}
#endregion
#region Property ProposedDate : dateTime
private DateTime _proposedDate;
public DateTime ProposedDate
{
get
{
return _proposedDate;
}
set
{
_proposedDate = value;
}
}
#endregion
#region Property TrainingScheduleID : ID
private ID _trainingScheduleID;
public ID TrainingScheduleID
{
get
{
return _trainingScheduleID;
}
set
{
_trainingScheduleID = value;
}
}
#endregion
#region Property EmployeeID : ID
private ID _employeeID;
public ID EmployeeID
{
get
{
return _employeeID;
}
set
{
_employeeID = value;
}
}
#endregion
#region Property ScheduleStatus : EnumTSStatus
private EnumTSStatus _scheduleEmpStatus;
public EnumTSStatus ScheduleEmpStatus
{
get
{
return _scheduleEmpStatus;
}
set
{
_scheduleEmpStatus = value;
}
}
#endregion
private Employee _employee;
public Employee Employee
{
get
{
if (_employee == null && _employeeID != null)
{
//_employee = new Employee();
_employee = Employee.Get(_employeeID);
}
return _employee;
}
set
{
_employee = value;
}
}
public double GetTrainingCost()
{
double nAmount = 0;
if (this.TrainingSchEmpCosts == null) return 0;
foreach (Payroll.BO.TrainingSchEmpCost item in this.TrainingSchEmpCosts)
{
nAmount = nAmount + item.Amount;
}
return nAmount;
}
private TrainingSchedule _trainingSchedule;
public TrainingSchedule TrainingSchedule
{
get
{
if (_trainingSchedule == null && _trainingScheduleID != null && _trainingScheduleID != null)
{
//_employee = new Employee();
_trainingSchedule = TrainingSchedule.Get( _trainingScheduleID.Integer);
}
return _trainingSchedule;
}
set
{
_trainingSchedule = value;
}
}
#region Property TrainingSchEmpCost : TrainingSchEmpCost
private ObjectsTemplate<TrainingSchEmpCost> _trainingSchEmpCosts;
public ObjectsTemplate<TrainingSchEmpCost> TrainingSchEmpCosts
{
get
{
if (_trainingSchEmpCosts == null && !this.ID.IsUnassigned && this.ID.Integer > 0)
{
_trainingSchEmpCosts = TrainingSchEmpCost.Service.GetByTrainingScheduleEmpID(this.EmployeeID, this.ID);
}
return _trainingSchEmpCosts;
}
set
{
_trainingSchEmpCosts = value;
}
}
#endregion
#region Property Remarks : string
private string _remarks;
public string Remarks
{
get
{
return _remarks;
}
set
{
_remarks = value;
}
}
#endregion
#endregion
/// <summary>
/// this property is used for work flow, which return Training description
/// </summary>
public string ObjectDescription
{
get
{
string str = "";
str = " Employee (" + this.Employee.EmployeeNo + ")" + this.Employee.Name
+ " applied enrollment request for " + this.TrainingSchedule.Training.Name + " on " +
this.CreatedDate.ToString("dd MMM yyyy");
return str;
}
}
/// <summary>
/// this property is used for work flow, it's a constant value
/// </summary>
public ID SetupID
{
get { return ID.FromInteger(5); }
}
/// <summary>
/// this property is used for work flow, which return leave entry id
/// </summary>
public ID ObjectID
{
get { return this.ID; }
}
}
#endregion
#region Class TrainingScheduleDate
[Serializable]
public class TrainingScheduleDate: BasicBaseObject
{
#region Cache Store
private static Cache _cache = new Cache(typeof(TrainingScheduleDate));
#endregion
#region Constructor
public TrainingScheduleDate()
{
_trainingScheduleID = null;
_scheduleDate = DateTime.MinValue;
_startTime = DateTime.MinValue;
_endTime = DateTime.MinValue;
_remarks = string.Empty;
}
#endregion
#region Properties
#region Property TrainingScheduleID : ID
private ID _trainingScheduleID;
public ID TrainingScheduleID
{
get
{
return _trainingScheduleID;
}
set
{
_trainingScheduleID = value;
}
}
#endregion
#region Property ScheduleDate : dateTime
private DateTime _scheduleDate;
public DateTime ScheduleDate
{
get
{
return _scheduleDate;
}
set
{
_scheduleDate = value;
}
}
#endregion
#region Property StartTime : DateTime
private DateTime _startTime;
public DateTime StartTime
{
get
{
return _startTime;
}
set
{
_startTime = value;
}
}
#endregion
#region Property EndTime : DateTime
private DateTime _endTime;
public DateTime EndTime
{
get
{
return _endTime;
}
set
{
_endTime = value;
}
}
#endregion
#region Property Remarks : string
private string _remarks;
public string Remarks
{
get
{
return _remarks;
}
set
{
_remarks = value;
}
}
#endregion
#region Property StartTimeString : String
public String StartTimeString
{
get
{
if (_startTime != DateTime.MinValue)
return _startTime.ToString("hh:mm tt");
return "";
}
}
#endregion
#region Property EndTimeString : String
public String EndTimeString
{
get
{
if (_endTime != DateTime.MinValue)
return _endTime.ToString("hh:mm tt");
return "";
}
}
#endregion
#region Property TrainingScheduleDates : TrainingScheduleDate
private ObjectsTemplate<TrainingScheduleAttn> _trainingScheduleAttns;
public ObjectsTemplate<TrainingScheduleAttn> TrainingScheduleAttns
{
get
{
if (_trainingScheduleAttns == null && !this.ID.IsUnassigned && this.ID.Integer > 0)
{
_trainingScheduleAttns = TrainingScheduleAttn.Service.GetByTrainingScheduleDateID(this.ID);
}
return _trainingScheduleAttns;
}
set
{
_trainingScheduleAttns = value;
}
}
#endregion
#endregion
}
#endregion
#endregion
#region ITrainingSchedule Service
public interface ITrainingScheduleService
{
TrainingSchedule Get(ID id);
ObjectsTemplate<TrainingSchedule> Get(int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(bool active, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(DateTime today, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, int training, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> GetbyStatus(int status, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, int training, bool active, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(DateTime fromDate, DateTime toDate, bool active, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(DateTime today, int EmpID, int status, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(int training, int TNAID, bool active, int payrollTypeID);
ObjectsTemplate<TrainingSchedule> Get(int training, int TNAID, int payrollTypeID);
ID Save(TrainingSchedule oTrainingSchedule);
void Delete(ID id);
void DeleteNominatedEmp(ID SEmpID);
void updateScheduleEmp(ID SEmpID, int status);
TrainingScheduleEmployee getScheduleEmp(ID SEmpID);
ObjectsTemplate<TrainingScheduleDate> GetTrainingScheduleDates(ID trainingScheduleID);
ObjectsTemplate<TrainingScheduleEmployee> GetTrainingScheduleEmployees(ID trainingScheduleID);
ID SaveAttnStatus(TrainingSchedule trainingSchedule);
DataSet Get(string query);
ID SaveTrainingEmp(TrainingScheduleEmployee tEmp);
}
#endregion
}