public static decimal GetCompanyPaidPercent(DateTime startDate, DateTime endDate) { ConditionsDatetime conditionsDatetime = new ConditionsDatetime(startDate); if (endDate < conditionsDatetime.ThreeMonthDate) { return(0); } if (endDate < conditionsDatetime.OneYearDate) { return(10); } if (endDate < conditionsDatetime.ThreeYearDate) { return(30); } if (endDate < conditionsDatetime.FiveYearDate) { return(50); } //if (endDate > conditionsDatetime.FiveYearDate) return(80); }
public static Dictionary <Int32, decimal> GetMonthAndYearPVDPaid(DateTime startDate, DateTime endDate) { ConditionsDatetime conditionsDatetime = new ConditionsDatetime(startDate); DateTime beginPaidDate = conditionsDatetime.ThreeMonthDate; Dictionary <Int32, decimal> monthAndYear = new Dictionary <int, decimal>(); decimal month = 0; int oldYear = beginPaidDate.Year; while (beginPaidDate < endDate) { beginPaidDate = beginPaidDate.AddMonths(1); ++month; if (beginPaidDate.Year != oldYear) { monthAndYear.Add(oldYear, month); oldYear = beginPaidDate.Year; month = 0; } } monthAndYear.Add(oldYear, month); return(monthAndYear); }
public static decimal GetProvidentFundNotOverRatePercent(DateTime startDate, DateTime endDate) { ConditionsDatetime conditionsDatetime = new ConditionsDatetime(startDate); if (endDate < conditionsDatetime.ThreeMonthDate) { return(0); } if (endDate < conditionsDatetime.OneYearDate) { return(3); } if (endDate < conditionsDatetime.ThreeYearDate) { return(5); } if (endDate < conditionsDatetime.FiveYearDate) { return(8); } //if (endDate > conditionsDatetime.FiveYearDate) return(12); }
private void SetDatasourceGridView() { DateTime startDate = dtpStartWorkDate.Value.Date; DateTime endDate = DateTime.Now.Date; //Dictionary<Int32, decimal> monthAndYear = ProvidentFundCalculator.GetMonthAndYearPVDPaid(startDate, endDate); decimal month = ProvidentFundCalculator.GetMonthPVDPaid(startDate, endDate); decimal monthCal = ProvidentFundCalculator.GetMonthPVDPaid(startDate, endDate); monthCal -= 3; decimal yearWork = ProvidentFundCalculator.GetWorkYear(startDate, endDate); if (yearWork == 0) { return; } List <EmployeeLogDetail> providentFunds = new List <EmployeeLogDetail>(); for (int row = 0; row <= yearWork; row++) { EmployeeLogDetail providentFund = new EmployeeLogDetail(); if (row == 0) { providentFund.Month = month - 11 >= 0 ? 11 : month; } else if (month - 12 >= 0) { providentFund.Month = 12; } else { providentFund.Month = month; } month -= providentFund.Month; providentFund.WorkYear = row == 0 ? "1-11 M" : row + "+"; providentFund.ProvidentFundCollect = 0; providentFund.Salary = Convert.ToDecimal(txtSalary.Text); DateTime newEndDate = endDate.AddMonths(-Convert.ToInt32(monthCal)); providentFund.CompanyPaidPercent = ProvidentFundCalculator.GetCompanyPaidPercent(startDate, newEndDate); monthCal -= providentFund.Month; ConditionsDatetime conditionsDatetime = new ConditionsDatetime(startDate); providentFunds.Add(providentFund); } gridViewDisplay.DataSource = providentFunds; SetComBoboxOnGird(startDate, endDate, providentFunds); }
public static decimal GetMonthPVDPaid(DateTime startDate, DateTime endDate) { ConditionsDatetime conditionsDatetime = new ConditionsDatetime(startDate); DateTime beginPaidDate = conditionsDatetime.ThreeMonthDate; decimal month = 0; while (beginPaidDate < endDate) { beginPaidDate = beginPaidDate.AddMonths(1); ++month; } return(month); }