public void ProcessRawData(EnrolledEmployee emp, DateTime dtFrom, DateTime dtTo, string tableName = "") { try { //ShiftType shift = new ShiftType(); enClockMode clockMode; //IEnumerable<RawData> rData = this.GetRawData(false,emp.enrollno,dtFrom,dtTo).ToList(); IEnumerable <RawData> rData; using (var db = new iTimeServiceContext()) { rData = db.Set <RawData>() .Where(x => x.ENROLL_NO == emp.enrollno) .Where(x => DbFunctions.TruncateTime(x.PUNCH_TIME) >= dtFrom.Date && DbFunctions.TruncateTime(x.PUNCH_TIME) <= dtTo.Date) .OrderBy(x => x.PUNCH_TIME) .ToList(); } //if (rData.Count() > 0) //{ if (emp.shift > 0) { Common.Common.SetShiftParams(dtFrom, emp.ShiftType); clockMode = emp.ShiftType.clockmode; //foreach (DateTime dateToProcess in Common.Common.GetDateRange(dtFrom,dtTo)) //{ if (clockMode == enClockMode.Schedules) { logic = new UseSchedulesLogic(emp, rData, dtFrom); } else if (clockMode == enClockMode.StatusCode) { logic = new UseStatusLogic(emp, rData, dtFrom); } else if (clockMode == enClockMode.Device) { logic = new UseDeviceLogic(emp, rData, dtFrom); } else if (clockMode == enClockMode.WorkCodes) { logic = new UseWorkCodeLogic(emp, rData, dtFrom); } if (logic != null) { ClockModeLogicProvider _provider = new ClockModeLogicProvider(logic, emp.ShiftType.type); _provider.ProcessAttendance(tableName); } //} } //} //else //{ //} } catch (Exception ex) { Common.Common._processedOk = false; Common.Common._exception = ex; //_log.Debug("ProcessRawData encountered a problem : " + ex.InnerException); } }
public AttendanceController(IAttendanceLogic attendanceLogic, AttendanceValidation attendanceValidation, ICommonLogic commonLogic, CommonValidation commonValidation) { this.attendanceValidation = attendanceValidation; this.commonValidation = commonValidation; this.commonLogic = commonLogic; this.attendanceLogic = attendanceLogic; }
public ClockModeLogicProvider(IAttendanceLogic attLogic, enShiftType shiftType) { this._attLogic = attLogic; this._shiftType = shiftType; }
/// <summary> /// Constructor dependency injection /// </summary> /// <param name="attendanceLogic"></param> public AttendanceController(IAttendanceLogic attendanceLogic) { _attendanceLogic = attendanceLogic; }