Esempio n. 1
0
        public ModelSOTEmpList GetEmpPending(ViewUserEmp LoggedInUser, int?PayrollPeriodID, int DeptID)
        {
            // Varibale Initilization
            ModelSOTEmpList         vm              = new ModelSOTEmpList();
            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?>();
            PR_PayrollPeriod        prp             = new PR_PayrollPeriod();
            int SelectedPeriodID           = 0;
            List <ViewDailyOTEntry> otList = new List <ViewDailyOTEntry>();

            deptIds.Add((short)DeptID);
            divIds    = OTHelperManager.GetDivisionIDs(deptIds, db.HR_Section.ToList());
            totalEmps = db.EmpViews.Where(aa => aa.Status == "Active").ToList();

            // Get Payroll Period
            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(activePeriods, (int)PayrollPeriodID);

            empIds = db.ViewDailyOTEntries.Where(aa => aa.OTDate >= prp.PStartDate && aa.OTDate <= prp.PEndDate && aa.SecID == DeptID && ((aa.SupervisorID == LoggedInUser.EmployeeID && aa.StatusID == "P") || (aa.StatusID == "F" && aa.ForwardToID == LoggedInUser.EmployeeID))).Select(aa => aa.EmployeeID).Distinct().ToList();
            emps   = OTHelperManager.GetEmployeeConvertedFromIds(empIds, totalEmps);

            otList    = db.ViewDailyOTEntries.Where(aa => aa.OTDate >= prp.PStartDate && aa.OTDate <= prp.PEndDate && aa.SecID == DeptID && ((aa.SupervisorID == LoggedInUser.EmployeeID && aa.StatusID == "P") || (aa.StatusID == "F" && aa.ForwardToID == LoggedInUser.EmployeeID))).ToList();
            vm.DeptID = (int)DeptID;
            if (prp.FinYearID != null)
            {
                vm.DivRemainingBudget = OTHelperManager.GetDivRemainingBudget(divIds, db.BG_OTDivision.ToList(), (int)prp.FinYearID);
            }
            vm.List = OTHelperRecommended.GetConvertedOTListEmp(otList, emps);
            //if (DateTime.Today > prp.SupervisorCutOffDate)
            //    vm.IsLate = true;
            //else
            vm.IsLate = false;
            if (vm.List.Count() > 1)
            {
                vm.TotalOTAmount = vm.List.Sum(aa => aa.OTAmount);
                vm.SystemOT      = OTHelperManager.ConverMinIntoHours(vm.List.Sum(aa => aa.SystemOTMins));
                vm.ClaimedOT     = OTHelperManager.ConverMinIntoHours(vm.List.Sum(aa => aa.ClaimedOTMins));
                vm.TotalEmps     = vm.List.Count().ToString();
            }
            vm.Count                = vm.List.Count;
            ViewBag.DecisionID      = new SelectList(OTHelperManager.GetOTStatusForApprover(db.Att_OTStatus.ToList()), "PSID", "StatusName", "F");
            ViewBag.RecommendID     = new SelectList(OTHelperManager.GetUsersForRecommender(db.ViewUserEmps.Where(aa => aa.EmpStatus == "Active").ToList()), "UserID", "FullName");
            ViewBag.PayrollPeriodID = new SelectList(activePeriods, "PID", "PName", PayrollPeriodID);
            return(vm);
        }
Esempio n. 2
0
        public ModelSOTPEmpDetail GetDetailPending(int prid, int EmpID, ViewUserEmp LoggedInUser)
        {
            ModelSOTPEmpDetail vm  = new ModelSOTPEmpDetail();
            PR_PayrollPeriod   prp = OTHelperManager.GetPayrollPeriod(db.PR_PayrollPeriod.ToList(), prid);
            HR_Employee        emp = db.HR_Employee.First(aa => aa.EmployeeID == EmpID);

            //if (DateTime.Today > prp.SupervisorCutOffDate)
            //    vm.IsLate = true;
            //else
            vm.IsLate  = false;
            vm.EmpID   = (int)EmpID;
            vm.EmpName = emp.FullName;
            vm.DeptID  = (int)emp.SectionID;
            vm.List    = OTHelperRecommended.GetConvertedDailyOTList(db.ViewDailyOTEntries.Where(aa => aa.EmployeeID == vm.EmpID && aa.OTDate >= prp.PStartDate && aa.OTDate <= prp.PEndDate).ToList());
            if (vm.List.Count > 0)
            {
                vm.SystemOT    = OTHelperManager.ConverMinIntoHours(vm.List.Sum(aa => aa.SystemOTMins));
                vm.ClaimedOT   = OTHelperManager.ConverMinIntoHours(vm.List.Sum(aa => aa.ClaimedOTMins));
                vm.TotalDays   = vm.List.Count();
                vm.TotalAmount = vm.List.Sum(aa => aa.OTAmount);
            }
            vm.DivRemainingBudget = OTHelperManager.GetDivRemainingBudget(OTHelperManager.GetDivisionIDs(OTHelperManager.ConvertDeptIDList(emp.SectionID), db.HR_Section.ToList()), db.BG_OTDivision.ToList(), (int)prp.FinYearID);
            vm.PeriodName         = prp.PName;
            vm.PeriodID           = prp.PID;
            vm.OTPolicy           = "OT Days Forward Policy: Maximum Days in Week = " + emp.Att_OTPolicy.DaysInWeek.ToString() + " , Maximum Days in Month = " + emp.Att_OTPolicy.DaysInMonth.ToString();
            vm.OTPolicyDays       = "OT Claimed Hours Policy: Normal Day= " + OTHelperManager.ConverMinIntoHours((int)emp.Att_OTPolicy.PerDayOTStartLimitHour) + " to " + OTHelperManager.ConverMinIntoHours((int)emp.Att_OTPolicy.PerDayOTEndLimitHour) + ", Rest & GZ Day= " + OTHelperManager.ConverMinIntoHours((int)emp.Att_OTPolicy.PerDayGOTStartLimitHour) + " to " + OTHelperManager.ConverMinIntoHours((int)emp.Att_OTPolicy.PerDayGOTEndLimitHour);
            vm.Count = vm.List.Count;

            ViewBag.DecisionID  = new SelectList(OTHelperManager.GetOTStatusForApprover(db.Att_OTStatus.ToList()), "PSID", "StatusName", "F");
            ViewBag.RecommendID = new SelectList(OTHelperManager.GetUsersForRecommender(db.ViewUserEmps.Where(aa => aa.EmpStatus == "Active").ToList()), "UserID", "FullName");
            return(vm);
        }
        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));
            }
        }
Esempio n. 4
0
        public ModelSOTEmpList GetEmpPendingHR(ViewUserEmp LoggedInUser, int PayrollPeriodID, int DeptID)
        {
            ModelSOTEmpList vm         = new ModelSOTEmpList();
            int             CurrentPID = Convert.ToInt32(Session["PRID"].ToString());

            if (PayrollPeriodID == null)
            {
                PayrollPeriodID = CurrentPID;
            }
            else
            {
                Session["PRID"] = PayrollPeriodID.ToString();
            }
            List <EmpView>   emps = db.EmpViews.Where(aa => aa.Status == "Active" && aa.SecID == DeptID).ToList();
            PR_PayrollPeriod prp  = OTHelperManager.GetPayrollPeriod(db.PR_PayrollPeriod.ToList(), (int)PayrollPeriodID);

            vm.DeptID = (int)DeptID;
            emps      = emps.Where(aa => aa.SecID == DeptID).ToList();
            List <ViewDailyOTEntry> otList = new List <ViewDailyOTEntry>();

            vm.DivRemainingBudget = OTHelperManager.GetDivRemainingBudget(OTHelperManager.ConvertDeptIDList(DeptID), db.BG_OTDivision.ToList(), (int)prp.FinYearID);
            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
            {
                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");
                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);
            }
            vm.List = OTHelperRecommended.GetConvertedOTListEmpHR(otList, emps);
            if (vm.List.Count() > 0)
            {
                vm.TotalOTAmount = OTHelperManager.GetTotalOTAmount(vm.List);
            }
            vm.Count           = vm.List.Count;
            vm.PayrollPeriodID = (int)PayrollPeriodID;
            if (vm.List.Count() > 0)
            {
                vm.RecommendID     = (int)LoggedInUser.ReportingToID;
                vm.RecommenderName = db.EmpViews.First(aa => aa.EmployeeID == LoggedInUser.ReportingToID).FullName;
            }
            ViewBag.PayrollPeriodID = new SelectList(db.PR_PayrollPeriod.ToList(), "PID", "PName", PayrollPeriodID);
            return(vm);
        }
Esempio n. 5
0
        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));
        }
Esempio n. 6
0
        public ModelSOTPEmpDetail GetDetailPendingHR(int prid, int EmpID, ViewUserEmp LoggedInUser)
        {
            ModelSOTPEmpDetail vm  = new ModelSOTPEmpDetail();
            PR_PayrollPeriod   prp = OTHelperManager.GetPayrollPeriod(db.PR_PayrollPeriod.ToList(), prid);
            HR_Employee        emp = db.HR_Employee.First(aa => aa.EmployeeID == EmpID);

            if (DateTime.Today > prp.SupervisorCutOffDate)
            {
                vm.IsLate = true;
            }
            else
            {
                vm.IsLate = false;
            }
            vm.EmpID   = (int)EmpID;
            vm.EmpName = emp.FullName;
            int amount = 0;

            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
            {
                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");
            }
            vm.List = OTHelperRecommended.GetConvertedDailyOTListSimple(db.ViewDailyOTEntries.Where(aa => aa.EmpID == EmpID && aa.OTProcessingPeriodID == prp.PID).ToList());
            vm.DivRemainingBudget = OTHelperManager.GetDivRemainingBudget(OTHelperManager.ConvertDeptIDList(emp.SectionID), db.BG_OTDivision.ToList(), (int)prp.FinYearID);
            vm.PeriodName         = prp.PName;
            vm.PeriodID           = prp.PID;
            vm.OTPolicy           = "Policy Details: Maximum Days in Week = " + emp.Att_OTPolicy.DaysInWeek.ToString() + " , Maximum Days in Month = " + emp.Att_OTPolicy.DaysInMonth.ToString();
            vm.TotalAmount        = amount;
            vm.Count = vm.List.Count;
            return(vm);
        }