using System; using System.Collections.Generic; using System.Linq; using System.Text; using Ease.CoreV35; using Ease.CoreV35.Model; using Ease.CoreV35.Caching; using System.Data.Linq.Mapping; using System.Data; namespace Payroll.BO { #region HREmployee BaseObject [Serializable] public class HREmployee : Employee { #region Cache Store private static Cache _cache = new Cache(typeof(HREmployee)); #endregion #region constructor public HREmployee() { _fatherOccupationID = null; _motherName = string.Empty; _motherOccupationID = null; _nationalityID = null; _officialBirthDate = DateTime.MinValue; _birthPlace = string.Empty; //_bloodGroup = EnmBloodGroup.None; _passportNo = string.Empty; // _nationalID = null; _retirementAge = 0.0; _nickName = string.Empty; _lastName = string.Empty; _middleName = string.Empty; _companyID = null; _adloginID = null; _functionID = null; _drivingLicenceNo = string.Empty; _passportIssuePlace = string.Empty; _passportIssueDate = DateTime.Now; _passportExpDate = DateTime.Now; _role = EnumRole.None; _FileNo = string.Empty; #region Child Variable _contacts = null; _spouses = null; _childrens = null; _publications = null; _references = null; _experiences = null; _trainings = null; _nominees = null; _academics = null; _achievement = null; _curricularActivities = null; _otherTalents = null; _hobbys = null; _allergies = null; _hospitalizations = null; _guarantors = null; _workPlanSetup = null; _fatherOccupation = null; _motherOccupation = null; _empLanguages = null; _empRelatives = null; _empMemberships = null; _empRelations = null; _EmpHRQuestionAnswers = null; _empCreditCards = null; #endregion } #endregion #region properties #region parent properties #region NationalityID : ID private ID _nationalityID; public ID NationalityID { get { return _nationalityID; } set { base.OnPropertyChange("NATIONALITYID", _nationalityID, value); _nationalityID = value; } } #endregion #region OfficialBirthDate : DateTime private DateTime _officialBirthDate; public DateTime OfficialBirthDate { get { return _officialBirthDate; } set { base.OnPropertyChange("OFFICIALBIRTHDATE", _officialBirthDate, value); _officialBirthDate = value; } } #endregion #region BirthPlace : String private string _birthPlace; public string BirthPlace { get { return _birthPlace; } set { base.OnPropertyChange("BIRTHPLACE", _birthPlace, value); _birthPlace = value; } } #endregion #region Signature: String private string _signature; public string Signature { get { return _signature; } set { base.OnPropertyChange("BIRTHPLACE", _birthPlace, value); _signature = value; } } #endregion #region BloodGroup : Enum private EnumBloodGroup _bloodGroup; public EnumBloodGroup BloodGroup { get { return _bloodGroup; } set { // base.OnPropertyChange("BLOODGROUP", _bloodGroup, value); _bloodGroup = value; } } #endregion #region NationalID : String private string _nationalID; public string NationalID { get { return _nationalID; } set { _nationalID = value; } } #endregion #region Father #region FatherName private string _fatherName; public string FatherName { get { return _fatherName; } set { _fatherName = value; } } #endregion #region Property FatherOccupation : Occupation private Occupation _fatherOccupation; public Occupation FatherOccupation { get { if (_fatherOccupation == null) { _fatherOccupation = new Occupation(); //_fatherOccupation = (Occupation)_fatherOccupation.Get(_fatherOccupationID); if(_fatherOccupationID!=null && !_fatherOccupationID.IsUnassigned) _fatherOccupation = Occupation.Get(_fatherOccupationID); } return _fatherOccupation; } } #endregion #region FatherOccupationID private ID _fatherOccupationID; public ID FatherOccupationID { get { return _fatherOccupationID; } set { _fatherOccupationID = value; _fatherOccupation = null; } } #endregion #endregion #region Mother #region MotherName private string _motherName; public string MotherName { get { return _motherName; } set { _motherName = value; } } #endregion #region MotherOccupationID private ID _motherOccupationID; public ID MotherOccupationID { get { return _motherOccupationID; } set { _motherOccupationID = value; _motherOccupation = null; } } #endregion #region Property MotherOccupatoin : Occupation private Occupation _motherOccupation; public Occupation MotherOccupation { get { if (_motherOccupation == null) { _motherOccupation = new Occupation(); //_motherOccupation = (Occupation)_motherOccupation.Get(_motherOccupationID); if (_motherOccupationID != null && !_motherOccupationID.IsUnassigned) _motherOccupation = Occupation.Get(_motherOccupationID); } return _motherOccupation; } } #endregion #endregion #region Property Nationality : Nationality private Nationality _nationality; public Nationality Nationality { get { if (_nationality == null) { _nationality = new Nationality(); if (_nationalityID != null && !_nationalityID.IsUnassigned) { //_nationality = new Nationality(); _nationality = Nationality.Get(this._nationalityID); } } return this._nationality; } set { _nationality = value; } } #endregion #region categoryID : ID private ID _categoryID; public ID CategoryID { get { return _categoryID; } set { base.OnPropertyChange("categoryID", _categoryID, value); _categoryID = value; } } #endregion #region category : Category private Category _category; public Category Category { get { if (_category == null && !_categoryID.IsUnassigned) { if (_categoryID.Integer > 0 && _category == null) { _category = new Category(); _category = _category.Get(_categoryID); } } return this._category; } set { _category = value; } } #endregion #region PassportNo private string _passportNo; public string PassportNo { get { return _passportNo; } set { base.OnPropertyChange("PASSPORTNO", _passportNo, value); _passportNo = value; } } #endregion #region FunctionID : ID private ID _functionID; public ID FunctionID { get { return _functionID; } set { base.OnPropertyChange("FunctionID", _functionID, value); _functionID = value; } } #endregion #region Driving Licence No private string _drivingLicenceNo; public string DrivingLicenceNo { get { return _drivingLicenceNo; } set { base.OnPropertyChange("DrivingLicenceNo", _drivingLicenceNo, value); _drivingLicenceNo = value; } } #endregion #region Passport Issue Place private string _passportIssuePlace; public string PassportIssuePlace { get { return _passportIssuePlace; } set { base.OnPropertyChange("PassportIssuePlace", _passportIssuePlace, value); _passportIssuePlace = value; } } #endregion #region Passport Issue Date private DateTime _passportIssueDate; public DateTime PassportIssueDate { get { return _passportIssueDate; } set { base.OnPropertyChange("PassportIssueDate", _passportIssueDate, value); _passportIssueDate = value; } } #endregion #region Passport Exp Date private DateTime _passportExpDate; public DateTime PassportExpDate { get { return _passportExpDate; } set { base.OnPropertyChange("PassportExpDate", _passportExpDate, value); _passportExpDate = value; } } #endregion #region FileNo private string _FileNo; public string FileNo { get { return _FileNo; } set { base.OnPropertyChange("FileNo", _FileNo, value); _FileNo = value; } } #endregion #region Role : EnumRole private EnumRole _role; public EnumRole Role { get { return _role; } set { _role = value; } } #endregion //#region NationalID : ID //private ID _nationalID; //public ID NationalID //{ // get { return _nationalID; } // set // { // base.OnPropertyChange("NATIONALID", _nationalID, value); // _nationalID = value; // } //} private Function _function; public Function Function { get { if (_functionID != null && !_functionID.IsUnassigned) { if (_functionID.Integer > 0 && _function == null) { //_function = new Function(); _function = Function.Get(_functionID); } } else _function = new Function(); return this._function; } set { _function = value; } } private Company _company; public Company Company { get { if (_companyID != null && !_companyID.IsUnassigned) { if (_companyID.Integer > 0 && _company == null) { //_company = new Company(); _company = Company.Get(_companyID); } } else _company = new Company(); return this._company; } set { _company = value; } } //#endregion #region RetirementAge : Double private double _retirementAge; public double RetirementAge { get { return _retirementAge; } set { base.OnPropertyChange("RETIREMENTAGE", _retirementAge, value); _retirementAge = value; } } #endregion #region NickName : string private string _nickName; public string NickName { get { return _nickName; } set { base.OnPropertyChange("NICKNAME", _nickName, value); _nickName = value; } } #endregion #region FirstName : string private string _firstName; public string FirstName { get { return _firstName; } set { base.OnPropertyChange("FIRSTNAME", _firstName, value); _firstName = value; } } #endregion #region LastName : string private string _lastName; public string LastName { get { return _lastName; } set { base.OnPropertyChange("LASTNAME", _lastName, value); _lastName = value; } } #endregion #region MiddleName : string private string _middleName; public string MiddleName { get { return _middleName; } set { base.OnPropertyChange("MIDDLENAME", _middleName, value); _middleName = value; } } #endregion #region CompanyID : ID private ID _companyID; public ID CompanyID { get { return _companyID; } set { base.OnPropertyChange("COMPANYID", _companyID, value); _companyID = value; } } #endregion #region adLoginID : ID private ID _adloginID; public ID AdloginID { get { return _adloginID; } set { base.OnPropertyChange("ADLOGINID", _adloginID, value); _adloginID = value; } } #endregion #region gender : EnumGender private EnumGender _gender; public EnumGender Gender { get { return _gender; } set { base.OnPropertyChange("gender", (short)_gender, (short)value); _gender = value; } } #endregion #region religionID : ID private ID _religionID; public ID ReligionID { get { return _religionID; } set { base.OnPropertyChange("religionID", _religionID, value); _religionID = value; } } #endregion #region religion : Religion private Religion _religion; public Religion Religion { get { if (_religion == null) { if (_religionID.Integer > 0) { _religion = new Religion(); _religion = Religion.Get(_religionID); } } return this._religion; } set { _religion = value; } } #endregion #endregion #region child properties #region Empcontact property private ObjectsTemplate _contacts; public ObjectsTemplate Contacts { get { if (_contacts == null) { _contacts = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _contacts = HREmployee.Service.GetEmpContacts(this.ID); } return _contacts; } set { _contacts = value; } } #endregion #region EmpWorkPlanSetup property private EmpWorkPlanSetup _workPlanSetup; public EmpWorkPlanSetup WorkPlanSetup { get { if (_workPlanSetup == null ) { _workPlanSetup = new EmpWorkPlanSetup(); if (!this.ID.IsUnassigned) _workPlanSetup = HREmployee.Service.GetEmpWorkPlanSetup(this.ID); } return _workPlanSetup; } set { _workPlanSetup = value; } } #endregion #region EmpSpouse property private ObjectsTemplate _spouses; public ObjectsTemplate Spouses { get { //if (_spouses.Count == 0 && !this.ID.IsUnassigned && this.ID.Integer > 0) if (_spouses == null) { _spouses = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _spouses = HREmployee.Service.GetEmpSpouses(this.ID); if (_spouses.Count > 0) { for (int i = 0; i < _spouses.Count; i++) { _spouses[i].CreditCards = HREmployee.Service.GetEmpCreditCard(_spouses[i].ID); } } } return _spouses; } set { _spouses = value; } } #endregion #region Empchildren property private ObjectsTemplate _childrens; public ObjectsTemplate Childrens { get { //if (_childrens.Count == 0 && !this.ID.IsUnassigned && this.ID.Integer > 0) if (_childrens == null) { _childrens = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _childrens = HREmployee.Service.GetEmpChildrens(this.ID); if (_childrens.Count > 0) { for (int i = 0; i < _childrens.Count; i++) { _childrens[i].CreditCards = HREmployee.Service.GetEmpCreditCard(_childrens[i].ID); } } } return _childrens; } set { _childrens = value; } } #endregion #region Employee Credit Card private ObjectsTemplate _empCreditCards; public ObjectsTemplate CreditCards { get { //if (_childrens.Count == 0 && !this.ID.IsUnassigned && this.ID.Integer > 0) if (_empCreditCards == null) { if (!this.ID.IsUnassigned) { _empCreditCards = new ObjectsTemplate(); _empCreditCards = HREmployee.Service.GetEmpCreditCard(this.ID); if (_empCreditCards.Count == 0) _empCreditCards = null; } } return _empCreditCards; } set { _empCreditCards = value; } } #endregion #region EmpPublication property private ObjectsTemplate _publications; public ObjectsTemplate Publications { get { if (_publications == null) { _publications = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _publications = HREmployee.Service.GetEmpPublications(this.ID); } return _publications; } set { _publications = value; } } #endregion #region EmpReference property private ObjectsTemplate _references; public ObjectsTemplate References { get { if (_references == null) { _references = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _references = HREmployee.Service.GetEmpReferences(this.ID); } return _references; } set { _references = value; } } #endregion #region EmpReference property private ObjectsTemplate _experiences; public ObjectsTemplate Experiences { get { if (_experiences == null) { _experiences = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _experiences = HREmployee.Service.GetEmpExperiences(this.ID); } return _experiences; } set { _experiences = value; } } #endregion #region EmpTraining property private ObjectsTemplate _trainings; public ObjectsTemplate Trainings { get { if (_trainings == null) { _trainings = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _trainings = HREmployee.Service.GetEmpTrainings(this.ID); } return _trainings; } set { _trainings = value; } } #endregion #region EmpNominee property private ObjectsTemplate _nominees; public ObjectsTemplate Nominees { get { if (_nominees == null) { _nominees = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _nominees = HREmployee.Service.GetEmpNominees(this.ID); } return _nominees; } set { _nominees = value; } } #endregion #region EmpAcademic property private ObjectsTemplate _academics; public ObjectsTemplate Academics { get { if (_academics == null) { _academics = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _academics = HREmployee.Service.GetEmpAcademics(this.ID); } return _academics; } set { _academics = value; } } #endregion #region EmpAchievement property private ObjectsTemplate _achievement; public ObjectsTemplate Achievement { get { if (_achievement == null) { _achievement = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _achievement = HREmployee.Service.GetEmpAchievements(this.ID); } return _achievement; } set { _achievement = value; } } #endregion #region EmpCurricularActivity property private ObjectsTemplate _curricularActivities; public ObjectsTemplate CurricularActivities { get { if (_curricularActivities == null) { _curricularActivities = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _curricularActivities = HREmployee.Service.GetEmpCurricularActivitys(this.ID); } return _curricularActivities; } set { _curricularActivities = value; } } #endregion #region EmpOtherTalent property private ObjectsTemplate _otherTalents; public ObjectsTemplate OtherTalents { get { if (_otherTalents == null) { _otherTalents = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _otherTalents = HREmployee.Service.GetEmpOtherTalents(this.ID); } return _otherTalents; } set { _otherTalents = value; } } #endregion #region EmpHobby property private ObjectsTemplate _hobbys; public ObjectsTemplate Hobbys { get { //if (_hobbys.Count == 0 && !this.ID.IsUnassigned && this.ID.Integer > 0) if (_hobbys == null) { _hobbys = new ObjectsTemplate(); if(!this.ID.IsUnassigned) _hobbys = HREmployee.Service.GetEmpHobbys(this.ID); } return _hobbys; } set { _hobbys = value; } } #endregion #region EmpAllergy property private ObjectsTemplate _allergies; public ObjectsTemplate Allergies { get { if (_allergies == null) { _allergies = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _allergies = HREmployee.Service.GetEmpAllergys(this.ID); } return _allergies; } set { _allergies = value; } } #endregion #region EmpHospitalization property private ObjectsTemplate _hospitalizations; public ObjectsTemplate Hospitalizations { get { if (_hospitalizations == null) { _hospitalizations = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _hospitalizations = HREmployee.Service.GetEmpHospitalizations(this.ID); } return _hospitalizations; } set { _hospitalizations = value; } } #endregion #region EmpGuarantor property private ObjectsTemplate _guarantors; public ObjectsTemplate Guarantors { get { if (_guarantors == null) { _guarantors = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _guarantors = HREmployee.Service.GetEmpGuarantors(this.ID); } return _guarantors; } set { _guarantors = value; } } #endregion #region EmpLanguage property private ObjectsTemplate _empLanguages; public ObjectsTemplate EmpLanguages { get { if (_empLanguages == null) { _empLanguages = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _empLanguages = HREmployee.Service.GetEmpLanguages(this.ID); } return _empLanguages; } set { _empLanguages = value; } } #endregion #region EmpRelative property private ObjectsTemplate _empRelatives; public ObjectsTemplate EmpRelatives { get { if (_empRelatives == null) { _empRelatives = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _empRelatives = HREmployee.Service.GetEmpRelatives(this.ID); } return _empRelatives; } set { _empRelatives = value; } } #endregion #region EmpMembership property private ObjectsTemplate _empMemberships; public ObjectsTemplate EmpMemberships { get { if (_empMemberships == null) { _empMemberships = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _empMemberships = HREmployee.Service.GetEmpMemberships(this.ID); } return _empMemberships; } set { _empMemberships = value; } } #endregion #region EmpRelation property private ObjectsTemplate _empRelations; public ObjectsTemplate EmpRelations { get { if (_empRelations == null) { _empRelations = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _empRelations = HREmployee.Service.GetEmpRelations(this.ID); } return _empRelations; } set { _empRelations = value; } } #endregion #region EmpHRQuestionAnswer property private ObjectsTemplate _EmpHRQuestionAnswers; public ObjectsTemplate EmpHRQuestionAnswers { get { if (_EmpHRQuestionAnswers == null) { _EmpHRQuestionAnswers = new ObjectsTemplate(); if (!this.ID.IsUnassigned) _EmpHRQuestionAnswers = HREmployee.Service.GetEmpHRQuestionAnswers(this.ID); } return _EmpHRQuestionAnswers; } set { _EmpHRQuestionAnswers = value; } } #endregion #region #endregion #endregion #endregion #region Function(s) /// /// get employee with employee id /// /// /// public HREmployee Get(ID empID) { HREmployee hrEmployee = new HREmployee(); try { hrEmployee = HREmployee.Service.Get(empID); } catch (Exception e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(hrEmployee, "Get", empID); #endregion return hrEmployee; } /// /// get employee with employee id(here id is integer) /// /// /// //public ObjectsTemplate Get(int empID) //{ // ObjectsTemplate employee = null; // #region Cache Header // employee = (ObjectsTemplate)_cache["Get", empID]; // if (employee != null) // return employee; // #endregion // try // { // employee = HREmployee.Service.Get(ID.FromInteger(empID)); // } // catch (Exception e) // { // throw new Exception(e.Message, e); // } // #region Cache Footer // _cache.Add(employee, "Get", empID); // #endregion // return employee; //} /// /// check employee existance with employee No /// /// /// public bool IsEmpNoExist(string empNo) { try { return HREmployee.Service.IsEmployeeNoExist(empNo); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// check employee existance with nick name /// /// /// public bool IsNickNameExists(string nickName) { try { return HREmployee.Service.IsNickNameExists(nickName); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// Get group of employee /// /// public static ObjectsTemplate GetGroupEmployees() { ObjectsTemplate employees = null; #region Cache Header employees = (ObjectsTemplate)_cache["GroupUsers"]; if (employees != null) return employees; #endregion try { employees = HREmployee.Service.GetUserGroups(); } catch (Exception e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(employees, "GroupUsers"); #endregion return employees; } /// /// get employee with employee employee no /// /// /// public HREmployee Get(String employeeNo) { HREmployee hrEmployee = null; try { hrEmployee = HREmployee.Service.GetByEmployeeNo(employeeNo); } catch (Exception e) { throw new Exception(e.Message, e); } return hrEmployee; } /// /// /// /// /// public ID Save(ID candidateId) { try { this.SetAuditTrailProperties(); return HREmployee.Service.Save(this, candidateId); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// save HREmployee object /// public void Save() { try { this.SetAuditTrailProperties(); HREmployee.Service.Save(this); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// upate employee contact info /// /// public void UpdateContact(EmpContact contactInfo) { try { HREmployee.Service.UpdateContact(this, contactInfo); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// /// public void UpdateEmpWithoutChild() { try { HREmployee.Service.UpdateEmpWithoutChild(this); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// save employee training info /// /// public void SaveEmpTraining(EmpTraining empTraining) { try { HREmployee.Service.SaveEmpTraining(empTraining); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// update employee status from EnumEmployeeStatus /// /// /// public void UpdateStatus(ID employeeID, EnumEmployeeStatus status) { try { HREmployee.Service.UpdateStatus(employeeID, status); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// delete an employee with ID /// public void Delete() { try { HREmployee.Service.Delete(ID); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// checking employee's validation for desktop login /// /// /// /// /// public static LogInStatus IsValidateForDesktop(string empNo, string password, ref HREmployee employee) { try { return HREmployee.Service.IsValidateForDesktop(empNo, password, ref employee); } catch (Exception e) { throw new Exception(e.Message, e); } } //public static LogInStatus IsValidateForDesktop(string empNo, string password, ref Employee employee) public void UpdatePassword(string password) { // HREmployee.Service.UpdatePassword(Ease.CoreV35.Global.Encrypt(password), this.ID); }/////////////// /// /// update group of user /// public void UpdateUserGroup() { try { HREmployee.Service.UpdateUserGroup(this); } catch (Exception e) { throw new Exception(e.Message, e); } } //public static Employee GrandFather(string empNo) /// /// Get groupof user /// /// public static ObjectsTemplate GroupUsers() { ObjectsTemplate employees = null; #region Cache Header employees = (ObjectsTemplate)_cache["GroupUsers"]; if (employees != null) return employees; #endregion try { employees = HREmployee.Service.GetGroupEmployees(); } catch (Exception e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(employees, "GroupUsers"); #endregion return employees; } //public static ObjectsTemplate GrandFather(string empNo) /// /// search employee with a string /// /// /// public static bool IsExists(string sSearch) { try { return Service.IsExists(sSearch); } catch (Exception e) { throw new Exception(e.Message, e); } } //public static LogInStatus ValidateForWebSelf(string AdLogInID, ref Employee employee, ref int nodeID) //public bool NeedToSeeAdminPanel(ID empID, ID empNodeID) /// /// get collection of HREmployee /// /// public static ObjectsTemplate Get() { ObjectsTemplate employees = null; #region Cache Header employees = (ObjectsTemplate)_cache["Get"]; if (employees != null) return employees; #endregion try { employees = HREmployee.Service.Get(SystemInformation.CurrentSysInfo.PayrollTypeID.Integer); } catch (Exception e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(employees, "Get"); #endregion return employees; } public static ObjectsTemplate GetEmpContacts() { return HREmployee.Service.GetEmpContacts(); } /// /// get dataset with query /// /// /// public static DataSet GetEmployeesDataset(string query) { DataSet employees = null; try { employees = HREmployee.Service.GetEmployeesDataset(query); } catch (Exception e) { throw new Exception(e.Message, e); } return employees; } /// /// /// /// /// /// public static DataSet GetEmployeesDataset(int nodeID, string additionalSQL) { DataSet employees = null; try { employees = HREmployee.Service.GetSubordinatesDataset(ID.FromInteger(nodeID), additionalSQL); } catch (Exception e) { throw new Exception(e.Message, e); } return employees; } /// /// get HREmployee collection with query /// /// /// public static ObjectsTemplate GetEmployees(string query) { ObjectsTemplate employees = null; #region Cache Header employees = (ObjectsTemplate)_cache["GetEmployees", query]; if (employees != null) return employees; #endregion try { employees = HREmployee.Service.GetEmployees(query); } catch (Exception e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(employees, "GetEmployees", query); #endregion return employees; } /// /// /// /// /// public string GetSubordinateIDs(ID nodeID) { try { return HREmployee.Service.GetSubordinateIDs(nodeID); } catch (Exception e) { throw new Exception(e.Message, e); } } /// /// get HREmployee with id /// /// /// public static ObjectsTemplate GetByIds(string ids) { if (ids.Trim() == string.Empty) return null; ObjectsTemplate employees = null; #region Cache Header employees = (ObjectsTemplate)_cache["GetByIds"]; if (employees != null) return employees; #endregion try { employees = HREmployee.Service.GetEmployeeByIds(ids); } catch (Exception e) { throw new Exception(e.Message, e); } #region Cache Footer _cache.Add(employees, "GetEmployeeByIds"); #endregion return employees; } /// for coll public static void SaveMultipleEmployeeContacts(ObjectsTemplate oEmpContacts) { HREmployee.Service.SaveMultipleEmployeeContacts(oEmpContacts); } #endregion #region Service Factory internal static IHREmployeeService Service { get { return Services.Factory.CreateService(typeof(IHREmployeeService)); } } #endregion internal static List GetEmployeeContacts() { throw new NotImplementedException(); } } #endregion #region Child's object #region EmpContact [Serializable] public class EmpContact : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpContact)); #endregion #region Constructor public EmpContact() { _employeeID = null; _parmanentAddress = ""; _parmanentDistrictID = null; _parmanentDistrict = null; _parmanentThanaID = null; _parmanentThana = null; _parmanentTelephone = ""; _parmanentMobile = ""; // Kalam _presentAddress = ""; _presentDistrictID = null; _presentDistrict = null; _presentThanaID = null; _presentThana = null; _presentTelephone = ""; _presentMobile = ""; // Kalam _mobile = ""; _personalTelephone = ""; // Kalam _personalEMail = ""; _officalEMail = ""; _fax = ""; _emergencyContactAddress = ""; _emergencyContactPerson = ""; _emergencyTelephone = ""; _emergencyMobile = ""; // Kalam _contactPersonRelationId = null; // Kalam _contactPersonRelation = null; } #endregion #region Property #region EmployeeID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region Parmanent Address Info #region ParmanentAddress private string _parmanentAddress; public string ParmanentAddress { get { return _parmanentAddress; } set { _parmanentAddress = value; } } #endregion #region Parmanent District #region ParmanentDistrictID private ID _parmanentDistrictID; public ID ParmanentDistrictID { get { return _parmanentDistrictID; } set { _parmanentDistrictID = value; _parmanentDistrict = null; } } #endregion #region Property ParmanentDistrict : District private District _parmanentDistrict; public District ParmanentDistrict { get { if (_parmanentDistrict == null) { _parmanentDistrict = District.Get(_parmanentDistrictID); } return _parmanentDistrict; } } #endregion #endregion #region Parmanent Thana #region ParmanentThanaID private ID _parmanentThanaID; public ID ParmanentThanaID { get { return _parmanentThanaID; } set { _parmanentThanaID = value; _parmanentThana = null; } } #endregion #region Property ParmanentThana : Thana private Thana _parmanentThana; public Thana ParmanentThana { get { if (_parmanentThana == null) { _parmanentThana = Thana.Get(_parmanentThanaID); } return _parmanentThana; } } #endregion #endregion #region ParmanentTelephone private string _parmanentTelephone; public string ParmanentTelephone { get { return _parmanentTelephone; } set { _parmanentTelephone = value; } } #endregion #region ParmanentMobile private string _parmanentMobile; public string ParmanentMobile { get { return _parmanentMobile; } set { _parmanentMobile = value; } } #endregion #endregion #region Present Address Info #region PresentAddress private string _presentAddress; public string PresentAddress { get { return _presentAddress; } set { _presentAddress = value; } } #endregion #region District #region PresentDistrictID private ID _presentDistrictID; public ID PresentDistrictID { get { return _presentDistrictID; } set { _presentDistrictID = value; _presentDistrict = null; } } #endregion #region Property PresentDistrict : District private District _presentDistrict; public District PresentDistrict { get { if (_presentDistrict == null) { _presentDistrict = District.Get(_presentDistrictID); } return _presentDistrict; } } #endregion #endregion #region Present Thana #region PresentThanaID private ID _presentThanaID; public ID PresentThanaID { get { return _presentThanaID; } set { _presentThanaID = value; _presentThana = null; } } #endregion #region Present Thana private Thana _presentThana; public Thana PresentThana { get { if (_presentThana == null) { _presentThana = Thana.Get(_presentThanaID); } return _presentThana; } } #endregion #endregion #region PresentTelephone private string _presentTelephone; public string PresentTelephone { get { return _presentTelephone; } set { _presentTelephone = value; } } #endregion // Kalam #region PresentMobile private string _presentMobile; public string PresentMobile { get { return _presentMobile; } set { _presentMobile = value; } } #endregion #endregion #region Personal Address Info #region Mobile private string _mobile; public string Mobile { get { return _mobile; } set { _mobile = value; } } #endregion // Kalam #region PersonalTelephone private string _personalTelephone; public string PersonalTelephone { get { return _personalTelephone; } set { _personalTelephone = value; } } #endregion #region PersonalEMail private string _personalEMail; public string PersonalEMail { get { return _personalEMail; } set { _personalEMail = value; } } #endregion #region OfficalEMail private string _officalEMail; public string OfficalEMail { get { return _officalEMail; } set { _officalEMail = value; } } #endregion #region Fax private string _fax; public string Fax { get { return _fax; } set { _fax = value; } } #endregion #endregion #region Personal Address Info #region EmergencyContactAddress private string _emergencyContactAddress; public string EmergencyContactAddress { get { return _emergencyContactAddress; } set { _emergencyContactAddress = value; } } #endregion #region EmergencyContactPerson private string _emergencyContactPerson; public string EmergencyContactPerson { get { return _emergencyContactPerson; } set { _emergencyContactPerson = value; } } #endregion #region EmergencyTelephone private string _emergencyTelephone; public string EmergencyTelephone { get { return _emergencyTelephone; } set { _emergencyTelephone = value; } } #endregion // Kalam #region EmergencyMobile private string _emergencyMobile; public string EmergencyMobile { get { return _emergencyMobile; } set { _emergencyMobile = value; } } #endregion // Kalam #region Contact Person RelationId private ID _contactPersonRelationId; public ID ContactPersonRelationId { get { return _contactPersonRelationId; } set { _contactPersonRelationId = value; } } private Relation _contactPersonRelation; public Relation ContactPersonRelation { get { _contactPersonRelation = Relation.Get(_contactPersonRelationId); return _contactPersonRelation; } } #endregion #endregion #endregion } #endregion #region EmpWorkPlanSetup [Serializable] public class EmpWorkPlanSetup : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpWorkPlanSetup)); #endregion #region constructor public EmpWorkPlanSetup() { _employeeID = null; _shiftID = null; _startDate = DateTime.MinValue; _workPanGroupId = null; } #endregion #region property #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region ShiftID : ID private ID _shiftID; public ID ShiftID { get { return _shiftID; } set { _shiftID = value; } } #endregion #region StartDate : DAteTime private DateTime _startDate; public DateTime StartDate { get { return _startDate; } set { _startDate = value; } } #endregion #region WeekEndOn : Enum DayOfWeek private DayOfWeek _weekEndOn; public DayOfWeek WeekEndOn { get { return _weekEndOn; } set { base.OnPropertyChange("WeekEndOn", (short)_weekEndOn, (short)value); _weekEndOn = value; } } #endregion #region WorkPlanGroupID : ID private ID _workPanGroupId; public ID WorkPlanGroupID { get { return _workPanGroupId; } set { base.OnPropertyChange("WorkPlanGroupID", _workPanGroupId, value); _workPanGroupId = value; } } #endregion #endregion } #endregion #region EmpSpouse [Serializable] public class EmpSpouse : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpSpouse)); #endregion #region Constructor public EmpSpouse() { _employeeID = null; _name = string.Empty; _occupationId = null; _occupation = null; //_marriageDate = DateTime.Now; _marriageDate = DateTime.MinValue; _educationLevelId = null; _educationLevel = null; _passportNo = string.Empty; _passportIssuePlace = string.Empty; _passportIssueDate = DateTime.MinValue; _passportExpDate = DateTime.MinValue; _spouseCreditCards = null; } #endregion #region Properties #region EmployeeID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region Name private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region OccupationID private ID _occupationId; public ID OccupationID { get { return _occupationId; } set { _occupationId = value; _occupation = null; } } private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { _occupation = Occupation.Get(_occupationId); } return _occupation; } } #endregion #region Marriage Date private DateTime _marriageDate; public DateTime MarriageDate { get { return _marriageDate; } set { _marriageDate = value; } } #endregion #region EducationLevelID private ID _educationLevelId; public ID EducationLevelID { get { return _educationLevelId; } set { _educationLevelId = value; _educationLevel = null; } } private EducationLevel _educationLevel; public EducationLevel EducationLevel { get { if (_educationLevel == null) { _educationLevel = EducationLevel.Get(_educationLevelId); } return _educationLevel; } } #endregion #region PassportNo private string _passportNo; public string PassportNo { get { return _passportNo; } set { _passportNo = value; } } #endregion #region Passport Issue Place private string _passportIssuePlace; public string PassportIssuePlace { get { return _passportIssuePlace; } set { _passportIssuePlace = value; } } #endregion #region Passport Issue Date private DateTime _passportIssueDate; public DateTime PassportIssueDate { get { return _passportIssueDate; } set { _passportIssueDate = value; } } #endregion #region Passport Exp Date private DateTime _passportExpDate; public DateTime PassportExpDate { get { return _passportExpDate; } set { _passportExpDate = value; } } #endregion #region CreditCards private ObjectsTemplate _spouseCreditCards; public ObjectsTemplate CreditCards { get { return _spouseCreditCards; } set { _spouseCreditCards = value; } } #endregion #endregion } #endregion #region EmpChildren [Serializable] public class EmpChildren : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpChildren)); #endregion #region Constructor public EmpChildren() { _employeeId = null; _name = string.Empty; _gender = EnumGender.None; //_birthDate = DateTime.Now; _birthDate = DateTime.MinValue; _maritalStatus = EnumMaritalStatus.None; _occupationId = null; _occupation = null; _passportNo = string.Empty; _passportIssuePlace = string.Empty; _passportIssueDate = DateTime.MinValue; _passportExpDate = DateTime.MinValue; _childCreditCards = null; } #endregion #region Properties #region EmployeeID private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region Name private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region Gender private EnumGender _gender; public EnumGender Gender { get { return _gender; } set { _gender = value; } } #endregion #region BirthDate private DateTime _birthDate; public DateTime BirthDate { get { return _birthDate; } set { _birthDate = value; } } #endregion #region MaritalStatus private EnumMaritalStatus _maritalStatus; public EnumMaritalStatus MaritalStatus { get { return _maritalStatus; } set { _maritalStatus = value; } } #endregion #region Occupation private ID _occupationId; public ID OccupationID { get { return _occupationId; } set { _occupationId = value; _occupation = null; } } private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { _occupation = Occupation.Get(_occupationId); } return _occupation; } } #endregion #region PassportNo private string _passportNo; public string PassportNo { get { return _passportNo; } set { _passportNo = value; } } #endregion #region Passport Issue Place private string _passportIssuePlace; public string PassportIssuePlace { get { return _passportIssuePlace; } set { _passportIssuePlace = value; } } #endregion #region Passport Issue Date private DateTime _passportIssueDate; public DateTime PassportIssueDate { get { return _passportIssueDate; } set { _passportIssueDate = value; } } #endregion #region Passport Exp Date private DateTime _passportExpDate; public DateTime PassportExpDate { get { return _passportExpDate; } set { _passportExpDate = value; } } #endregion #region CreditCards private ObjectsTemplate _childCreditCards; public ObjectsTemplate CreditCards { get { return _childCreditCards; } set { _childCreditCards = value; } } #endregion #endregion } #endregion #region EmpCreditCard [Serializable] public class EmpCreditCard : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpSpouse)); #endregion #region Constructor public EmpCreditCard() { //_empCreditCardID = null; _employeeID = null; _userType = 0; _userTypeID = null; _cardNo = string.Empty; _cardName = string.Empty; _bankID = null; _cardLimit = 0; _cardExpiryDate = DateTime.MinValue; _tin = string.Empty; } #endregion #region Properties //#region EmpCreditCardID //private ID _empCreditCardID; //public ID EmpCreditCardID //{ // get { return _empCreditCardID; } // set { _empCreditCardID = value; } //} //#endregion #region EmployeeID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region UserType private EnumCardUserType _userType; public EnumCardUserType UserType { get { return _userType; } set { _userType = value; } } #endregion #region UserTypeID private ID _userTypeID; public ID UserTypeID { get { return _userTypeID; } set { _userTypeID = value; //_occupation = null; } } #endregion #region Card NO private string _cardNo; public string CardNo { get { //if (_occupation == null) //{ // _occupation = Occupation.Get(_occupationId); //} return _cardNo; } set { _cardNo = value; } } #endregion #region CardName private string _cardName; public string CardName { get { return _cardName; } set { _cardName = value; } } #endregion #region BankID private ID _bankID; public ID BankID { get { return _bankID; } set { _bankID = value; } //_educationLevel = null; } } #endregion #region Card Limit private double _cardLimit; public double CardLimit { get { return _cardLimit; } set { _cardLimit = value; } } #endregion #region Card Expiry Date private DateTime _cardExpiryDate; public DateTime CardExpiryDate { get { return _cardExpiryDate; } set { _cardExpiryDate = value; } } #endregion #region TIN private string _tin; public string TIN { get { return _tin; } set { _tin = value; } } #endregion #endregion } #endregion #region EmpPublication [Serializable] public class EmpPublication : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpPublication)); #endregion #region Constructor public EmpPublication() { _employeeId = null; _title = string.Empty; _description = string.Empty; _remarks = string.Empty; //_publicationDate = DateTime.Now; _publicationDate = DateTime.MinValue; } #endregion #region Properties #region EmployeeID private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region Publisher's Name : string private string _publishersName; public string PublishersName { get { return _publishersName; } set { _publishersName = value; } } #endregion #region Title private string _title; public string Title { get { return _title; } set { _title = value; } } #endregion #region Publication Type : string private string _publicationType; public string PublicationType { get { return _publicationType; } set { _publicationType = value; } } #endregion #region Description private string _description; public string Description { get { return _description; } set { _description = value; } } #endregion #region Remarks private string _remarks; public string Remarks { get { return _remarks; } set { _remarks = value; } } #endregion #region Publication Date private DateTime _publicationDate; public DateTime PublicationDate { get { return _publicationDate; } set { _publicationDate = value; } } #endregion #endregion } #endregion #region EmpReference [Serializable] public class EmpReference : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpReference)); #endregion #region Constructor public EmpReference() { _employeeId = null; _name = string.Empty; _occupationId = null; _occupation = null; _relationId = null; _relation = null; _address = string.Empty; _telephone = string.Empty; _referenceMobile = string.Empty; _emailAddress = string.Empty; } #endregion #region Properties #region Employee private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region RefereeName private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region Occupation private ID _occupationId; public ID OccupationID { get { return _occupationId; } set { _occupationId = value; _occupation = null; } } private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { if(_occupationId!=null) _occupation = Occupation.Get(_occupationId); } return _occupation; } } #endregion #region RelationID private ID _relationId; public ID RelationID { get { return _relationId; } set { _relationId = value; _relation = null; } } private Relation _relation; public Relation Relation { get { if (_relation == null) { _relation = Relation.Get(_relationId); } return _relation; } } #endregion #region Address private string _address; public string Address { get { return _address; } set { _address = value; } } #endregion #region Telephone private string _telephone; public string Telephone { get { return _telephone; } set { _telephone = value; } } #endregion #region Mobile private string _referenceMobile; public string ReferenceMobile { get { return _referenceMobile; } set { _referenceMobile = value; } } #endregion #region Property EmailAddress : string private string _emailAddress; public string EmailAddress { get { return _emailAddress; } set { _emailAddress = value; } } #endregion #endregion } #endregion #region EmpExperience [Serializable] public class EmpExperience : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpExperience)); #endregion #region Constructor public EmpExperience() { _employeeId = null; _employer = string.Empty; _contactPerson = string.Empty; _address = string.Empty; _telephone = string.Empty; _employerActivity = string.Empty; _designation = string.Empty; _jobDescription = string.Empty; //_fromDate = DateTime.Now; //_toDate = DateTime.Now; _fromDate = DateTime.MinValue; _toDate = DateTime.MinValue; _tillDate = DateTime.MinValue; _lastJob = false; } #endregion #region Properties #region EmployeeID private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region Employer private string _employer; public string Employer { get { return _employer; } set { _employer = value; } } #endregion #region ContactPerson private string _contactPerson; public string ContactPerson { get { return _contactPerson; } set { _contactPerson = value; } } #endregion #region Address private string _address; public string Address { get { return _address; } set { _address = value; } } #endregion #region Telephone private string _telephone; public string Telephone { get { return _telephone; } set { _telephone = value; } } #endregion #region EmployerActivity private string _employerActivity; public string EmployerActivity { get { return _employerActivity; } set { _employerActivity = value; } } #endregion #region Designation private string _designation; public string Designation { get { return _designation; } set { _designation = value; } } #endregion #region JobDescription private string _jobDescription; public string JobDescription { get { return _jobDescription; } set { _jobDescription = value; } } #endregion #region FromDate private DateTime _fromDate; public DateTime FromDate { get { return _fromDate; } set { _fromDate = value; } } #endregion #region ToDate private DateTime _toDate; public DateTime ToDate { get { return _toDate; } set { _toDate = value; } } #endregion #region TillDate private DateTime _tillDate; public DateTime TillDate { get { return _tillDate; } set { _tillDate = value; } } #endregion #region LastJob private bool _lastJob; public bool LastJob { get { return _lastJob; } set { _lastJob = value; } } #endregion #endregion } #endregion #region EmpTraining [Serializable] public class EmpTraining : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpTraining)); #endregion #region Constructor public EmpTraining() { _employeeId = null; _name = string.Empty; _description = string.Empty; _countryId = null; _country = null; _institutionId = null; _institution = null; _trainingTypeId = null; _trainingType = null; _trainingNatureId = null; _trainingNature = null; _place = string.Empty; _achievement = string.Empty; _fees = 0; _otherCost = 0; _fromDate = DateTime.MinValue; _toDate = DateTime.MinValue; _trainingMonth = 0; _trainingDay = 0; _trainingHour = 0; _confirmationDate = DateTime.MinValue; } #endregion #region Properties #region EmployeeID private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region Name private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region Property TrainingTypeID : ID private ID _trainingTypeId; public ID TrainingTypeID { get { return _trainingTypeId; } set { _trainingTypeId = value; } } private TrainingType _trainingType; public TrainingType TrainingType { get { if (_trainingType == null) { _trainingType = new TrainingType(); _trainingType = (TrainingType)TrainingType.Get(_trainingTypeId); } return _trainingType; } } #endregion #region Property NatureOfTrainingID : ID private ID _trainingNatureId; public ID NatureOfTrainingID { get { return _trainingNatureId; } set { _trainingNatureId = value; } } private NatureOfTraining _trainingNature; public NatureOfTraining NatureOfTraining { get { if (_trainingNature == null) { _trainingNature = NatureOfTraining.Get(_trainingNatureId); } return _trainingNature; } } #endregion #region Property TrainingCompletedFrom : EnumTrainingCompletedFrom private EnumTrainingCompletedFrom _trainingCompletedFrom; public EnumTrainingCompletedFrom TrainingCompletedFrom { get { return _trainingCompletedFrom; } set { _trainingCompletedFrom = value; } } #endregion #region Description private string _description; public string Description { get { return _description; } set { _description = value; } } #endregion #region Country private ID _countryId; public ID CountryID { get { return _countryId; } set { _countryId = value; _country = null; } } private Country _country; public Country Country { get { if (_country == null) { _country = Country.Get(_countryId); } return _country; } } #endregion #region Institution private ID _institutionId; public ID InstitutionID { get { return _institutionId; } set { _institutionId = value; _institution = null; } } private Institution _institution; public Institution Institution { get { if (_institution == null) { _institution = new Institution(); _institution = Institution.Get(_institutionId); } return _institution; } } #endregion #region Place private string _place; public string Place { get { return _place; } set { _place = value; } } #endregion #region Achievement private string _achievement; public string Achievement { get { return _achievement; } set { _achievement = value; } } #endregion #region Fees private double _fees; public double Fees { get { return _fees; } set { _fees = value; } } #endregion #region OtherCost private double _otherCost; public double OtherCost { get { return _otherCost; } set { _otherCost = value; } } #endregion #region Fromdate private DateTime _fromDate; public DateTime FromDate { get { return _fromDate; } set { _fromDate = value; } } public string FromDateString { get { return _fromDate.ToString("dd MMM yyyy"); } } #endregion #region ToDate private DateTime _toDate; public DateTime ToDate { get { return _toDate; } set { _toDate = value; } } public string ToDateString { get { return _toDate.ToString("dd MMM yyyy"); } } #endregion #region Training Month private int _trainingMonth; public int TrainingMonth { get { return _trainingMonth; } set { _trainingMonth = value; } } #endregion #region Training Day private int _trainingDay; public int TrainingDay { get { return _trainingDay; } set { _trainingDay = value; } } #endregion #region Training Hour private int _trainingHour; public int TrainingHour { get { return _trainingHour; } set { _trainingHour = value; } } #endregion #region Confirmation Date private DateTime _confirmationDate; public DateTime ConfirmationDate { get { return _confirmationDate; } set { _confirmationDate = value; } } #endregion #endregion } #endregion #region EmpNominee [Serializable] public class EmpNominee : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpNominee)); #endregion #region Constructor public EmpNominee() { _employeeId = null; _nominationPurposeId = null; _nominationPurpose = null; //_nominationDate = DateTime.Now; _nominationDate = DateTime.MinValue; _name = string.Empty; _relationId = null; _relation = null; _percentage = 0; //_birthDate = DateTime.Now; _birthDate = DateTime.MinValue; _occupationId = null; _occupation = new Occupation(); _address = string.Empty; _telePhone = string.Empty; _photograph = string.Empty; _signature = string.Empty; _emailAddress = string.Empty; } #endregion #region Properties #region EmployeeID private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region NominationPurpose private ID _nominationPurposeId; public ID NominationPurposeID { get { return _nominationPurposeId; } set { _nominationPurposeId = value; _nominationPurpose = null; } } private NominationPurpose _nominationPurpose; public NominationPurpose NominationPurpose { get { if (_nominationPurpose == null) { _nominationPurpose = NominationPurpose.Get(_nominationPurposeId); } return _nominationPurpose; } } #endregion #region NominationDate private DateTime _nominationDate; public DateTime NominationDate { get { return _nominationDate; } set { _nominationDate = value; } } #endregion #region NomineeName private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region RelationID private ID _relationId; public ID RelationID { get { return _relationId; } set { _relationId = value; _relation = null; } } private Relation _relation; public Relation Relation { get { if (_relation == null) { _relation = Relation.Get(_relationId); } return _relation; } } #endregion #region Percentage private double _percentage; public double Percentage { get { return _percentage; } set { _percentage = value; } } #endregion #region BirthDate private DateTime _birthDate; public DateTime BirthDate { get { return _birthDate; } set { _birthDate = value; } } #endregion #region Occupation private ID _occupationId; public ID OccupationID { get { return _occupationId; } set { _occupationId = value; _occupation = null; } } private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { _occupation = Occupation.Get(_occupationId); } return _occupation; } } #endregion #region Address private string _address; public string Address { get { return _address; } set { _address = value; } } #endregion #region TelePhone private string _telePhone; public string TelePhone { get { return _telePhone; } set { _telePhone = value; } } #endregion #region Photograph private string _photograph; public string Photograph { get { return _photograph; } set { _photograph = value; } } #endregion #region Signature : string private string _signature; public string Signature { get { return _signature; } set { _signature = value; } } #endregion #region Property Email : string private string _emailAddress; public string EmailAddress { get { return _emailAddress; } set { _emailAddress = value; } } #endregion #endregion } #endregion #region EmpAcademic [Serializable] public class EmpAcademic : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpAcademic)); #endregion #region Constructor public EmpAcademic() { _employeeId = null; _educationLevelId = null; _educationLevel = null; _disciplineId = null; _discipline = null; _institutionId = null; _institution = null; _resultTypeId = null; _resultType = null; _examDate = DateTime.Now.Year; _passingYear = DateTime.Now.Year; _gpa = 0; _outOf = 0.0; _lastLevel = false; _instituteName = string.Empty; _classOrDivision = string.Empty; } #endregion #region Properties #region EmployeeID private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region Property EducationLevel private ID _educationLevelId; public ID EducationLevelID { get { return _educationLevelId; } set { _educationLevelId = value; _educationLevel = null; } } private EducationLevel _educationLevel; public EducationLevel EducationLevel { get { if (_educationLevel == null) { if(_educationLevelId!=null) _educationLevel = EducationLevel.Get(_educationLevelId); } return _educationLevel; } } #endregion #region Discipline private ID _disciplineId; public ID DisciplineID { get { return _disciplineId; } set { _disciplineId = value; _discipline = null; } } private Discipline _discipline; public Discipline Discipline { get { if (_discipline == null) { _discipline = Discipline.Get(_disciplineId); } return _discipline; } } #endregion #region Institution private ID _institutionId; public ID InstitutionID { get { return _institutionId; } set { _institutionId = value; _institution = null; } } private Institution _institution; public Institution Institution { get { if (_institution == null) { _institution = Institution.Get(_institutionId); } return _institution; } } #endregion #region EducationTypeID private ID _educationTypeID; public ID EducationTypeID { get { return _educationTypeID; } set { _educationTypeID = value; _institution = null; } } #endregion #region EducationType private EducationType _educationType; public EducationType EducationType { get { if (_educationType == null) { _educationType = EducationType.Get(_educationTypeID); } return _educationType; } set { _educationType = value; } } #endregion #region PassingYear private int _passingYear; public int PassingYear { get { return _passingYear; } set { _passingYear = value; } } #endregion #region ExamDate private int _examDate; public int ExamDate { get { return _examDate; } set { _examDate = value; } } #endregion //CGPA or Marks #region GPAOrMarks private double _gpa; public double GPAOrMarks { get { return _gpa; } set { _gpa = value; } } #endregion //OutOf #region Property OutOf : double private double _outOf; public double OutOf { get { return _outOf; } set { _outOf = value; } } #endregion //Result Type #region Property ResultType : ResultType private ID _resultTypeId; public ID ResultTypeID { get { return _resultTypeId; } set { _resultTypeId = value; _resultType = null; } } private ResultType _resultType; public ResultType ResultType { get { if (_resultType == null) { _resultType = ResultType.Get(_resultTypeId); } return _resultType; } } #endregion #region LastLevel private bool _lastLevel; public bool LastLevel { get { return _lastLevel; } set { _lastLevel = value; } } #endregion #region InstituteName private string _instituteName; public string InstituteName { get { return _instituteName; } set { _instituteName = value; } } #endregion private string _classOrDivision; public string ClassOrDivision { get { return _classOrDivision; } set { _classOrDivision = value; } } #endregion } #endregion #region EmpAchievement [Serializable] public class EmpAchievement : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpAchievement)); #endregion #region Constructor public EmpAchievement() { employeeId = null; _achievementId = null; _achievement = null; } #endregion #region Properties #region EmployeeID private ID employeeId; public ID EmployeeID { get { return employeeId; } set { employeeId = value; } } #endregion #region AchievementID private ID _achievementId; public ID AchievementID { get { return _achievementId; } set { _achievementId = value; _achievement = null; } } private Achievement _achievement; public Achievement Achievement { get { if (_achievement == null) { _achievement = Achievement.Get(_achievementId); } return _achievement; } } #endregion #endregion } #endregion #region EmpCurricularActivity [Serializable] public class EmpCurricularActivity : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpCurricularActivity)); #endregion #region Constructor public EmpCurricularActivity() { employeeId = null; _curricularActivityId = null; } #endregion #region Properties #region EmployeeID private ID employeeId; public ID EmployeeID { get { return employeeId; } set { employeeId = value; } } #endregion #region CurricularActivityID private ID _curricularActivityId; public ID CurricularActivityID { get { return _curricularActivityId; } set { _curricularActivityId = value; } } #endregion #endregion } #endregion #region EmpOtherTalent [Serializable] public class EmpOtherTalent : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpOtherTalent)); #endregion #region Constructor public EmpOtherTalent() { employeeId = null; _otherTalentId = null; } #endregion #region Properties #region EmployeeID private ID employeeId; public ID EmployeeID { get { return employeeId; } set { employeeId = value; } } #endregion #region AchivementID private ID _otherTalentId; public ID OtherTalentID { get { return _otherTalentId; } set { _otherTalentId = value; } } #endregion #endregion } #endregion #region EmpHobby [Serializable] public class EmpHobby : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpHobby)); #endregion #region Constructor public EmpHobby() { employeeId = null; _hobbyId = null; } #endregion #region Properties #region EmployeeID private ID employeeId; public ID EmployeeID { get { return employeeId; } set { employeeId = value; } } #endregion #region AchivementID private ID _hobbyId; public ID HobbyID { get { return _hobbyId; } set { _hobbyId = value; } } #endregion #endregion public bool IsHobbyExist(ID hobbyID) { //foreach (EmpHobby hobby in this) //{ // if (hobby.HobbyID == hobbyID) // return true; //} return false; } } #endregion #region EmpAllergy [Serializable] public class EmpAllergy : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpAllergy)); #endregion #region Constructor public EmpAllergy() { employeeId = null; _allergyId = null; } #endregion #region Properties #region EmployeeID private ID employeeId; public ID EmployeeID { get { return employeeId; } set { employeeId = value; } } #endregion #region AllergyID private ID _allergyId; public ID AllergyID { get { return _allergyId; } set { _allergyId = value; } } #endregion #endregion } #endregion #region EmpHospitalization [Serializable] public class EmpHospitalization : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpHospitalization)); #endregion #region Constructor public EmpHospitalization() { _employeeID = null; _registrationDate = DateTime.MinValue; _relationId = null; _relation = null; _birthDate = DateTime.MinValue; _occupationId = null; _occupation = null; _address = string.Empty; _photograph = string.Empty; _telephone = string.Empty; _mobile = string.Empty; _email = string.Empty; } #endregion #region Property #region EmployeeID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region Property RegistrationDate : DateTime private DateTime _registrationDate; public DateTime RegistrationDate { get { return _registrationDate; } set { _registrationDate = value; } } #endregion #region Property RegisteredPerson : string private string _person; public string RegisteredPerson { get { return _person; } set { _person = value; } } #endregion #region Property RelationId : ID private ID _relationId; public ID RelationId { get { return _relationId; } set { _relationId = value; } } private Relation _relation; public Relation Relation { get { if (_relation == null) { _relation = Relation.Get(_relationId); } return _relation; } } #endregion #region Property BirthDate : DateTime private DateTime _birthDate; public DateTime BirthDate { get { return _birthDate; } set { _birthDate = value; } } #endregion #region Property OccupationID : ID private ID _occupationId; public ID OccupationID { get { return _occupationId; } set { _occupationId = value; } } private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { _occupation = Occupation.Get(_occupationId); } return _occupation; } } #endregion #region Property Address : string private string _address; public string Address { get { return _address; } set { _address = value; } } #endregion #region Property Photograph : string private string _photograph; public string Photograph { get { return _photograph; } set { _photograph = value; } } #endregion #region Property Telephone : string private string _telephone; public string Telephone { get { return _telephone; } set { _telephone = value; } } #endregion #region Property Mobile : string private string _mobile; public string Mobile { get { return _mobile; } set { _mobile = value; } } #endregion #region Property Email : string private string _email; public string Email { get { return _email; } set { _email = value; } } #endregion #endregion } #endregion #region EmpGuarantor [Serializable] public class EmpGuarantor : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpGuarantor)); #endregion #region Constructor public EmpGuarantor() { _employeeId = null; _name = string.Empty; _occupationId = null; _occupation = null; _address = string.Empty; _telephone = string.Empty; _guarantorMobile = string.Empty; _emailAddress = string.Empty; _categotyDocId = null; _categotyDoc = null; _documentPath = string.Empty; } #endregion #region Properties #region Employee private ID _employeeId; public ID EmployeeID { get { return _employeeId; } set { _employeeId = value; } } #endregion #region Guarantor Name private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region Occupation private ID _occupationId; public ID OccupationID { get { return _occupationId; } set { _occupationId = value; _occupation = null; } } private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { _occupation = Occupation.Get(_occupationId); } return _occupation; } } #endregion #region CategotyDocId private ID _categotyDocId; public ID CategotyDocId { get { return _categotyDocId; } set { _categotyDocId = value; _categotyDoc = null; } } private GuarantorDocumentType _categotyDoc; public GuarantorDocumentType CategotyDoc { get { if (_categotyDoc == null) { _categotyDoc = GuarantorDocumentType.Get(CategotyDocId); } return _categotyDoc; } } #endregion #region Address private string _address; public string Address { get { return _address; } set { _address = value; } } #endregion #region Telephone private string _telephone; public string Telephone { get { return _telephone; } set { _telephone = value; } } #endregion #region Mobile private string _guarantorMobile; public string GuarantorMobile { get { return _guarantorMobile; } set { _guarantorMobile = value; } } #endregion #region Property EmailAddress : string private string _emailAddress; public string EmailAddress { get { return _emailAddress; } set { _emailAddress = value; } } #endregion #region DocumentPath private string _documentPath; public string DocumentPath { get { return _documentPath; } set { _documentPath = value; } } #endregion #endregion } #endregion #region EmpLanguage [Serializable] public class EmpLanguage : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpLanguage)); #endregion #region Constructor public EmpLanguage() { _languageName = String.Empty; _spokenStatus = EnumLanguageEfficiency.None; _writtenStatus =EnumLanguageEfficiency.None; _employeeID = null; } #endregion #region Properties #region LanguageName : String private string _languageName; public string LanguageName { get { return _languageName; } set { _languageName = value; } } #endregion #region SpokenStatus : EnumLanguageEfficiency private EnumLanguageEfficiency _spokenStatus; public EnumLanguageEfficiency SpokenStatus { get { return _spokenStatus; } set { _spokenStatus = value; } } #endregion #region WrittenStatus : EnumLanguageEfficiency private EnumLanguageEfficiency _writtenStatus; public EnumLanguageEfficiency WrittenStatus { get { return _writtenStatus; } set { _writtenStatus = value; } } #endregion #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #endregion } #endregion #region EmpRelative [Serializable] public class EmpRelative : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpRelative)); #endregion #region Constructor public EmpRelative() { _name = string.Empty; _designation = string.Empty; _relationID = null; _joiningDate = DateTime.MinValue; _endDate = DateTime.MinValue; _employeeID = null; _empNo = string.Empty; } #endregion #region Properties #region Name : String private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region Designation : String private string _designation; public string Designation { get { return _designation; } set { _designation = value; } } #endregion #region RelationID : ID private ID _relationID; public ID RelationID { get { return _relationID; } set { _relationID = value; } } #endregion #region JoiningDate : DateTime private DateTime _joiningDate; public DateTime JoiningDate { get { return _joiningDate; } set { _joiningDate = value; } } #endregion #region EndDate : DateTime //private DateTime? _endDate; //public DateTime? EndDate //{ // get { return _endDate; } // set // { // base.OnPropertyChange("EndDate", _endDate, value); // _endDate = value; // } //} private DateTime _endDate; public DateTime EndDate { get { return _endDate; } set { base.OnPropertyChange("EndDate", _endDate, value); _endDate = value; } } public string FromDateString { get { return _endDate.ToString("dd MMM yyyy"); } } #endregion #region EmpNo : String private string _empNo; public string EmpNo { get { return _empNo; } set { _empNo = value; } } #endregion #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #endregion } #endregion #region EmpMembership [Serializable] public class EmpMembership : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpMembership)); #endregion #region Constructor public EmpMembership() { _organization = string.Empty; _activity = string.Empty; _fromDate = DateTime.MinValue; _endDate = DateTime.MinValue; _employeeID = null; _organizationType = EnumOrganizationType.None; } #endregion #region Properties #region Organization : String private string _organization; public string Organization { get { return _organization; } set { _organization = value; } } #endregion #region Activity : String private string _activity; public string Activity { get { return _activity; } set { _activity = value; } } #endregion #region FromDate : DateTime private DateTime _fromDate; public DateTime FromDate { get { return _fromDate; } set { _fromDate = value; } } #endregion #region EndDate : DateTime private DateTime _endDate; public DateTime EndDate { get { return _endDate; } set { base.OnPropertyChange("EndDate", _endDate, value); _endDate = value; } } public string FromDateString { get { return _endDate.ToString("dd MMM yyyy"); } } #endregion #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region Organization Type private EnumOrganizationType _organizationType; public EnumOrganizationType OrganizationType { get { return _organizationType; } set { _organizationType = value; } } #endregion #endregion } #endregion #region EmpRelation [Serializable] public class EmpRelation : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpRelation)); #endregion #region Constructor public EmpRelation() { _name = string.Empty; _relationID = null; _occupationID = null; _employeeID = null; _occupation = null; _relation = null; } #endregion #region Properties #region Name : String private string _name; public string Name { get { return _name; } set { _name = value; } } #endregion #region Relation : ID private ID _relationID; public ID RelationID { get { return _relationID; } set { _relationID = value; } } #endregion #region Occupation : ID private ID _occupationID; public ID OccupationID { get { return _occupationID; } set { _occupationID = value; } } #endregion #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region Occupation private Occupation _occupation; public Occupation Occupation { get { if (_occupation == null) { if (_occupationID != null) _occupation = Occupation.Get(_occupationID); } return _occupation; } } #endregion #region Relation private Relation _relation; public Relation Relation { get { if (_relation == null) { _relation = Relation.Get(_relationID); } return _relation; } } #endregion #endregion } #endregion #region EmpHRQuestionAnswer [Serializable] public class EmpHRQuestionAnswer : BasicBaseObject { #region Cache Store private static Cache _cache = new Cache(typeof(EmpHRQuestionAnswer)); #endregion #region Constructor public EmpHRQuestionAnswer() { _questionaryID = null; _questionNo = string.Empty; _qAnswer = string.Empty; _QuestionDes = string.Empty; _employeeID = null; _joiningQuestionary = null; } #endregion #region Properties #region QuestionaryID : ID private ID _questionaryID; public ID QuestionaryID { get { return _questionaryID; } set { _questionaryID = value; } } #endregion #region QuestionNo : String private string _questionNo; public string QuestionNo { get { return _questionNo; } set { _questionNo = value; } } #endregion #region QAnswer : string private string _qAnswer; public string QAnswer { get { return _qAnswer; } set { _qAnswer = value; } } #endregion #region QuestionDes : string private string _QuestionDes; public string QuestionDes { get { return _QuestionDes; } set { _QuestionDes = value; } } #endregion #region EmployeeID : ID private ID _employeeID; public ID EmployeeID { get { return _employeeID; } set { _employeeID = value; } } #endregion #region HRJoiningQuestionary Property private HRJoiningQuestionary _joiningQuestionary; public HRJoiningQuestionary JoiningQuestionary { get { if (_joiningQuestionary == null) { _joiningQuestionary = new HRJoiningQuestionary(); if (!this.ID.IsUnassigned) _joiningQuestionary = HRJoiningQuestionary.Service.Get(QuestionaryID); } return _joiningQuestionary; } set { _joiningQuestionary = value; } } #endregion #endregion } #endregion #endregion #region Interface IHREmployeeService public interface IHREmployeeService { #region Child's function definitions ObjectsTemplate GetEmpContacts(ID id); ObjectsTemplate GetEmpContacts(); void SaveMultipleEmployeeContacts(ObjectsTemplate oEmpContacts); ObjectsTemplate GetEmpSpouses(ID id); ObjectsTemplate GetEmpChildrens(ID id); ObjectsTemplate GetEmpPublications(ID id); ObjectsTemplate GetEmpReferences(ID id); ObjectsTemplate GetEmpExperiences(ID id); ObjectsTemplate GetEmpTrainings(ID id); ObjectsTemplate GetEmpNominees(ID id); ObjectsTemplate GetEmpAcademics(ID id); ObjectsTemplate GetEmpAchievements(ID id); ObjectsTemplate GetEmpCurricularActivitys(ID id); ObjectsTemplate GetEmpOtherTalents(ID id); ObjectsTemplate GetEmpHobbys(ID id); ObjectsTemplate GetEmpAllergys(ID id); ObjectsTemplate GetEmpHospitalizations(ID id); ObjectsTemplate GetEmpGuarantors(ID id); ObjectsTemplate GetEmpLanguages(ID id); ObjectsTemplate GetEmpRelatives(ID id); ObjectsTemplate GetEmpMemberships(ID id); ObjectsTemplate GetEmpRelations(ID id); ObjectsTemplate GetEmpHRQuestionAnswers(ID id); EmpWorkPlanSetup GetEmpWorkPlanSetup(ID id); ObjectsTemplate GetEmpCreditCard(ID iD); #endregion #region parent's function definition HREmployee Get(ID id); HREmployee GetByEmployeeNo(string empNo); DataSet GetSubordinatesDataset(ID nodeID, string AdditionalSQL); DataSet GetEmployeesDataset(string query); ObjectsTemplate GetGroupEmployees(); ObjectsTemplate GetUserGroups(); ObjectsTemplate GetEmployeeByIds(string ids); string GetSubordinateIDs(ID nodeID); ObjectsTemplate GetEmployees(string query); ObjectsTemplate Get(int payrollTypeID); bool IsEmployeeNoExist(string empNo); bool IsNickNameExists(string nickName); bool IsExists(string sSearch); LogInStatus IsValidateForDesktop(string empNo, string password, ref HREmployee employee); ID Save(HREmployee employee, ID candidateId); void Save(HREmployee employee); void SaveEmpTraining(EmpTraining empTraining); void UpdateContact(HREmployee employee, EmpContact contactInfo); void UpdateEmpWithoutChild(HREmployee employee); void UpdatePassword(string password, ID id); void UpdateStatus(ID employeeID, EnumEmployeeStatus status); void UpdateUserGroup(HREmployee item); void Delete(ID id); #endregion } #endregion }