967 lines
40 KiB
C#
967 lines
40 KiB
C#
|
using System;
|
|||
|
using System.Collections.Generic;
|
|||
|
using System.Text;
|
|||
|
using Ease.Core.DataAccess;
|
|||
|
using Ease.Core.Model;
|
|||
|
using Ease.Core.Utility;
|
|||
|
using HRM.BO;
|
|||
|
using HRM.BO.ess;
|
|||
|
using static iTextSharp.text.pdf.AcroFields;
|
|||
|
|
|||
|
namespace HRM.DA.Service.ess
|
|||
|
{
|
|||
|
public class ProfileUpdateRequestService : ServiceTemplate, IProfileUpdateRequestService
|
|||
|
{
|
|||
|
private void MapObject(ProfileUpdateRequest item, DataReader dataReader)
|
|||
|
{
|
|||
|
base.SetObjectID(item, dataReader.GetInt32("purId").Value);
|
|||
|
item.RequestDate = dataReader.GetDateTime("Requestdate").Value;
|
|||
|
item.EmployeeNo = dataReader.GetString("EmployeeNo");
|
|||
|
item.EmployeeName = dataReader.GetString("EmployeeName");
|
|||
|
item.PURequestType = (EnumPURequestType)dataReader.GetInt32("PURequestType").Value;
|
|||
|
item.PURequestStatus = (EnumPURequestStatus)dataReader.GetInt32("PURequestStatus");
|
|||
|
item.RequestEmpID = dataReader.GetInt32("RequestEmpID").Value;
|
|||
|
item.RequestRemarks = dataReader.GetString("RequestRemarks");
|
|||
|
item.RequestDescription = dataReader.GetString("RequestDescription");
|
|||
|
item.ApproveDate = dataReader.GetDateTime("ApproveDate");
|
|||
|
item.ApproveBy = dataReader.GetInt32("ApproveBy");
|
|||
|
item.ApproveRemarks = dataReader.GetString("ApproveRemarks");
|
|||
|
item.PastInfo = dataReader.GetString("PastInfo");
|
|||
|
item.MobileNo = dataReader.GetString("MobileNo");
|
|||
|
item.NationalID = dataReader.GetString("NationalID");
|
|||
|
item.BloodGroup = (EnumBloodGroup)dataReader.GetInt32("BloodGroup", 0);
|
|||
|
item.TIN = dataReader.GetString("TIN");
|
|||
|
item.PassportNo = dataReader.GetString("PassportNo");
|
|||
|
item.PassportIssuePlace = dataReader.GetString("PassportIssuePlace");
|
|||
|
item.PassportIssueDate = dataReader.GetDateTime("PassportIssueDate");
|
|||
|
item.PassportExpiryDate = dataReader.GetDateTime("PassportExpiryDate");
|
|||
|
item.FatherName = dataReader.GetString("FatherName");
|
|||
|
item.MotherName = dataReader.GetString("MotherName");
|
|||
|
item.FatherOccupationID = dataReader.GetInt32("FatherOccupationID");
|
|||
|
item.MotherOccupationID = dataReader.GetInt32("MotherOccupationID");
|
|||
|
item.PermanentAddress = dataReader.GetString("PermanentAddress");
|
|||
|
item.PermanentLandPhone = dataReader.GetString("PermanentLandPhone");
|
|||
|
item.PermanentMobile = dataReader.GetString("PermanentMobile");
|
|||
|
item.PermanentDistrictID = dataReader.GetInt32("PermanentDistrictID");
|
|||
|
item.PermanentThanaID = dataReader.GetInt32("PermanentThanaID");
|
|||
|
item.PresentAddress = dataReader.GetString("PresentAddress");
|
|||
|
item.PresentLandPhone = dataReader.GetString("PresentLandPhone");
|
|||
|
item.PresentMobile = dataReader.GetString("PresentMobile");
|
|||
|
item.PresentDistrictID = dataReader.GetInt32("PresentDistrictID");
|
|||
|
item.PresentThanaID = dataReader.GetInt32("PresentThanaID");
|
|||
|
item.EmergencyContactPerson = dataReader.GetString("EmergencyContactPerson");
|
|||
|
item.EmergencyAddress = dataReader.GetString("EmergencyAddress");
|
|||
|
item.EmergencyLandPhone = dataReader.GetString("EmergencyLandPhone");
|
|||
|
item.EmergencyMobileNo = dataReader.GetString("EmergencyMobileNo");
|
|||
|
item.EmergencyRelationID = dataReader.GetInt32("EmergencyRelationID");
|
|||
|
|
|||
|
item.SpouseName = dataReader.GetString("SpouseName");
|
|||
|
item.SpouseEducationLevelID = dataReader.GetInt32("SpouseEducationLevelID");
|
|||
|
item.SpouseOccupationID = dataReader.GetInt32("SpouseOccupationID");
|
|||
|
item.SpouseOccupationID = dataReader.GetInt32("SpouseOccupationID");
|
|||
|
item.SpouseMarriageDate = dataReader.GetDateTime("SpouseMarriageDate");
|
|||
|
|
|||
|
item.ChildGender = (EnumGender)dataReader.GetInt32("ChildGender", 0);
|
|||
|
item.ChildName = dataReader.GetString("ChildName");
|
|||
|
item.ChildBirthDate = dataReader.GetDateTime("ChildBirthDate");
|
|||
|
item.ChildOccupationID = dataReader.GetInt32("ChildOccupationID");
|
|||
|
item.ChildMaritalStatus = (EnumMaritalStatus)dataReader.GetInt32("ChildMaritalStatus", 0);
|
|||
|
item.ChildPassportNo = dataReader.GetString("ChildPassportNo");
|
|||
|
item.ChildPassportIssuePlace = dataReader.GetString("ChildPassportIssuePlace");
|
|||
|
item.ChildPassportIssueDate = dataReader.GetDateTime("ChildPassportIssueDate");
|
|||
|
item.ChildPassportExpiryDate = dataReader.GetDateTime("ChildPassportExpiryDate");
|
|||
|
|
|||
|
item.AcademicEducationTypeID = dataReader.GetInt32("AcademicEducationTypeID");
|
|||
|
item.AcademicDegreeID = dataReader.GetInt32("AcademicDegreeID");
|
|||
|
item.AcademicDisciplineID = dataReader.GetInt32("AcademicDisciplineID");
|
|||
|
item.AcademicUniversityBoardID = dataReader.GetInt32("AcademicUniversityBoardID");
|
|||
|
item.AcademicPassingYear = dataReader.GetInt32("AcademicPassingYear");
|
|||
|
item.AcademicResultID = dataReader.GetInt32("AcademicResultID");
|
|||
|
item.AcademicGPA = dataReader.GetDouble("AcademicGPA");
|
|||
|
item.AcademicOutOf = dataReader.GetDouble("AcademicOutOf");
|
|||
|
item.AcademicInstitute = dataReader.GetString("AcademicInstitute");
|
|||
|
item.AcademicExamHeldOn = dataReader.GetString("AcademicExamHeldOn");
|
|||
|
item.AcademicHeightsEducation = dataReader.GetBoolean("AcademicHeightsEducation");
|
|||
|
|
|||
|
item.NomineeTypeID = dataReader.GetInt32("NomineeTypeID");
|
|||
|
item.NomineeRelationID = dataReader.GetInt32("NomineeRelationID");
|
|||
|
item.NomineePercent = dataReader.GetInt32("NomineePercent");
|
|||
|
item.NomineeOccupationID = dataReader.GetInt32("NomineeOccupationID");
|
|||
|
item.NomineeName = dataReader.GetString("NomineeName");
|
|||
|
item.NomineeAddress = dataReader.GetString("NomineeAddress");
|
|||
|
item.NomineeTelephone = dataReader.GetString("NomineeTelephone");
|
|||
|
item.NomineeEmail = dataReader.GetString("NomineeEmail");
|
|||
|
item.NominationDate = dataReader.GetDateTime("NominationDate");
|
|||
|
item.NomineeDateOfBirth = dataReader.GetDateTime("NomineeDateOfBirth");
|
|||
|
|
|||
|
item.TrainingTypeId = dataReader.GetInt32("TrainingTypeId");
|
|||
|
item.NatureOfTrainingId = dataReader.GetInt32("NatureOfTrainingId");
|
|||
|
item.TrainingTitle = dataReader.GetString("TrainingTitle");
|
|||
|
item.TrainingDescription = dataReader.GetString("TrainingDescription");
|
|||
|
item.TrainingInstitutionId = dataReader.GetInt32("TrainingInstitutionId");
|
|||
|
item.TrainingInstituteName = dataReader.GetString("TrainingInstituteName");
|
|||
|
item.TrainingFromDate = dataReader.GetDateTime("TrainingFromDate");
|
|||
|
item.TrainingToDate = dataReader.GetDateTime("TrainingToDate");
|
|||
|
item.TrainingCountryId = dataReader.GetInt32("TrainingCountryId");
|
|||
|
item.TrainingSponsoredType = (EnumSponsoredType)dataReader.GetInt32("TrainingSponsoredType", 0);
|
|||
|
item.TrainingAchievement = dataReader.GetString("TrainingAchievement");
|
|||
|
item.TrainingMonth = dataReader.GetInt32("TrainingMonth");
|
|||
|
item.TrainingDay = dataReader.GetInt32("TrainingDay");
|
|||
|
item.TrainingHour = dataReader.GetInt32("TrainingHour");
|
|||
|
item.Trainingfees = dataReader.GetInt32("Trainingfees");
|
|||
|
item.TrainingOtherCost = dataReader.GetInt32("TrainingOtherCost");
|
|||
|
|
|||
|
item.ExperienceEmployer = dataReader.GetString("ExperienceEmployer");
|
|||
|
item.ExperienceBusinessType = dataReader.GetString("ExperienceBusinessType");
|
|||
|
item.ExperienceEmployerContactInfo = dataReader.GetString("ExperienceEmployerContactInfo");
|
|||
|
item.ExperienceDesignation = dataReader.GetString("ExperienceDesignation");
|
|||
|
item.ExperienceAddress = dataReader.GetString("ExperienceAddress");
|
|||
|
item.ExperienceRole = dataReader.GetString("ExperienceRole");
|
|||
|
item.ExperienceTelephone = dataReader.GetString("ExperienceTelephone");
|
|||
|
item.ExperienceFrom = dataReader.GetDateTime("ExperienceFrom");
|
|||
|
item.ExperienceTo = dataReader.GetDateTime("ExperienceFrom");
|
|||
|
|
|||
|
item.AdminRemarks = dataReader.GetString("AdminRemarks");
|
|||
|
|
|||
|
|
|||
|
item.CreatedBy = dataReader.GetInt32("CreatedBy").Value;
|
|||
|
item.ModifiedBy = dataReader.GetInt32("ModifiedBy");
|
|||
|
item.CreatedDate = dataReader.GetDateTime("CreationDate").Value;
|
|||
|
item.ModifiedDate = dataReader.GetDateTime("ModifiedDate");
|
|||
|
|
|||
|
this.SetObjectState(item, Ease.Core.ObjectState.Saved);
|
|||
|
}
|
|||
|
|
|||
|
protected override T CreateObject<T>(DataReader dataReader)
|
|||
|
{
|
|||
|
ProfileUpdateRequest profileUpdateRequest = new ProfileUpdateRequest();
|
|||
|
MapObject(profileUpdateRequest, dataReader);
|
|||
|
return profileUpdateRequest as T;
|
|||
|
}
|
|||
|
|
|||
|
protected ProfileUpdateRequest CreateObject(DataReader dataReader)
|
|||
|
{
|
|||
|
ProfileUpdateRequest profileUpdateRequest = new ProfileUpdateRequest();
|
|||
|
MapObject(profileUpdateRequest, dataReader);
|
|||
|
return profileUpdateRequest;
|
|||
|
}
|
|||
|
|
|||
|
public ProfileUpdateRequest GetProfileUpdateRequestById(int id)
|
|||
|
{
|
|||
|
ProfileUpdateRequest item = new ProfileUpdateRequest();
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
DataReader dataReader = new DataReader(ProfileUpdateRequestDA.GetById(tc, id));
|
|||
|
if (dataReader.Read())
|
|||
|
{
|
|||
|
item = this.CreateObject<ProfileUpdateRequest>(dataReader);
|
|||
|
}
|
|||
|
|
|||
|
dataReader.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return item;
|
|||
|
}
|
|||
|
|
|||
|
public List<ProfileUpdateRequest> GetAllByEmpId(int empId)
|
|||
|
{
|
|||
|
List<ProfileUpdateRequest> items = new List<ProfileUpdateRequest>();
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
DataReader dataReader = new DataReader(ProfileUpdateRequestDA.GetAllByEmpId(tc, empId));
|
|||
|
|
|||
|
items = this.CreateObjects<ProfileUpdateRequest>(dataReader);
|
|||
|
|
|||
|
dataReader.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return items;
|
|||
|
}
|
|||
|
public int GetPURCountEmpIdAndStatus(int empId, EnumPURequestStatus status)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
int ans;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ans = ProfileUpdateRequestDA.GetAllByEmpIdAndStatus(tc, empId, status);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ans;
|
|||
|
}
|
|||
|
|
|||
|
public int TotalProfileUpdateRequested()
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
int ans;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
ans = ProfileUpdateRequestDA.TotalProfileUpdateRequested(tc);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return ans;
|
|||
|
}
|
|||
|
|
|||
|
public List<ProfileUpdateRequest> GetAll()
|
|||
|
{
|
|||
|
List<ProfileUpdateRequest> items = new List<ProfileUpdateRequest>();
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
DataReader dataReader = new DataReader(ProfileUpdateRequestDA.GetAll(tc));
|
|||
|
|
|||
|
items = this.CreateObjects<ProfileUpdateRequest>(dataReader);
|
|||
|
|
|||
|
dataReader.Close();
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
return items;
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateStatusToRejected(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
//ProfileUpdateRequestDA.Delete(tc, id);
|
|||
|
item.PURequestStatus = EnumPURequestStatus.Reject;
|
|||
|
item.ApproveDate = DateTime.Now;
|
|||
|
item.ApproveBy = item.currentUserId;
|
|||
|
|
|||
|
ProfileUpdateRequestDA.Update(tc, item);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void RejectEmployeeRequestBulk(string ids, int rejectedby, DateTime RejectedTime)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin();
|
|||
|
//ProfileUpdateRequestDA.Delete(tc, id);
|
|||
|
ProfileUpdateRequestDA.RejectEmployeeRequestBulk(tc, ids,rejectedby,DateTime.Now);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void UpdateEmployee(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
switch (item.PURequestType)
|
|||
|
{
|
|||
|
case EnumPURequestType.Mobile:
|
|||
|
ProfileUpdateRequestDA.UpdateMobileNo(tc, item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.Mobile, 0);
|
|||
|
break;
|
|||
|
case EnumPURequestType.NationalID:
|
|||
|
ProfileUpdateRequestDA.UpdateNationalId(tc, item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.nationalID, 0);
|
|||
|
break;
|
|||
|
case EnumPURequestType.BloodGroup:
|
|||
|
ProfileUpdateRequestDA.UpdateBloodGroup(tc, item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.bloodGroup, 0);
|
|||
|
break;
|
|||
|
case EnumPURequestType.TIN:
|
|||
|
ProfileUpdateRequestDA.UpdateTIN(tc, item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.TIN, 0);
|
|||
|
break;
|
|||
|
case EnumPURequestType.PassportNO:
|
|||
|
ProfileUpdateRequestDA.PassportNO(tc, item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.passport, 0);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Picture:
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.photo, 0);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Father_Mother_Info:
|
|||
|
SaveParentsInfo(item);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Permanent_Contact:
|
|||
|
SavePermanentContact(item);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Present_Contact:
|
|||
|
SavePresentContact(item);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Emergency_Contact:
|
|||
|
SaveEmergencyContact(item);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Spouse:
|
|||
|
SaveSpouse(item);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Children:
|
|||
|
SaveChildren(item);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Education:
|
|||
|
int eduRef = SaveAcademic(item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.Education, eduRef);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Nominee:
|
|||
|
int nomineeRef = SaveNominee(item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.Nominee, nomineeRef);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Training:
|
|||
|
int trainRef = SaveTraining(item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.training, trainRef);
|
|||
|
break;
|
|||
|
case EnumPURequestType.Experience:
|
|||
|
int expRef = SaveExperience(item);
|
|||
|
ApproveAttachment(item, enumEmpFileUploadType.Experience, expRef);
|
|||
|
break;
|
|||
|
default:
|
|||
|
break;
|
|||
|
}
|
|||
|
ProfileUpdateRequestDA.UpdateProfilePercentage(tc, item.RequestEmpID);
|
|||
|
ProfileUpdateRequestDA.UpdateStatusToApproved(tc, item.ID,item.currentUserId,DateTime.Now);
|
|||
|
tc.End();
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
/*public int UpdateParcentInfoForNationalId(TransactionContext tc, ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
string ans = ProfileUpdateRequestDA.NationalIdExistingData(tc, item);
|
|||
|
return 0;
|
|||
|
}*/
|
|||
|
|
|||
|
public int SaveParentsInfo(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
Employee employee = new Employee();
|
|||
|
EmployeeService employeeService = new EmployeeService();
|
|||
|
try
|
|||
|
{
|
|||
|
employee = employeeService.Get(item.RequestEmpID);
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.FatherName != "") employee.FatherName = item.FatherName;
|
|||
|
if (item.MotherName != "") employee.MotherName = item.MotherName;
|
|||
|
if (item.FatherOccupationID != null)
|
|||
|
employee.FatherOccupationId = item.FatherOccupationID.GetValueOrDefault();
|
|||
|
if (item.MotherOccupationID != null)
|
|||
|
employee.MotherOccupationId = item.MotherOccupationID.GetValueOrDefault();
|
|||
|
employee.ID = item.RequestEmpID;
|
|||
|
ProfileUpdateRequestDA.UpdateParentsInfo(tc, employee);
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void ApproveAttachment(ProfileUpdateRequest item, enumEmpFileUploadType fileType, int refId)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
empFileupload empFileupload = new empFileupload();
|
|||
|
HREmployeeService hrEmployeeService = new HREmployeeService();
|
|||
|
try
|
|||
|
{
|
|||
|
empFileupload = hrEmployeeService.GetuploadedFileInProfileUpdate(item.RequestEmpID, item.RequestEmpID,
|
|||
|
fileType);
|
|||
|
if (empFileupload != null)
|
|||
|
{
|
|||
|
if (refId > 0) empFileupload.referenceID = refId;
|
|||
|
hrEmployeeService.ApproveUplaodFileInProfileUpdate(empFileupload);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveChildren(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
EmpChildren child = new EmpChildren();
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.ChildName != "") child.Name = item.ChildName;
|
|||
|
if (item.ChildGender != null)
|
|||
|
child.Gender = item.ChildGender.GetValueOrDefault();
|
|||
|
if (item.ChildBirthDate != null)
|
|||
|
child.BirthDate = item.ChildBirthDate.GetValueOrDefault();
|
|||
|
if (item.ChildOccupationID != null)
|
|||
|
child.OccupationID = item.ChildOccupationID.GetValueOrDefault();
|
|||
|
if (item.ChildMaritalStatus != null)
|
|||
|
child.MaritalStatus = item.ChildMaritalStatus.GetValueOrDefault();
|
|||
|
if (item.ChildPassportNo != "")
|
|||
|
child.PassportNo = item.ChildPassportNo;
|
|||
|
if (item.ChildPassportIssuePlace != "")
|
|||
|
child.PassportIssuePlace = item.ChildPassportIssuePlace;
|
|||
|
if (item.ChildPassportIssueDate != null)
|
|||
|
child.PassportIssueDate = item.ChildPassportIssueDate.GetValueOrDefault();
|
|||
|
if (item.ChildPassportExpiryDate != null)
|
|||
|
child.PassportExpDate = item.ChildPassportExpiryDate.GetValueOrDefault();
|
|||
|
child.EmployeeID = item.RequestEmpID;
|
|||
|
this.SetObjectID(child, (HREmployeeDA.GetNewID(tc, "EmpChildren", "ChildID")));
|
|||
|
HREmployeeDA.Insert(tc, child);
|
|||
|
|
|||
|
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveTraining(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
EmpTraining training = new EmpTraining();
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
training.EmployeeID = item.RequestEmpID;
|
|||
|
training.Name = item.TrainingTitle;
|
|||
|
training.Description = item.TrainingDescription;
|
|||
|
training.Place = item.TrainingInstituteName;
|
|||
|
training.TrainingTypeID = item.TrainingTypeId.GetValueOrDefault();
|
|||
|
training.NatureOfTrainingID = item.NatureOfTrainingId.GetValueOrDefault();
|
|||
|
training.InstitutionID = item.TrainingInstitutionId.GetValueOrDefault();
|
|||
|
training.FromDate = item.TrainingFromDate.GetValueOrDefault();
|
|||
|
training.ToDate = item.TrainingToDate.GetValueOrDefault();
|
|||
|
training.CountryID = item.TrainingCountryId.GetValueOrDefault();
|
|||
|
training.SponsoredType = item.TrainingSponsoredType;
|
|||
|
training.Achievement = item.TrainingAchievement;
|
|||
|
training.TrainingMonth = item.TrainingMonth.GetValueOrDefault();
|
|||
|
training.TrainingDay = item.TrainingDay.GetValueOrDefault();
|
|||
|
training.TrainingHour = item.TrainingHour.GetValueOrDefault();
|
|||
|
training.Fees = item.Trainingfees.GetValueOrDefault();
|
|||
|
training.OtherCost = item.TrainingOtherCost.GetValueOrDefault();
|
|||
|
|
|||
|
this.SetObjectID(training, (HREmployeeDA.GetNewID(tc, "EmpTraining", "EmpTrainingID")));
|
|||
|
HREmployeeDA.Insert(tc, training);
|
|||
|
|
|||
|
tc.End();
|
|||
|
return training.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveExperience(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
EmpExperience experience = new EmpExperience();
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
experience.EmployeeID = item.RequestEmpID;
|
|||
|
experience.Employer = item.ExperienceEmployer;
|
|||
|
experience.ContactPerson = item.ExperienceEmployerContactInfo;
|
|||
|
experience.Designation = item.ExperienceDesignation;
|
|||
|
experience.Address = item.ExperienceAddress;
|
|||
|
experience.JobDescription = item.ExperienceRole;
|
|||
|
experience.Telephone = item.ExperienceTelephone;
|
|||
|
experience.FromDate = item.ExperienceFrom.GetValueOrDefault();
|
|||
|
experience.ToDate = item.ExperienceTo.GetValueOrDefault();
|
|||
|
this.SetObjectID(experience, (HREmployeeDA.GetNewID(tc, "EmpExperience", "ExperienceID")));
|
|||
|
HREmployeeDA.Insert(tc, experience);
|
|||
|
|
|||
|
tc.End();
|
|||
|
return experience.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveAcademic(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
EmpAcademic academic = new EmpAcademic();
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.AcademicEducationTypeID != null)
|
|||
|
academic.EducationTypeID = item.AcademicEducationTypeID.GetValueOrDefault();
|
|||
|
if (item.AcademicDegreeID != null)
|
|||
|
academic.EducationLevelID = item.AcademicDegreeID.GetValueOrDefault();
|
|||
|
if (item.AcademicDisciplineID != null)
|
|||
|
academic.DisciplineID = item.AcademicDisciplineID.GetValueOrDefault();
|
|||
|
if (item.AcademicUniversityBoardID != null)
|
|||
|
academic.InstitutionID = item.AcademicUniversityBoardID.GetValueOrDefault();
|
|||
|
if (item.AcademicInstitute != "")
|
|||
|
academic.InstituteName = item.AcademicInstitute;
|
|||
|
// if (item.AcademicExamHeldOn != "")
|
|||
|
if (item.AcademicPassingYear != null)
|
|||
|
academic.PassingYear = item.AcademicPassingYear.GetValueOrDefault();
|
|||
|
if (item.AcademicResultID != null)
|
|||
|
academic.ResultTypeID = item.AcademicResultID.GetValueOrDefault();
|
|||
|
if (item.AcademicGPA != null)
|
|||
|
academic.GPAOrMarks = item.AcademicGPA.GetValueOrDefault();
|
|||
|
if (item.AcademicOutOf != null)
|
|||
|
academic.OutOf = item.AcademicOutOf.GetValueOrDefault();
|
|||
|
academic.EmployeeID = item.RequestEmpID;
|
|||
|
this.SetObjectID(academic, (HREmployeeDA.GetNewID(tc, "EMPACADEMIC", "ACADEMICID")));
|
|||
|
HREmployeeDA.Insert(tc, academic);
|
|||
|
tc.End();
|
|||
|
return academic.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveNominee(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
EmpNominee nominee = new EmpNominee();
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.NomineeNominationPurposeId != null)
|
|||
|
nominee.NominationPurposeID = item.NomineeNominationPurposeId.GetValueOrDefault();
|
|||
|
if (item.NominationDate != null)
|
|||
|
nominee.NominationDate = item.NominationDate.GetValueOrDefault();
|
|||
|
if (item.NomineeName != "")
|
|||
|
nominee.Name = item.NomineeName;
|
|||
|
if (item.NomineeRelationID != null)
|
|||
|
nominee.RelationID = item.NomineeRelationID.GetValueOrDefault();
|
|||
|
if (item.NomineePercent != null)
|
|||
|
nominee.Percentage = item.NomineePercent.GetValueOrDefault();
|
|||
|
if (item.NomineeDateOfBirth != null)
|
|||
|
nominee.BirthDate = item.NomineeDateOfBirth.GetValueOrDefault();
|
|||
|
if (item.NomineeOccupationID != null)
|
|||
|
nominee.OccupationID = item.NomineeOccupationID.GetValueOrDefault();
|
|||
|
if (item.NomineeAddress != "")
|
|||
|
nominee.Address = item.NomineeAddress;
|
|||
|
if (item.NomineeTelephone != "")
|
|||
|
nominee.TelePhone = item.NomineeTelephone;
|
|||
|
if (item.NomineeEmail != "")
|
|||
|
nominee.EmailAddress = item.NomineeEmail;
|
|||
|
nominee.EmployeeID = item.RequestEmpID;
|
|||
|
this.SetObjectID(nominee, (HREmployeeDA.GetNewID(tc, "EmpNominee", "NomineeID")));
|
|||
|
HREmployeeDA.Insert(tc, nominee);
|
|||
|
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveSpouse(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
EmpSpouse spouse = new EmpSpouse();
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.SpouseName != "") spouse.Name = item.SpouseName;
|
|||
|
if (item.SpouseEducationLevelID != null)
|
|||
|
spouse.EducationLevelID = item.SpouseEducationLevelID.GetValueOrDefault();
|
|||
|
if (item.SpouseOccupationID != null)
|
|||
|
spouse.OccupationID = item.SpouseOccupationID.GetValueOrDefault();
|
|||
|
if (item.SpouseMarriageDate != null)
|
|||
|
spouse.MarriageDate = item.SpouseMarriageDate.GetValueOrDefault();
|
|||
|
|
|||
|
spouse.EmployeeID = item.RequestEmpID;
|
|||
|
this.SetObjectID(spouse, (HREmployeeDA.GetNewID(tc, "EmpSpouse", "SpouseID")));
|
|||
|
HREmployeeDA.Insert(tc, spouse);
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SavePresentContact(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
List<EmpContact> contacts = new List<EmpContact>();
|
|||
|
EmpContact contact = null;
|
|||
|
HREmployeeService hrEmployeeService = new HREmployeeService();
|
|||
|
try
|
|||
|
{
|
|||
|
contacts = hrEmployeeService.GetEmpContacts(item.RequestEmpID);
|
|||
|
if (contacts.Count > 0)
|
|||
|
{
|
|||
|
contact = contacts[0];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
contact = new EmpContact();
|
|||
|
}
|
|||
|
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.PresentAddress != "") contact.PresentAddress = item.PresentAddress;
|
|||
|
if (item.PresentDistrictID != null)
|
|||
|
contact.PresentDistrictID = item.PresentDistrictID.GetValueOrDefault();
|
|||
|
if (item.PresentThanaID != null) contact.PresentThanaID = item.PresentThanaID.GetValueOrDefault();
|
|||
|
if (item.PresentMobile != "") contact.PresentMobile = item.PresentMobile;
|
|||
|
if (item.PresentLandPhone != "") contact.PresentTelephone = item.PresentLandPhone;
|
|||
|
contact.EmployeeID = item.RequestEmpID;
|
|||
|
if (contact.IsNew)
|
|||
|
{
|
|||
|
int id = tc.GenerateID("EMPContact", "CONTACTID");
|
|||
|
base.SetObjectID(contact, id);
|
|||
|
HREmployeeDA.Insert(tc, contact);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ProfileUpdateRequestDA.UpdatePresentContact(tc, contact);
|
|||
|
}
|
|||
|
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SavePermanentContact(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
List<EmpContact> contacts = new List<EmpContact>();
|
|||
|
EmpContact contact = null;
|
|||
|
HREmployeeService hrEmployeeService = new HREmployeeService();
|
|||
|
try
|
|||
|
{
|
|||
|
contacts = hrEmployeeService.GetEmpContacts(item.RequestEmpID);
|
|||
|
if (contacts.Count > 0)
|
|||
|
{
|
|||
|
contact = contacts[0];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
contact = new EmpContact();
|
|||
|
}
|
|||
|
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
contact.PermanentAddress = item.PermanentAddress;
|
|||
|
contact.PermanentDistrictID = item.PermanentDistrictID.GetValueOrDefault();
|
|||
|
contact.PermanentThanaID = item.PermanentThanaID.GetValueOrDefault();
|
|||
|
contact.PermanentMobile = item.PermanentMobile;
|
|||
|
contact.PermanentTelephone = item.PermanentLandPhone;
|
|||
|
contact.EmployeeID = item.RequestEmpID;
|
|||
|
if (contact.IsNew)
|
|||
|
{
|
|||
|
int id = tc.GenerateID("EMPContact", "CONTACTID");
|
|||
|
base.SetObjectID(contact, id);
|
|||
|
HREmployeeDA.Insert(tc, contact);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ProfileUpdateRequestDA.UpdatePermanentContact(tc, contact);
|
|||
|
}
|
|||
|
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int SaveEmergencyContact(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
List<EmpContact> contacts = new List<EmpContact>();
|
|||
|
EmpContact contact = null;
|
|||
|
HREmployeeService hrEmployeeService = new HREmployeeService();
|
|||
|
try
|
|||
|
{
|
|||
|
contacts = hrEmployeeService.GetEmpContacts(item.RequestEmpID);
|
|||
|
if (contacts.Count > 0)
|
|||
|
{
|
|||
|
contact = contacts[0];
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
contact = new EmpContact();
|
|||
|
}
|
|||
|
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
contact.EmergencyContactAddress = item.EmergencyAddress;
|
|||
|
contact.EmergencyContactPerson = item.EmergencyContactPerson;
|
|||
|
contact.EmergencyMobile = item.EmergencyMobileNo;
|
|||
|
contact.EmergencyTelephone = item.EmergencyLandPhone;
|
|||
|
contact.ContactPersonRelationId = item.EmergencyRelationID.GetValueOrDefault();
|
|||
|
contact.EmployeeID = item.RequestEmpID;
|
|||
|
if (contact.IsNew)
|
|||
|
{
|
|||
|
int id = tc.GenerateID("EMPContact", "CONTACTID");
|
|||
|
base.SetObjectID(contact, id);
|
|||
|
HREmployeeDA.Insert(tc, contact);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ProfileUpdateRequestDA.UpdateEmergencyContact(tc, contact);
|
|||
|
}
|
|||
|
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public int Save(ProfileUpdateRequest item)
|
|||
|
{
|
|||
|
TransactionContext tc = null;
|
|||
|
try
|
|||
|
{
|
|||
|
tc = TransactionContext.Begin(true);
|
|||
|
if (item.IsNew)
|
|||
|
{
|
|||
|
int id = tc.GenerateID("ProfileUpdateRequest", "purId");
|
|||
|
base.SetObjectID(item, id);
|
|||
|
ProfileUpdateRequestDA.Insert(tc, item);
|
|||
|
}
|
|||
|
else
|
|||
|
{
|
|||
|
ProfileUpdateRequestDA.Update(tc, item);
|
|||
|
}
|
|||
|
|
|||
|
//if (item.PURequestStatus == EnumPURequestStatus.Requested)
|
|||
|
//{
|
|||
|
// this.InitiateLetterRequestWorkFlow(tc, item, item.RequestEmpID, item.CreatedBy);
|
|||
|
//}
|
|||
|
|
|||
|
tc.End();
|
|||
|
return item.ID;
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
public void InitiateLetterRequestWorkFlow(TransactionContext tc, ProfileUpdateRequest item, int initiateEmpID, int userID)
|
|||
|
{
|
|||
|
|
|||
|
try
|
|||
|
{
|
|||
|
|
|||
|
Employee emp = new EmployeeService().Get(tc, item.RequestEmpID);
|
|||
|
if (item.PURequestStatus == EnumPURequestStatus.Requested)
|
|||
|
{
|
|||
|
|
|||
|
//string subject = "Employee:" + emp.Name + "[ " + emp.EmployeeNo + "]" + " has raised " + ClaimDesc + " on " + item.ClaimDate.ToString() + ". Your Approval is required";
|
|||
|
string subject = "Employee:" + emp.Name + "[ " + emp.EmployeeNo + "]" + " has raised " + "Profile Update Request" + " on " + item.RequestDate.ToString() + ". Your Approval is required";
|
|||
|
HRM.DA.WFManager<IworkflowInterface> om = new HRM.DA.WFManager<IworkflowInterface>(item);
|
|||
|
// om.InitiateProcess(tc, initiateEmpID, item.SetupID, item.ID, "", subject);
|
|||
|
//LetterRequestDA.UpdateLetterRequestStatus(tc, item.ObjectID, EnumLetterRequestStatus.Submitted);
|
|||
|
}
|
|||
|
}
|
|||
|
catch (Exception e)
|
|||
|
{
|
|||
|
#region Handle Exception
|
|||
|
|
|||
|
if (tc != null)
|
|||
|
tc.HandleError();
|
|||
|
ExceptionLog.Write(e);
|
|||
|
throw new ServiceException(e.Message, e);
|
|||
|
|
|||
|
#endregion
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
|
|||
|
}
|
|||
|
}
|