Beispiel #1
0
 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;
 }
Beispiel #3
0
 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;
 }