/// <summary> /// 創建班次人員工作時間信息 /// </summary> /// <param name="staffInfo">班次人員工作信息</param> /// <param name="isCaptain">是否為機長</param> /// <returns></returns> ShiftStaffWorkTimeInfo GetShiftStaffWorkTimeInfo(MachineStaffInfo staffInfo, bool isCaptain) { ShiftStaffWorkTimeInfo staffWorkTimeInfo = null; if (staffInfo != null && staffInfo.Code.Trim().Length > 0) { ShiftStaff oldStaffWorkTimeInfo = null; if (this.CurrentMachineShiftInfo.StaffInfos != null && this.CurrentMachineShiftInfo.StaffInfos.Count > 0) { Guid staffID = new Guid(staffInfo.Code); oldStaffWorkTimeInfo = this.CurrentMachineShiftInfo.StaffInfos.SingleOrDefault(t => t.ssta_SIMID == staffID); } staffWorkTimeInfo = new ShiftStaffWorkTimeInfo(); staffWorkTimeInfo.Code = staffInfo.Code; staffWorkTimeInfo.Name = staffInfo.StaffNameNo; staffWorkTimeInfo.IsCaptain = isCaptain; if (this.CurrentMachineShiftInfo != null) { if (oldStaffWorkTimeInfo != null && oldStaffWorkTimeInfo.StartTime != null) { staffWorkTimeInfo.StartTime = oldStaffWorkTimeInfo.StartTime; } else { staffWorkTimeInfo.StartTime = this.CurrentMachineShiftInfo.sifo_dBeginTime; } if (oldStaffWorkTimeInfo != null && oldStaffWorkTimeInfo.EndTime != null) { staffWorkTimeInfo.EndTime = oldStaffWorkTimeInfo.EndTime; } else { staffWorkTimeInfo.EndTime = this.CurrentMachineShiftInfo.sifo_dEndTime; } } } return staffWorkTimeInfo; }
List<ShiftStaffWorkTimeInfo> GetShiftStaffWorkTimeInfos() { List<ShiftStaffWorkTimeInfo> staffWorkTimeInfos = null; if (this._shiftStaffWorkInfoEditBoxs != null && this._shiftStaffWorkInfoEditBoxs.Count>0) { ShiftStaffWorkTimeInfo info = null; staffWorkTimeInfos = new List<ShiftStaffWorkTimeInfo>(); for (int i = 0; i < this._shiftStaffWorkInfoEditBoxs.Count; i++) { ShiftStaffWorkInfoEditBox editBox = this._shiftStaffWorkInfoEditBoxs[i]; if (editBox != null) { info = new ShiftStaffWorkTimeInfo(); info.Code = editBox.Name; info.Name = editBox.StaffName; info.StartTime = editBox.StartTime; info.EndTime = editBox.EndTime; staffWorkTimeInfos.Add(info); } } } return staffWorkTimeInfos; }