public ActionResult GetPayrollDetailsByDate(string id, string franchisid, DateTime payrollDate) { int payrollid = Convert.ToInt32(id); int payrollSearchid = payrollid; vRpt_Payroll objpayroll = null; if (payrollid == -1) // Get it by date instead { objpayroll = (from payroll in rptDB.vRpt_Payroll where payroll.PayrollDate == payrollDate select payroll).FirstOrDefault(); } else { objpayroll = (from payroll in rptDB.vRpt_Payroll where payroll.PayrollID == payrollSearchid select payroll).FirstOrDefault(); } if (objpayroll != null) { payrollid = objpayroll.PayrollID; } List <vRpt_PayrollDetail> objPayrollDetails = (from payrolldetails in rptDB.vRpt_PayrollDetail where payrolldetails.PayrollID == payrollid orderby payrolldetails.EmployeeID select payrolldetails).ToList(); List <Payroll_Details> objPayroll_Details = new List <Payroll_Details>(); foreach (var item in objPayrollDetails) { tbl_Employee objEmployees = (from emp in db.tbl_Employee where emp.EmployeeID == item.EmployeeID select emp).SingleOrDefault(); Payroll_Details oPayroll_Details = new Payroll_Details(); oPayroll_Details.PayType = ""; oPayroll_Details.Employee = objEmployees.Employee; oPayroll_Details.JobCount = item.JobCount.Value; oPayroll_Details.WeeklySalary = item.WeeklySalary; oPayroll_Details.RegularHours = item.RegularHours; oPayroll_Details.RegularPay = item.RegularPay; oPayroll_Details.OTHours = item.OTHours; oPayroll_Details.OTPay = item.OTPay; oPayroll_Details.TotalCommission = (float)item.TotalCommission; oPayroll_Details.OTAdditCommission = (float)item.OTAdditCommission; oPayroll_Details.Adjustment = item.Adjustment; oPayroll_Details.GrossPay = (float)item.GrossPay; oPayroll_Details.PayrollLockDateString = (item.LockDate.HasValue) ? item.LockDate.Value.ToShortDateString() : null; objPayroll_Details.Add(oPayroll_Details); } return(Json(objPayroll_Details)); }
public ActionResult PayrollProcessing() { try { DateTime selectedDate = DateTime.MinValue; if (Request.QueryString["dt"] != null) { selectedDate = DateTime.Parse(Request.QueryString["dt"]); } int payrollID = -1; if (Request.QueryString["Id"] != null) { payrollID = int.Parse(Request.QueryString["Id"]); } int frid = 0; var membership = new MembershipService(Membership.Provider); var user = membership.GetUser(User.Identity.Name); var userId = user == null ? Guid.Empty : (Guid)(user.ProviderUserKey ?? Guid.Empty); var isCorporate = User.IsInRole("Corporate"); int[] assignedFranchises; if (isCorporate == true) { frid = 56; } else { using (var ctx = new MembershipConnection()) { assignedFranchises = ctx.UserFranchise .Where(uf => uf.UserId == userId) .Select(f => f.FranchiseID) .ToArray(); } if (assignedFranchises.Count() > 0) { frid = assignedFranchises[0]; } } // Payroll Dates ALWAYS fall on a Saturday. // Give them list of the past 5 Saturdays and if they need farther back send them to Payroll History List <SelectListItem> payrollDates = new List <SelectListItem>(); DateTime dateToAdd = DateTime.Now.Date; while (dateToAdd.DayOfWeek != DayOfWeek.Saturday) // Get the next saturday (including today) { dateToAdd = dateToAdd.AddDays(1.0); } for (int i = 0; i < 5; i++) // Add 5 Saturdays to the dropdownlist { payrollDates.Add(new SelectListItem() { Text = dateToAdd.ToShortDateString(), Value = dateToAdd.ToShortDateString() }); dateToAdd = dateToAdd.AddDays(-7.0); } if (selectedDate != DateTime.MinValue) { SelectListItem itemSelectedDate = (from SelectListItem item in payrollDates where DateTime.Parse(item.Value) == selectedDate select item).FirstOrDefault(); if (itemSelectedDate == null) { do { SelectListItem itemToAdd = new SelectListItem() { Text = dateToAdd.ToShortDateString(), Value = dateToAdd.ToShortDateString() }; if (dateToAdd == selectedDate) { itemToAdd.Selected = true; selectedDate = DateTime.MinValue; } payrollDates.Add(itemToAdd); dateToAdd = dateToAdd.AddDays(-7.0); } while (selectedDate != DateTime.MinValue); } else { itemSelectedDate.Selected = true; } } // Finally add the "Other" option payrollDates.Add(new SelectListItem() { Text = "Other", Value = "OTHER_DATE" }); ViewData["DropDownList_PayrollDates"] = payrollDates; vRpt_Payroll objpayroll = (from payroll in rptDB.vRpt_Payroll where payroll.FranchiseID == frid && payroll.PayrollID == payrollID select payroll).FirstOrDefault(); if (objpayroll != null) { DateTime dt = Convert.ToDateTime(objpayroll.PayrollDate); ViewBag.Date = dt.ToShortDateString(); ViewBag.PayrollID = objpayroll.PayrollID.ToString(); selectedDate = dt; if (selectedDate != DateTime.MinValue) { SelectListItem itemSelectedDate = (from SelectListItem item in payrollDates where DateTime.Parse(item.Value) == selectedDate select item).FirstOrDefault(); if (itemSelectedDate == null) { do { SelectListItem itemToAdd = new SelectListItem() { Text = dateToAdd.ToShortDateString(), Value = dateToAdd.ToShortDateString() }; if (dateToAdd == selectedDate) { itemToAdd.Selected = true; selectedDate = DateTime.MinValue; } payrollDates.Add(itemToAdd); dateToAdd = dateToAdd.AddDays(-7.0); } while (selectedDate != DateTime.MinValue); } else { itemSelectedDate.Selected = true; } } } else { ViewBag.PayrollID = "0"; ViewBag.Date = System.DateTime.Now.ToShortDateString(); } } catch (Exception ex) { throw ex; } return(View()); }