public List<Hre_ReportHDTJobEntity> GetReportHDTJob(DateTime? DateFrom, DateTime? DateTo, string lstOrgOrderNumber, string userLogin) { string status = string.Empty; List<Hre_ReportHDTJobEntity> lstReportHDTJobEntity = new List<Hre_ReportHDTJobEntity>(); using (var context = new VnrHrmDataContext()) { var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var hdtJobServices = new Hre_HDTJobServices(); List<object> listObjHDTJob = new List<object>(); listObjHDTJob.Add(lstOrgOrderNumber); listObjHDTJob.Add(DateFrom); listObjHDTJob.Add(DateTo); var lstHDTJob = hdtJobServices.GetData<Hre_HDTJobEntity>(listObjHDTJob, ConstantSql.hrm_hr_sp_get_RptHDTJob, userLogin, ref status).ToList(); if (lstHDTJob == null) { return lstReportHDTJobEntity; } var lstProfileByHDTJob = lstHDTJob.Select(s => s.ProfileID).ToList(); var repoProfile = new Hre_ProfileRepository(unitOfWork); var lstProfile = repoProfile.FindBy(s => lstProfileByHDTJob.Contains(s.ID)).ToList(); List<Guid> profileid = lstProfile.Select(m => m.ID).ToList(); var repoHDTJobType = new Cat_HDTJobTypeRepository(unitOfWork); var lstHDTJobType = repoHDTJobType.GetAll().ToList(); foreach (var ProfileID in profileid) { if (ProfileID == null) continue; var lstHDTJobbyProfile = lstHDTJob.Where(m => m.ProfileID == ProfileID).ToList(); foreach (var HDTJobbyProfile in lstHDTJobbyProfile) { Hre_ReportHDTJobEntity reportHDTJobEntity = new Hre_ReportHDTJobEntity(); var profile = lstProfile.Where(m => m.ID == ProfileID).Select(m => new { m.ProfileName, m.CodeEmp, m.PositionID, m.JobTitleID }).FirstOrDefault(); var HDTJobType = lstHDTJobType.Where(s => HDTJobbyProfile.HDTJobTypeID == s.ID).FirstOrDefault(); reportHDTJobEntity.ProfileName = profile.ProfileName; reportHDTJobEntity.CodeEmp = profile.CodeEmp; reportHDTJobEntity.HDTType = HDTJobType != null ? HDTJobType.HDTJobTypeName : null; reportHDTJobEntity.DateFrom = HDTJobbyProfile.DateFrom; reportHDTJobEntity.DateTo = HDTJobbyProfile.DateTo; lstReportHDTJobEntity.Add(reportHDTJobEntity); } } } return lstReportHDTJobEntity; }
public string ActionApproved(string selectedIds) { using (var context = new VnrHrmDataContext()) { string message = string.Empty; var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var repo = new Cat_HDTJobTypeRepository(unitOfWork); List <Guid> lstIds = selectedIds.Split(',').Select(x => Guid.Parse(x)).ToList(); var lstHDTJobTypes = repo.FindBy(m => m.ID != null && lstIds.Contains(m.ID)).ToList(); foreach (var HDTJobType in lstHDTJobTypes) { HDTJobType.Status = HDTJobStatus.E_APPROVE.ToString(); } repo.SaveChanges(); message = NotificationType.Success.ToString(); return(message); } }
public string ActionApproved(string selectedIds) { using (var context = new VnrHrmDataContext()) { string message = string.Empty; var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var repo = new Cat_HDTJobTypeRepository(unitOfWork); List<Guid> lstIds = selectedIds.Split(',').Select(x => Guid.Parse(x)).ToList(); var lstHDTJobTypes = repo.FindBy(m => m.ID != null && lstIds.Contains(m.ID)).ToList(); foreach (var HDTJobType in lstHDTJobTypes) { HDTJobType.Status = HDTJobStatus.E_APPROVE.ToString(); } repo.SaveChanges(); message = NotificationType.Success.ToString(); return message; } }
public List<Hre_ReportPayHDTJobEntity> GetPayHDTJob(DateTime DateFrom, DateTime DateTo, string lstOrgOrderNumber, string userLogin) { string status = string.Empty; List<Hre_ReportPayHDTJobEntity> lstReportHDTJobEntity = new List<Hre_ReportPayHDTJobEntity>(); using (var context = new VnrHrmDataContext()) { var unitOfWork = (IUnitOfWork)(new UnitOfWork(context)); var basevices = new BaseService(); var hdtJobServices = new Hre_HDTJobServices(); List<object> listObjHDTJob = new List<object>(); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(lstOrgOrderNumber); listObjHDTJob.Add(DateFrom); listObjHDTJob.Add(DateTo); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(null); listObjHDTJob.Add(1); listObjHDTJob.Add(Int32.MaxValue - 1); var lstHDTJob = hdtJobServices.GetData<Hre_HDTJobEntity>(listObjHDTJob, ConstantSql.hrm_hr_sp_get_HDTJob, userLogin, ref status).ToList(); if (lstHDTJob.Count == 0) { return lstReportHDTJobEntity; } var lstprofile = lstHDTJob.Select(s => s.ProfileID).Distinct().ToList(); var repoHDTJobType = new Cat_HDTJobTypeRepository(unitOfWork); var lstHDTJobType = repoHDTJobType.GetAll().ToList(); List<object> lstParam = new List<object>(); lstParam.Add(null); lstParam.Add(DateFrom); lstParam.Add(DateTo); var workDays = GetData<Att_WorkdayEntity>(lstParam, ConstantSql.hrm_att_getdata_Workday, userLogin, ref status).ToList(); if (workDays.Count == 0) { return lstReportHDTJobEntity; } foreach (var Profileid in lstprofile) { Hre_ReportPayHDTJobEntity entity = new Hre_ReportPayHDTJobEntity(); var Profile = lstHDTJob.Where(s => s.ProfileID == Profileid).FirstOrDefault(); if (Profile != null) { entity.ProfileName = Profile.ProfileName; entity.CodeEmp = Profile.CodeEmp; entity.E_UNIT = Profile.E_UNIT; entity.E_DIVISION = Profile.E_DIVISION; entity.E_DEPARTMENT = Profile.E_DEPARTMENT; entity.E_TEAM = Profile.E_TEAM; entity.E_SECTION = Profile.E_SECTION; var hdtbyprofile = lstHDTJob.Where(s => s.ProfileID == Profile.ID).FirstOrDefault(); entity.OrgStructureName = hdtbyprofile != null ? hdtbyprofile.Dept : string.Empty; int counttype4 = 0; int counttype5 = 0; var lstWorkdayByProfile = workDays.Where(s => s.ProfileID == Profileid).ToList(); for (DateTime date = DateFrom; date <= DateTo; date = date.AddDays(1)) { var workdaybyprofile = lstWorkdayByProfile.Where(s => s.FirstInTime != null && s.LastOutTime != null && s.WorkDate != null && s.WorkDate.Date == date.Date).FirstOrDefault(); var countype4 = lstHDTJob.Where(s => s.ProfileID == Profileid && s.Type == "E_TYPE4" && s.DateFrom <= date && s.DateTo >= date).ToList(); if (countype4 != null && countype4.Count > 0 && workdaybyprofile != null) { counttype4++; } var countype5 = lstHDTJob.Where(s => s.ProfileID == Profileid && s.Type == "E_TYPE5" && s.DateFrom <= date && s.DateTo >= date).ToList(); if (countype5 != null && countype5.Count > 0 && workdaybyprofile != null) { counttype5++; } } entity.CountType4 = counttype4; entity.CountType5 = counttype5; lstReportHDTJobEntity.Add(entity); } } } return lstReportHDTJobEntity; }