private void AccountDays() { double day = 0; if (dpStartDate.Text != "" && dpEndDate.Text != "") { day = Convert.ToDouble((Convert.ToDateTime(dpEndDate.Text) - Convert.ToDateTime(dpStartDate.Text)).Days) + 1; V_ATTENDANCERECORD tempStart = cbxStartTime.SelectedItem as V_ATTENDANCERECORD; V_ATTENDANCERECORD tempEnd = cbxEndTime.SelectedItem as V_ATTENDANCERECORD; if (tempStart != null && tempEnd != null) { day = day + (tempEnd.ENDVALUE - tempStart.STARTVALUE); } nudToTaldays.Value = day; } }
void client_GetAttendanceRecordByEmployeeIDCompleted(object sender, GetAttendanceRecordByEmployeeIDCompletedEventArgs e) { if (e.Error != null) { Utility.ShowCustomMessage(MessageTypes.Error, Utility.GetResourceStr("ERROR"), Utility.GetResourceStr(e.Error.Message)); } else { if (e.UserState.ToString() == "dpStartDate") { cbxStartTime.ItemsSource = e.Result; cbxStartTime.DisplayMemberPath = "STARTTIME"; if (Evection != null) { foreach (var item in cbxStartTime.Items) { V_ATTENDANCERECORD temp = item as V_ATTENDANCERECORD; if (temp.STARTTIME == Evection.STARTTIME) { cbxStartTime.SelectedItem = item; break; } } } } else { cbxEndTime.ItemsSource = e.Result; cbxEndTime.DisplayMemberPath = "ENDTIME"; if (Evection != null) { foreach (var item in cbxEndTime.Items) { V_ATTENDANCERECORD temp = item as V_ATTENDANCERECORD; if (temp.ENDTIME == Evection.ENDTIME) { cbxEndTime.SelectedItem = item; break; } } } } } AccountDays(); }
/// <summary> /// 根据员工ID和日期获取班次定义的前两段起止时间 /// </summary> /// <param name="employeeID">员工ID</param> /// <param name="date">日期</param> /// <returns></returns> public List <V_ATTENDANCERECORD> GetAttendanceRecordByEmployeeID(string employeeID, string strDate) { DateTime dtAttendanceDate = new DateTime(); DateTime.TryParse(strDate, out dtAttendanceDate); var ent = dal.GetObjects().Include("T_HR_SHIFTDEFINE").FirstOrDefault(s => s.EMPLOYEEID == employeeID && s.ATTENDANCEDATE == dtAttendanceDate); List <V_ATTENDANCERECORD> attendanceRecord = new List <V_ATTENDANCERECORD>(); if (ent != null) { V_ATTENDANCERECORD temp = new V_ATTENDANCERECORD(); temp.STARTTIME = ent.T_HR_SHIFTDEFINE.FIRSTSTARTTIME; temp.STARTVALUE = 0; temp.ENDTIME = ent.T_HR_SHIFTDEFINE.FIRSTENDTIME; temp.ENDVALUE = 0.5; attendanceRecord.Add(temp); temp.STARTTIME = ent.T_HR_SHIFTDEFINE.SECONDSTARTTIME; temp.STARTVALUE = 0.5; temp.ENDTIME = ent.T_HR_SHIFTDEFINE.SECONDENDTIME; temp.ENDVALUE = 1; attendanceRecord.Add(temp); } return(attendanceRecord); }