public ActionResult HAOTDeptList(int?PayrollPeriodID) { ViewUserEmp LoggedInUser = Session["LoggedUser"] as ViewUserEmp; List <short?> deptIds = new List <short?>(); List <short?> divIds = new List <short?>(); List <int?> empIds = new List <int?>(); List <EmpView> totalEmps = new List <EmpView>(); List <EmpView> emps = new List <EmpView>(); List <PR_PayrollPeriod> activePeriods = new List <PR_PayrollPeriod>(); List <int?> activePeriodIds = new List <int?>(); int SelectedPeriodID = 0; List <ViewDailyOTEntry> otList = new List <ViewDailyOTEntry>(); PR_PayrollPeriod prp = new PR_PayrollPeriod(); ModelRDeptPending vm = new ModelRDeptPending(); totalEmps = db.EmpViews.Where(aa => aa.Status == "Active").ToList(); if (LoggedInUser.UserType != "H" && LoggedInUser.UserType != "A") { totalEmps = OTHelperManager.GetEmployees(totalEmps, LoggedInUser); } SelectedPeriodID = Convert.ToInt32(Session["PRID"].ToString()); if (PayrollPeriodID == null) { PayrollPeriodID = SelectedPeriodID; } else { Session["PRID"] = PayrollPeriodID.ToString(); } //activePeriodIds = db.ViewDailyOTEntries.Where(aa => ((aa.SupervisorID == LoggedInUser.EmployeeID && aa.StatusID == "P") || (aa.StatusID == "F" && aa.ForwardToID == LoggedInUser.EmployeeID))).Select(aa => aa.PeriodID).Distinct().ToList(); //activePeriods = OTHelperManager.GetActivePeriods(db.PR_PayrollPeriod.ToList(), activePeriodIds); prp = OTHelperManager.GetPayrollPeriod(db.PR_PayrollPeriod.ToList(), (int)PayrollPeriodID); empIds = db.ViewDailyOTEntries.Where(aa => aa.OTProcessingPeriodID == prp.PID && aa.StatusID == "A").Select(aa => aa.EmployeeID).Distinct().ToList(); emps = OTHelperManager.GetEmployeeConvertedFromIds(empIds, totalEmps); deptIds = OTHelperManager.GetDeptIDs(emps); divIds = OTHelperManager.GetDivisionIDs(deptIds, db.HR_Section.ToList()); if (deptIds.Count == 1) { return(RedirectToAction("HAOTEmpList", new { DeptID = deptIds.First(), PayrollPeriodID = prp.PID })); } else { otList = db.ViewDailyOTEntries.Where(aa => aa.OTProcessingPeriodID == prp.PID && aa.StatusID == "A").ToList(); vm.List = OTHelperRecommended.GetConvertedOTListDepts(otList, emps, deptIds); vm.Count = vm.List.Count; vm.PayrollPeriodID = (int)PayrollPeriodID; if (prp.FinYearID != null) { vm.DivRemainingBudget = OTHelperManager.GetDivRemainingBudget(divIds, db.BG_OTDivision.ToList(), (int)prp.FinYearID); } vm.TotalOTAmount = OTHelperManager.GetTotalOTAmount(vm.List); ViewBag.PayrollPeriodID = new SelectList(activePeriods, "PID", "PName", PayrollPeriodID); ViewBag.DecisionID = new SelectList(OTHelperManager.GetOTStatusForSupervisor(db.Att_OTStatus.ToList()), "PSID", "StatusName", "F"); //ViewBag.RecommendID = new SelectList(OTHelperManager.GetUsersForSupervisor(db.ViewUserEmps.Where(aa => aa.EmpStatus == "Active" && aa.UserType == "R" && aa.sec).ToList()), "UserID", "FullName"); vm.Message = new List <string>(); return(View(vm)); } }
public ActionResult HROTDeptList(int?PayrollPeriodID) { ViewUserEmp LoggedInUser = Session["LoggedUser"] as ViewUserEmp; List <short?> deptIds = new List <short?>(); List <short?> divIds = new List <short?>(); ModelRDeptPending vm = new ModelRDeptPending(); List <EmpView> emps = db.EmpViews.Where(aa => aa.Status == "Active").ToList(); int CurrentPID = Convert.ToInt32(Session["PRID"].ToString()); if (PayrollPeriodID == null) { PayrollPeriodID = CurrentPID; } else { Session["PRID"] = PayrollPeriodID.ToString(); } PR_PayrollPeriod prp = OTHelperManager.GetPayrollPeriod(db.PR_PayrollPeriod.ToList(), (int)PayrollPeriodID); List <ViewDailyOTEntry> otList = new List <ViewDailyOTEntry>(); otList = db.ViewDailyOTEntries.Where(aa => aa.OTProcessingPeriodID == PayrollPeriodID).ToList(); if (LoggedInUser.UserType == "H" || LoggedInUser.UserType == "A") { ViewBag.DecisionID = new SelectList(OTHelperManager.GetOTStatusForSupervisor(db.Att_OTStatus.ToList()), "PSID", "StatusName", "F"); ViewBag.RecommendID = new SelectList(OTHelperManager.GetUsersForSupervisor(db.ViewUserEmps.Where(aa => aa.EmpStatus == "Active").ToList()), "UserID", "FullName"); } else { List <int?> empIds = db.ViewDailyOTEntries.Where(aa => aa.OTProcessingPeriodID == PayrollPeriodID).Select(aa => aa.EmployeeID).Distinct().ToList(); emps = OTHelperManager.GetEmployees(emps, LoggedInUser); emps = OTHelperManager.GetEmployeeConvertedFromIds(empIds, emps); } deptIds = OTHelperManager.GetDeptIDs(emps); divIds = OTHelperManager.GetDivisionIDs(deptIds, db.HR_Section.ToList()); vm.List = OTHelperRecommended.GetConvertedOTListDeptsHR(otList, emps, deptIds); vm.Count = vm.List.Count; vm.PayrollPeriodID = (int)PayrollPeriodID; vm.DivRemainingBudget = OTHelperManager.GetDivRemainingBudget(deptIds, db.BG_OTDivision.ToList(), (int)prp.FinYearID); vm.TotalOTAmount = OTHelperManager.GetTotalOTAmount(vm.List); ViewBag.PayrollPeriodID = new SelectList(db.PR_PayrollPeriod.ToList(), "PID", "PName", PayrollPeriodID); vm.Message = new List <string>(); return(View(vm)); }