EchoTex_Payroll/HRM.BO/PMP/PMPProcess.cs
2024-10-14 10:01:49 +06:00

256 lines
7.0 KiB
C#

using Ease.Core.Model;
using System;
using System.Collections.Generic;
using System.Data;
namespace HRM.BO
{
public class PMPProcess : BasicBaseObject
{
#region Constructor
public PMPProcess()
{
PmpYear = DateTime.MinValue;
Description = string.Empty;
TargetSettingFrom = DateTime.MinValue;
TargetSettingTo = DateTime.MinValue;
MedianAppraisalFrom = DateTime.MinValue;
MedianAppraisalTo = DateTime.MinValue;
FinalApprovalFrom = DateTime.MinValue;
FinalApprovalTo = DateTime.MinValue;
IsFinalize = false;
PmpStatus = EnumPMPStatus.NotYetInitiate;
//DevelopmentFrom = DateTime.MinValue;
//DevelopmentTo = DateTime.MinValue;
}
#endregion
#region Properties
#region PmpStatus
private EnumPMPStatus _pmpStatus;
public EnumPMPStatus PmpStatus
{
get { return _pmpStatus; }
set { _pmpStatus = value; }
}
#endregion
#region PMPYear : DateTime
private DateTime _pmpYear;
public DateTime PmpYear
{
get { return _pmpYear; }
set { _pmpYear = value; }
}
#endregion
#region CutOffDate: DateTime
private DateTime? _cutOffDate;
public DateTime? CutOffDate
{
get { return _cutOffDate; }
set { _cutOffDate = value; }
}
#endregion
#region IsPublish : bool
private bool _isPublish;
public bool IsPublish
{
get { return _isPublish; }
set { _isPublish = value; }
}
#endregion
#region Description : string
private string _description;
public string Description
{
get { return _description; }
set { _description = value; }
}
#endregion
#region TargetSettingFrom : DateTime
private DateTime _targetSettingFrom;
public DateTime TargetSettingFrom
{
get { return _targetSettingFrom; }
set { _targetSettingFrom = value; }
}
#endregion
#region TargetSettingTo : DateTime
private DateTime _targetSettingTo;
public DateTime TargetSettingTo
{
get { return _targetSettingTo; }
set { _targetSettingTo = value; }
}
#endregion
#region MedianAppraisalFrom : DateTime
private DateTime _medianAppraisalFrom;
public DateTime MedianAppraisalFrom
{
get { return _medianAppraisalFrom; }
set { _medianAppraisalFrom = value; }
}
#endregion
#region MedianAppraisalTo: DateTime
private DateTime _medianAppraisalTo;
public DateTime MedianAppraisalTo
{
get { return _medianAppraisalTo; }
set { _medianAppraisalTo = value; }
}
#endregion
#region FinalApprovalFrom : DateTime
private DateTime _finalApprovalFrom;
public DateTime FinalApprovalFrom
{
get { return _finalApprovalFrom; }
set { _finalApprovalFrom = value; }
}
#endregion
#region FinalApprovalTo : DateTime
private DateTime _finalApprovalTo;
public DateTime FinalApprovalTo
{
get { return _finalApprovalTo; }
set { _finalApprovalTo = value; }
}
#endregion
#region IsFinalize : bool
private bool _isFinalize;
public bool IsFinalize
{
get { return _isFinalize; }
set { _isFinalize = value; }
}
#endregion
#region DevelopmentFrom : DateTime
private DateTime? _DevelopmentFrom;
public DateTime? DevelopmentFrom
{
get { return _DevelopmentFrom; }
set { _DevelopmentFrom = value; }
}
#endregion
#region DevelopmentTo : DateTime
private DateTime? _DevelopmentTo;
public DateTime? DevelopmentTo
{
get { return _DevelopmentTo; }
set { _DevelopmentTo = value; }
}
#endregion
#endregion
}
#region IPMPProcessService Service
public interface IPMPProcessService
{
List<PMPEmployeeRating> GetEmployeeRating(int processID);
PMPEmployeeRating GetEmployeeRating(int employeeID, int processID);
List<PMPEmployeeRating> GetEmployeeRatingForNotInitiate(int pmpProcessId, EnumPMPStatus pmpStatus);
List < PMPEmployeeRating > GetEmployeeRating(int pmpProcessId, EnumPMPStatus pmpStatus, PMPWFStatus status);
List<PMPEmployeeRating> GetEmployeeRatingForDraft(int pmpProcessId);
PMPEmployeeRating GetPMPEmployeeRatingByPMPProcessID(int id); // will not return correct value
PMPTargetSetting GetPmpTargetSettingByPmpTargetSettingId(int Id);
PMPValueBehaviorRating GetPmpValueBehaviorRatingById(int Id);
List<PMPTargetSetting> GetPMPTargetSettingsByEmployeeIdAndPMPProcessID(int id, int pmpProcessID);
PMPEmployeeRating GetPmpEmployeeRatingByEmployeeIdAndPmpProcessId(int empId, int pmpProcessId);
PMPEmployeeRating GetPmpEmployeeRatingByRatingId(int ratingId);
List<PMPValueBehaviorRating> GetValueBehaviorRatingsByEmployeeIdAndPmpProcessId(int empId, int pmpProcessId);
List<PMPProcess> Get(EnumStatus status); // remove
List<PMPTargetSetting> GetAllPMPTargetSettings(); //remove
PMPProcess GetPmpProcessByPmpProcesId(int id);
PMPProcess GetByPMPProcessID(int id);
PMPProcess Get(DateTime pmpYear);
List<PMPProcess> GetCurrentPMPYearWithPmpStatus(EnumPMPStatus pmpStatus, bool IsFinalize);
PMPProcess GetCurrentPMPYear(bool isFinalize);
PMPProcess GetByYear(int pmpYear);
int Save(PMPProcess item);
void Update(PMPProcess item);
void Delete(int id);
void SaveSinglePMPEmployeeRatingObject(PMPEmployeeRating obPmpempRating);
int SavePMPEmployeeRating(PMPEmployeeRating item);
int SavePMPTargetSetting(PMPTargetSetting item);
int SavePMPValueBehaviorRating(PMPValueBehaviorRating item);
void DeletePMPTargetSettingById(int id);
void SaveAllPMPTargetSettings(List<PMPTargetSetting> allSettings);
void DeleteAllPmpTargetSettings(List<PMPTargetSetting> allSettings);
void SavePMPEmployeeRatingObject(PMPEmployeeRating obPmpempRating);
void SaveAllPMPValueBehaviorRaings(List<PMPValueBehaviorRating> allValueBehaviorRatings);
void SavePMPValueBehaviorRatingItem(PMPValueBehaviorRating item);
PMPProcess Get(EnumPMPStatus status);
DataSet GetReportData(EnumPMPReports selectedReport, int PMPYearID, int locationID, string levelIDs, string designationIDs, int orgaBasicID, int programmeID, int projectID);
DataSet GetReportData(int PmpYearYear, int EmployeeID);
}
#endregion
}