EchoTex_Payroll/HRM.DA/Service/ess/ProfileUpdateRequestService.cs
2024-10-14 10:01:49 +06:00

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
}
}
}
}