public void TestMethod2() { int days = new CalculateDays().TotalDays("26-11-2020", "30-11-2020"); int expectedvalue = 4; Assert.AreEqual(expectedvalue, days); }
///<summary> ///</summary> public void GetHourDesType(OutApplicationItem item, int accountid, out decimal putong, out decimal shuangxiu, out decimal jieri) { jieri = 0m; putong = 0m; shuangxiu = 0m; DateTime from = item.FromDate; DateTime to = item.ToDate; _CalculateDays = new CalculateDays(BllInstance.SpecialDateBllInstance.GetAllSpecialDate(null)); _PlanDutyDetailList = _PlanDutyDal.GetPlanDutyDetailByAccount(accountid, from, to); CalculateOutCityHour calculateOutCityHour = new CalculateOutCityHour(from, to, accountid); calculateOutCityHour.Excute(); foreach (DayAttendance attendance in calculateOutCityHour.DayAttendanceList) { PlanDutyDetail planDutyDetail = PlanDutyDetail.GetPlanDutyDetailByDate(_PlanDutyDetailList, attendance.Date); if (_CalculateDays.IsNationalHoliday(attendance.Date)) { jieri += attendance.Hours; } else if (planDutyDetail.PlanDutyClass.IsWeek) { shuangxiu += attendance.Hours; } else { putong += attendance.Hours; } } }
/// <summary> /// ²âÊÔ /// </summary> public decimal TestCalculate(CalculateDays calculateDays, List <PlanDutyDetail> planDutyDetailList) { _PlanDutyDetailList = planDutyDetailList; _CalculateDays = calculateDays; return(Calculate(_From, _To)); }
public void TestMethod2() { int days = new CalculateDays().GetTotalDays("15-02-2021", "20-02-2021"); int expectedvalue = 5; Assert.AreEqual(expectedvalue, days); }
/// <summary> /// 测试 /// </summary> public decimal TestCalculate(decimal leastHour, bool includeRestDay, bool includeLegalHoliday, decimal oneDayMaxHour, List <PlanDutyDetail> planDutyDetaillist, CalculateDays calculateDays) { _LeastHour = leastHour; _IncludeLegalHoliday = includeLegalHoliday; _IncludeRestDay = includeRestDay; _OneDayMaxHour = oneDayMaxHour; _PlanDutyDetailList = planDutyDetaillist; _CalculateDays = calculateDays; return(Calculate(_From, _To)); }
private void Init() { LeaveRequestType leaveRequestType = _LeaveRequestTypeDal.GetLeaveRequestTypeByPkid(_LeaveRequestTypeID); //_LeaveRequests=_leaveRequestDal.GetLeaveRequestByCondition(_AccountID, _From.Date, _To.Date.AddHours(24), RequestStatus.All); _LeaveRequestTypeName = leaveRequestType.Name; _LeastHour = leaveRequestType.LeastHour; _IncludeLegalHoliday = leaveRequestType.IncludeLegalHoliday == LegalHoliday.Include; _IncludeRestDay = leaveRequestType.IncludeRestDay == RestDay.Include; _PlanDutyDetailList = _PlanDutyDal.GetPlanDutyDetailByAccount(_AccountID, _From, _To); _CalculateDays = new CalculateDays(_SpecialDateBll.GetAllSpecialDate(null)); }
/// <summary> /// 离职天数 未入职天数 /// </summary> /// <param name="accountID"></param> /// <param name="startDt"></param> /// <param name="endDt"></param> public void CalcNotOnDutyDays(int accountID, DateTime startDt, DateTime endDt) { decimal _weiRuZhiDay = 0; decimal _liZhiDay = 0; Employee employee = _GetEmployee.GetEmployeeBasicInfoByAccountID(accountID); if (employee != null && employee.EmployeeDetails != null && employee.EmployeeDetails.Work != null) { var planduty = _PlanDutyDal.GetPlanDutyDetailByAccount(accountID, startDt, endDt); List <SpecialDate> specialDateList = _ISpecialDateBll.GetSpecialDateByFromAndToDate(startDt, endDt); CalculateDays calculateDays = new CalculateDays(specialDateList); DateTime comeDate = employee.EmployeeDetails.Work.ComeDate.AddDays(-1); if (comeDate < startDt) { _weiRuZhiDay = 0; } else { calculateDays.StartDate = startDt; calculateDays.EndDate = comeDate <= endDt ? comeDate : endDt; _weiRuZhiDay = calculateDays.CountDaySpecial(); } if (employee.EmployeeDetails.Work.DimissionInfo != null) { DateTime dimissionDate = employee.EmployeeDetails.Work.DimissionInfo.DimissionDate.AddDays(1); if (dimissionDate > endDt) { _liZhiDay = 0; } else { var startDate = dimissionDate >= startDt ? dimissionDate : startDt; var endDate = endDt; for (DateTime dt = startDate.Date; dt <= endDate.Date;) { var pd = planduty.Where(x => x.Date.Date == dt.Date).FirstOrDefault(); if (!pd.PlanDutyClass.IsWeek) { _liZhiDay++; } dt = dt.AddDays(1); } } } } _BindItemValueCollection.SetBindItemValue(BindItemEnum.NotEntryDays, _weiRuZhiDay); _BindItemValueCollection.SetBindItemValue(BindItemEnum.DimissionDays, _liZhiDay); }
/// <summary> /// 初始化调休,将出差信息变成一条条调休记录 /// </summary> /// <returns></returns> private List <AdjustRest> InitAdjustRestList() { List <AdjustRest> adjustRestList = new List <AdjustRest>(); DateTime from = _OutApplicationItem.FromDate; DateTime to = _OutApplicationItem.ToDate; CalculateDays _CalculateDays = new CalculateDays(BllInstance.SpecialDateBllInstance.GetAllSpecialDate(null)); List <PlanDutyDetail> _PlanDutyDetailList = new PlanDutyDal().GetPlanDutyDetailByAccount(_AccountID, from, to); CalculateOutCityHour calculateOutCityHour = new CalculateOutCityHour(from, to, _AccountID); calculateOutCityHour.Excute(); foreach (DayAttendance attendance in calculateOutCityHour.DayAttendanceList) { PlanDutyDetail planDutyDetail = PlanDutyDetail.GetPlanDutyDetailByDate(_PlanDutyDetailList, attendance.Date); AdjustRest ar = new AdjustRest(); ar.AdjustYear = attendance.Date; if (_CalculateDays.IsNationalHoliday(attendance.Date)) { //节日 ar.SurplusHours = attendance.Hours * _AdjustRule.OutCityJieRiRate; } else if (planDutyDetail.PlanDutyClass.IsWeek) { //双休 ar.SurplusHours = attendance.Hours * _AdjustRule.OutCityShuangXiuRate; } else { //普通 ar.SurplusHours = 0; //attendance.Hours*_AdjustRule.OutCityPuTongRate; } adjustRestList.Add(ar); } return(adjustRestList); }
private void Init() { _CalculateDays = new CalculateDays(BllInstance.SpecialDateBllInstance.GetAllSpecialDate(null)); _PlanDutyDetailList = _PlanDutyDal.GetPlanDutyDetailByAccount(_AccountID, _From, _To); }
//Issue movie to selected customer private void btnIssueMovie_Click(object sender, EventArgs e) { try { string CustId, MovieId, IssueDate, ReturnDate; int totalDays = 0; int temp = 0; int TotalRent = 0; CustId = DropDownSelectCustomer.SelectedValue.ToString(); MovieId = DropDownMovie.SelectedValue.ToString(); IssueDate = dtIsuue.Value.ToShortDateString(); ReturnDate = dtReturn.Value.ToShortDateString(); if (CustId == "" || CustId == "0" || CustId == null) { MessageBox.Show("Please select customer"); } else if (MovieId.Equals("") || MovieId == "0" || MovieId == null) { MessageBox.Show("Please select movie"); } else if (DateTime.Parse(IssueDate) > DateTime.Parse(ReturnDate)) { MessageBox.Show("Issue date can not be greater than retun date", "Alert"); } else if (IssueDate == ReturnDate) { totalDays = 1; temp = new Movies().CalculateMovieCost(int.Parse(MovieId)); // Getting rent amount for that movie TotalRent = totalDays * temp; // Calculate the Total Rent of issue movie } else { totalDays = new CalculateDays().GetTotalDays(IssueDate, ReturnDate); temp = new Movies().CalculateMovieCost(int.Parse(MovieId)); // Getting rent amount for that movie TotalRent = totalDays * temp; // Calculate the Total Rent of issue movie } RentedMoviesDataTbl rmdata = new RentedMoviesDataTbl(); rmdata.MovieId = int.Parse(MovieId); rmdata.CustId = int.Parse(CustId); rmdata.RentDate = IssueDate; rmdata.ReturnDate = ReturnDate; rmdata.TotalRentAmount = TotalRent; if (new RentedMOvies().InsertRentedMovie(rmdata)) { TabControlSystem.SelectedTab = TabControlSystem.TabPages["RentedMovies"]; RentedMovieGridData(); MessageBox.Show("Movie rented successfully!"); } else { MessageBox.Show("Failed to rent this movie!"); } } catch (Exception ex) { MessageBox.Show(ex.Message); } }
public static List <CalendarADay> Turn(List <LeaveRequest> originalDataList, List <PlanDutyDetail> planDutyDetailList, List <SpecialDate> specialList, List <CalendarADay> retList) { CalculateDays _CalculateDays = new CalculateDays(specialList); foreach (LeaveRequest originalData in originalDataList) { foreach (LeaveRequestItem originalDataItem in originalData.LeaveRequestItems) { DateTime from = originalDataItem.FromDate; DateTime to = originalDataItem.ToDate; decimal costHour = 0m; if (from >= to) { CreateLeaveRequestInfoInADay(retList, from, 0, originalData, originalDataItem, from, to); } int days = (to.Date - from.Date).Days; DateTime date = from; for (int i = 0; i <= days; i++) { PlanDutyDetail detail = PlanDutyDetail.GetPlanDutyDetailByDate(planDutyDetailList, date); if (detail != null && detail.PlanDutyClass != null) { DateTime dtMorningStart, dtAfternoonEnd; InitDateTime(from, to, detail, out dtMorningStart, out dtAfternoonEnd); DateTime fromtemp = new DateTime(date.Year, date.Month, date.Day, dtMorningStart.Hour, dtMorningStart.Minute, dtMorningStart.Second); DateTime totemp = new DateTime(date.Year, date.Month, date.Day, dtAfternoonEnd.Hour, dtAfternoonEnd.Minute, dtAfternoonEnd.Second); if (i == 0) { fromtemp = from; } if (i == days) { totemp = to; } decimal hour; //排除双休日,节假日 if (originalData.LeaveRequestType.IncludeLegalHoliday == LegalHoliday.Include && _CalculateDays.IsNationalHoliday(date)) { if (detail.PlanDutyClass.IsWeek) { hour = Utility._OneDayMaxHour; costHour += hour; } else { hour = Utility.CalculateOneDay(fromtemp, totemp, originalData.LeaveRequestType.LeastHour, detail); costHour += hour; } CreateLeaveRequestInfoInADay(retList, date, hour, originalData, originalDataItem, fromtemp, totemp); } else if (originalData.LeaveRequestType.IncludeLegalHoliday == LegalHoliday.Include && detail.PlanDutyClass.IsWeek && !_CalculateDays.IsNationalHoliday(date)) { hour = Utility._OneDayMaxHour; costHour += hour; CreateLeaveRequestInfoInADay(retList, date, hour, originalData, originalDataItem, fromtemp, totemp); } else if (!detail.PlanDutyClass.IsWeek) { hour = Utility.CalculateOneDay(fromtemp, totemp, originalData.LeaveRequestType.LeastHour, detail); costHour += hour; CreateLeaveRequestInfoInADay(retList, date, hour, originalData, originalDataItem, fromtemp, totemp); } } date = date.AddDays(1); } } } return(retList); }