public List <AttendanceInAndOutRecordLog> GetInAndOutLogByCondition(
            DateTime operateTiemFrom, DateTime operateTimeTo, string operatorName,
            DateTime oldIOTimeFrom, DateTime oldIOTimeTo)
        {
            List <AttendanceInAndOutRecordLog> logs = new List <AttendanceInAndOutRecordLog>();
            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_ParmOperateTimeStart, SqlDbType.DateTime).Value = operateTiemFrom;
            cmd.Parameters.Add(_ParmOperateTimeEnd, SqlDbType.DateTime).Value   = operateTimeTo;
            cmd.Parameters.Add(_ParmOperator, SqlDbType.NVarChar, 50).Value     = operatorName;
            cmd.Parameters.Add(_ParmOldIOTimeStart, SqlDbType.DateTime).Value   = oldIOTimeFrom;
            cmd.Parameters.Add(_ParmOldIOTimeEnd, SqlDbType.DateTime).Value     = oldIOTimeTo;


            using (SqlDataReader sdr = SqlHelper.ExecuteReader("GetAttendanceInAndOutRecordLogByCondition", cmd))
            {
                while (sdr.Read())
                {
                    AttendanceInAndOutRecordLog log = new AttendanceInAndOutRecordLog();
                    log.LogID         = (int)(sdr[_DbPKID]);
                    log.EmployeeID    = Convert.ToInt32(sdr[_DbEmployeeId]);
                    log.OldIOTime     = Convert.ToDateTime(sdr[_DbOldIOTime]);
                    log.OldIOStatus   = (InOutStatusEnum)sdr[_DbOldIOStatus];
                    log.NewIOTime     = Convert.ToDateTime(sdr[_DbNewIOTime]);
                    log.NewIOStatus   = (InOutStatusEnum)(sdr[_DbNewIOStatus]);
                    log.OperateStatus = (OutInRecordOperateStatusEnum)(sdr[_DbOperateStatus]);
                    log.Operator      = sdr[_DbOperator].ToString();
                    log.OperateTime   = Convert.ToDateTime(sdr[_DbOperateTime]);
                    log.OperateReason = sdr[_DbOperateReason].ToString();

                    logs.Add(log);
                }
                return(logs);
            }
        }
 /// <summary>
 ///
 /// </summary>
 public InsertAttendanceInOutRecord(int employeeId, AttendanceInAndOutRecord record,
                                    AttendanceInAndOutRecordLog attendanceInAndOutRecordLog, Account loginUser)
 {
     _LoginUser = loginUser;
     //updateEmployeeAttendance = new UpdateEmployeeAttendance(_LoginUser);
     _AttendanceInAndOutRecordLog = attendanceInAndOutRecordLog;
     _InsertLog  = new InsertInAndOutRecordLog(_AttendanceInAndOutRecordLog, _LoginUser);
     _EmployeeId = employeeId;
     _Record     = record;
     _TheDate    = record.IOTime;
     GetInAndOutRecords();
 }
 /// <summary>
 ///
 /// </summary>
 public DeleteAttendanceInOutRecord(int employeeId, int recordId,
                                    DateTime theDate, AttendanceInAndOutRecordLog attendanceInAndOutRecordLog, Account loginUser)
 {
     _LoginUser = loginUser;
     _AttendanceInAndOutRecordLog = attendanceInAndOutRecordLog;
     _InsertLog = new InsertInAndOutRecordLog(_AttendanceInAndOutRecordLog, _LoginUser);
     //updateEmployeeAttendance = new UpdateEmployeeAttendance(_LoginUser);
     _TheDate    = theDate;
     _EmployeeId = employeeId;
     _RecordId   = recordId;
     GetInAndOutRecords();
 }
예제 #4
0
 /// <summary>
 ///
 /// </summary>
 public UpdateAttendanceInOutRecord(int employeeId, AttendanceInAndOutRecord record,
                                    DateTime oldDate, AttendanceInAndOutRecordLog log, Account loginUser)
 {
     _LoginUser = loginUser;
     //updateEmployeeAttendance = new UpdateEmployeeAttendance(loginUser);
     _OldDate = oldDate;
     _AttendanceInAndOutRecordLog = log;
     _InsertLog  = new InsertInAndOutRecordLog(_AttendanceInAndOutRecordLog, loginUser);
     _EmployeeId = employeeId;
     _Record     = record;
     _TheDate    = _Record.IOTime;
     GetInAndOutRecords();
 }
        /// <summary>
        /// 收集日志数据
        /// </summary>
        /// <returns></returns>
        private AttendanceInAndOutRecordLog CompleteLogData()
        {
            AttendanceInAndOutRecordLog log = new AttendanceInAndOutRecordLog();

            log.EmployeeID    = Convert.ToInt32(_View.EmployeeId);
            log.EmployeeName  = _View.EmployeeName;
            log.OldIOStatus   = AttendanceInAndOutRecord.GetInOutStatusByInOutName(_View.IOStatusId);
            log.OldIOTime     = Convert.ToDateTime(_View.IOTime);
            log.OperateReason = _View.Reason;
            log.OperateTime   = DateTime.Now;
            log.OperateStatus = OutInRecordOperateStatusEnum.DeleteByOperator;
            log.Operator      = LoginUser.Name;
            log.NewIOStatus   = InOutStatusEnum.All;
            log.NewIOTime     = Convert.ToDateTime("2999-12-31");
            return(log);
        }
        /// <summary>
        /// 收集日志数据
        /// </summary>
        /// <param name="record"></param>
        /// <returns></returns>
        private AttendanceInAndOutRecordLog CompleteLogData(AttendanceInAndOutRecord record)
        {
            AttendanceInAndOutRecordLog log = new AttendanceInAndOutRecordLog();

            log.EmployeeID    = Convert.ToInt32(_View.EmployeeId);
            log.EmployeeName  = _View.EmployeeName;
            log.OldIOStatus   = InOutStatusEnum.All;
            log.OldIOTime     = Convert.ToDateTime("2000-12-31 0:00:00");
            log.NewIOStatus   = record.IOStatus;
            log.NewIOTime     = record.IOTime;
            log.OperateReason = _View.Reason;
            log.OperateTime   = record.OperateTime;
            log.OperateStatus = record.OperateStatus;
            log.Operator      = LoginUser.Name;
            return(log);
        }
 /// <summary>
 /// 测试用
 /// </summary>
 public InsertAttendanceInOutRecord(int employeeId, AttendanceInAndOutRecord record,
                                    AttendanceInAndOutRecordLog attendanceInAndOutRecordLog, IAttendanceInAndOutRecord mock, Transaction mockLog,
                                    //UpdateEmployeeAttendance mockUpdateEmployeeAttendance,
                                    Employee employee, Account loginUser)
 {
     _LoginUser = loginUser;
     //updateEmployeeAttendance = mockUpdateEmployeeAttendance;
     _AttendanceInAndOutRecordLog = attendanceInAndOutRecordLog;
     _InsertLog  = mockLog;
     _EmployeeId = employeeId;
     _Record     = record;
     _IRecord    = mock;
     _TheDate    = record.IOTime;
     //_DalEmployee = mockEmployee;
     //GetInAndOutRecords();
     _Employee = employee;
 }
        //private const string _DbError = "Êý¾Ý¿â·ÃÎÊ´íÎó!";


        public int InsertInAndOutRecordLog(AttendanceInAndOutRecordLog RecordLog)
        {
            int        pkid;
            SqlCommand cmd = new SqlCommand();

            cmd.Parameters.Add(_ParmEmployeeId, SqlDbType.NVarChar, 50).Value     = RecordLog.EmployeeID;
            cmd.Parameters.Add(_ParmOldIOTime, SqlDbType.DateTime).Value          = RecordLog.OldIOTime;
            cmd.Parameters.Add(_ParmOldIOStatus, SqlDbType.Int).Value             = RecordLog.OldIOStatus;
            cmd.Parameters.Add(_ParmNewIOTime, SqlDbType.DateTime).Value          = RecordLog.NewIOTime;
            cmd.Parameters.Add(_ParmNewIOStatus, SqlDbType.Int).Value             = RecordLog.NewIOStatus;
            cmd.Parameters.Add(_ParmOperateStatus, SqlDbType.Int).Value           = RecordLog.OperateStatus;
            cmd.Parameters.Add(_ParmOperator, SqlDbType.NVarChar, 50).Value       = RecordLog.Operator;
            cmd.Parameters.Add(_ParmOperateTime, SqlDbType.DateTime, 50).Value    = RecordLog.OperateTime;
            cmd.Parameters.Add(_ParmOperateReason, SqlDbType.NVarChar, 100).Value = RecordLog.OperateReason;
            cmd.Parameters.Add(_ParmPKID, SqlDbType.Int).Direction = ParameterDirection.Output;
            SqlHelper.ExecuteNonQueryReturnPKID("InsertAttendanceInAndOutRecordLog", cmd, out pkid);
            return(pkid);
        }
        public void UpdateEvent()
        {
            if (!_Utility.Validate())
            {
                return;
            }
            Employee employee = InstanceFactory.AttendanceInOutRecordFacade().GetEmployeeInAndOutRecordByEmployeeId(Convert.ToInt32(_View.EmployeeId), LoginUser);
            AttendanceInAndOutRecord oldRecord = employee.EmployeeAttendance.FindInAndOutRecordByRecordId(Convert.ToInt32(_View.RecordId));

            #region 收集log 中考勤的旧数据
            AttendanceInAndOutRecordLog log = new AttendanceInAndOutRecordLog();
            log.EmployeeID   = Convert.ToInt32(_View.EmployeeId);
            log.EmployeeName = _View.EmployeeName;
            log.OldIOStatus  = oldRecord.IOStatus;
            log.OldIOTime    = oldRecord.IOTime;
            DateTime oldDate = oldRecord.IOTime;
            log.OperateReason = _View.Reason;
            log.Operator      = LoginUser.Name;
            #endregion
            //转为新数据
            _Utility.CompleteTheObject(oldRecord);
            oldRecord.OperateStatus = OutInRecordOperateStatusEnum.ModifyByOperator;
            //插入日志 ,收集考勤中新数据
            log.NewIOStatus   = oldRecord.IOStatus;
            log.NewIOTime     = oldRecord.IOTime;
            log.OperateStatus = oldRecord.OperateStatus;
            log.OperateTime   = oldRecord.OperateTime;



            try
            {
                InstanceFactory.AttendanceInOutRecordFacade().UpdateAttendanceInOutRecord(
                    Convert.ToInt32(_View.EmployeeId), oldRecord, oldDate, log, LoginUser);

                _View.ActionSuccess = true;
            }
            catch (ApplicationException ae)
            {
                _View.Message = ae.Message;
            }
        }
 public void UpdateAttendanceInOutRecord(int employeeId, AttendanceInAndOutRecord record,
                                         DateTime oldDate, AttendanceInAndOutRecordLog log, Account loginUser)
 {
     new UpdateAttendanceInOutRecord(employeeId, record, oldDate, log, loginUser).Excute();
 }
 public void DeleteAttendanceInOutRecord(int employeeId, int recordId, DateTime theDate,
                                         AttendanceInAndOutRecordLog attendanceInAndOutRecordLog, Account loginUser)
 {
     new DeleteAttendanceInOutRecord(employeeId, recordId, theDate, attendanceInAndOutRecordLog, loginUser).Excute();
 }
 public void InsertAttendanceInOutRecord(int employeeId, AttendanceInAndOutRecord record,
                                         AttendanceInAndOutRecordLog attendanceInAndOutRecordLog, Account loginUser)
 {
     new InsertAttendanceInOutRecord(employeeId, record, attendanceInAndOutRecordLog, loginUser).Excute();
 }
 public InsertInAndOutRecordLog(AttendanceInAndOutRecordLog log, IInAndOutRecordLog logMock, Account loginUser)
 {
     _LoginUser = loginUser;
     _Log       = log;
     _DalLog    = logMock;
 }
 public InsertInAndOutRecordLog(AttendanceInAndOutRecordLog log, Account loginUser)
 {
     _LoginUser = loginUser;
     _Log       = log;
 }