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