public ActionResult Create4(VMOvertimeApproval vmOvertimeApproval, int?[] SelectedEmpIds) { VMLoggedUser LoggedInUser = Session["LoggedInUser"] as VMLoggedUser; List <VMOvertimeApprovalChild> vmOvertimeApprovalChildEntries = new List <VMOvertimeApprovalChild>(); foreach (var empID in SelectedEmpIds) { VMOvertimeApprovalChild vmOvertimeApprovalChild = new VMOvertimeApprovalChild(); string EncashableSingleOT = Request.Form["ENCS-" + empID.Value.ToString()].ToString(); string EncashableDoubleOT = Request.Form["ENCD-" + empID.Value.ToString()].ToString(); //string AbsentDays = Request.Form["ABDays-" + empID.Value.ToString()].ToString(); //string CPLHours = Request.Form["CPLH-" + empID.Value.ToString()].ToString(); string CPLHours = "0"; vmOvertimeApprovalChild.EmpID = (int)empID; vmOvertimeApprovalChild.EncashableSingleOT = Convert.ToInt32(EncashableSingleOT); vmOvertimeApprovalChild.EncashableDoubleOT = Convert.ToInt32(EncashableDoubleOT); vmOvertimeApprovalChild.CPLConvertedOT = Convert.ToInt32(CPLHours); //vmOvertimeApprovalChild.Absents = Convert.ToInt32(AbsentDays); vmOvertimeApprovalChildEntries.Add(vmOvertimeApprovalChild); } vmOvertimeApproval.OvertimeApprovalChild = vmOvertimeApprovalChildEntries.ToList(); VMOvertimeApproval vm = OvertimeAprrovalService.GetCreate4(vmOvertimeApproval, LoggedInUser); //if (vm.ErrorMessages.Count == 0) return(RedirectToAction("Index")); //else // return View("Create3", vm); }
public List <VMOvertimeApprovalChild> GetIndex(VMLoggedUser user, int PayrollPeriodID) { List <VHR_EmployeeProfile> dbEmployees = GetSpecificEmployeeService.GetSpecificEmployees(user); List <MonthData> monthDatas = new List <MonthData>(); if (user.UserRoleID == "U") // HR Normal { Expression <Func <MonthData, bool> > SpecificEntries = c => c.PayrollPeriodID == PayrollPeriodID && c.MonthDataStageID == "P" && (c.EncashbaleSingleOT > 0 || c.EncashbaleDoubleOT > 0 || c.CPLConversionOT > 0); monthDatas = MonthDataReporsitory.FindBy(SpecificEntries); } else if (user.UserRoleID == "H") // HR Admin { Expression <Func <MonthData, bool> > SpecificEntries = c => c.PayrollPeriodID == PayrollPeriodID && c.MonthDataStageID == "A" && (c.EncashbaleSingleOT > 0 || c.EncashbaleDoubleOT > 0 || c.CPLConversionOT > 0); monthDatas = MonthDataReporsitory.FindBy(SpecificEntries); } else if (user.UserRoleID == "A") // Admin { Expression <Func <MonthData, bool> > SpecificEntries = c => c.PayrollPeriodID == PayrollPeriodID && c.MonthDataStageID == "P" && (c.EncashbaleSingleOT > 0 || c.EncashbaleDoubleOT > 0 || c.CPLConversionOT > 0); monthDatas = MonthDataReporsitory.FindBy(SpecificEntries); } List <VMOvertimeApprovalChild> VMOvertimeApprovalChildList = new List <VMOvertimeApprovalChild>(); PayrollPeriod payrollPeriod = DDService.GetAllPayrollPeriod().Where(aa => aa.PPayrollPeriodID == PayrollPeriodID).First(); foreach (var dbEmployee in dbEmployees) { VMOvertimeApprovalChild vmOvertimeApprovalChild = new VMOvertimeApprovalChild(); if (monthDatas.Where(aa => aa.EmployeeID == dbEmployee.PEmployeeID).Count() > 0) { vmOvertimeApprovalChild = GetConveretedOTList(vmOvertimeApprovalChild, dbEmployee, monthDatas.First(aa => aa.EmployeeID == dbEmployee.PEmployeeID), payrollPeriod); VMOvertimeApprovalChildList.Add(vmOvertimeApprovalChild); } } return(VMOvertimeApprovalChildList); }
public VMOvertimeApproval GetCreate3(VMOvertimeApprovalSelection es, int?[] SelectedEmployeeIds, VMOvertimeApproval vmOvertimeApproval) { List <MonthData> monthDatas = new List <MonthData>(); List <OTPolicy> dbOTPolicies = DDService.GetOTPolicy(); List <VMOvertimeApprovalChild> vmOvertimeApprovalChildList = new List <VMOvertimeApprovalChild>(); List <VHR_EmployeeProfile> employees = DDService.GetEmployeeInfo(); PayrollPeriod payrollPeriod = DDService.GetPayrollPeriod().First(aa => aa.PPayrollPeriodID == es.PayrollPeriodID); // Get selected Payroll Period Expression <Func <MonthData, bool> > SpecificEntries = c => c.PayrollPeriodID == payrollPeriod.PPayrollPeriodID && (c.EncashbaleSingleOT > 0 || c.EncashbaleDoubleOT > 0 || c.CPLConversionOT > 0); monthDatas = MonthDataReporsitory.FindBy(SpecificEntries); foreach (int empid in SelectedEmployeeIds) { if (monthDatas.Where(aa => aa.EmployeeID == empid).Count() > 0) { MonthData monthData = new MonthData(); monthData = monthDatas.First(aa => aa.EmployeeID == empid); VMOvertimeApprovalChild vmOvertimeApprovalChild = new VMOvertimeApprovalChild(); VHR_EmployeeProfile employee = employees.First(aa => aa.PEmployeeID == empid);// Get Specific Employee vmOvertimeApprovalChild = GetConveretedOTList(vmOvertimeApprovalChild, employee, monthData, payrollPeriod); vmOvertimeApprovalChildList.Add(vmOvertimeApprovalChild); } } vmOvertimeApproval.PayrollPeriodID = payrollPeriod.PPayrollPeriodID; vmOvertimeApproval.PayrollPeriodName = payrollPeriod.PRName; vmOvertimeApproval.OvertimeApprovalChild = vmOvertimeApprovalChildList; return(vmOvertimeApproval); }
public VMOvertimeApprovalChild GetConveretedOTList(VMOvertimeApprovalChild vmOvertimeApprovalChild, VHR_EmployeeProfile employee, MonthData monthData, PayrollPeriod payrollPeriod) { vmOvertimeApprovalChild.EmpID = employee.PEmployeeID; vmOvertimeApprovalChild.EmpNo = employee.OEmpID; vmOvertimeApprovalChild.EmployeeName = employee.EmployeeName; vmOvertimeApprovalChild.OvertimePolicyID = employee.OTPolicyID; vmOvertimeApprovalChild.OvertimePolicyName = employee.OTPolicyName; vmOvertimeApprovalChild.EncashableSingleOT = ATAssistant.GetTimeHours(monthData.EncashbaleSingleOT); vmOvertimeApprovalChild.EncashableDoubleOT = ATAssistant.GetTimeHours(monthData.EncashbaleDoubleOT); vmOvertimeApprovalChild.CPLConvertedOT = ATAssistant.GetTimeHours(monthData.CPLConversionOT); vmOvertimeApprovalChild.NormalOT = ATAssistant.GetTimeHours(monthData.TNOT); vmOvertimeApprovalChild.RestOT = ATAssistant.GetTimeHours(monthData.TROT); vmOvertimeApprovalChild.GZOT = ATAssistant.GetTimeHours(monthData.TGZOT); vmOvertimeApprovalChild.CPLConvertedOTDays = monthData.CPLConvertedDays; vmOvertimeApprovalChild.PayrollPeriodID = payrollPeriod.PPayrollPeriodID; vmOvertimeApprovalChild.PayrollPeriodName = payrollPeriod.PRName; vmOvertimeApprovalChild.StatusID = monthData.MonthDataStageID; return(vmOvertimeApprovalChild); }