Ejemplo n.º 1
0
        /// <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;
        }
Ejemplo n.º 2
0
        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;
        }