Exemplo n.º 1
0
        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;
        }
Exemplo n.º 2
0
        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);
            }
        }
Exemplo n.º 3
0
        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;
            }
        }
Exemplo n.º 4
0
        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;
        }