Exemplo n.º 1
0
        public double Calculate(string statement, AttendanceData attData)
        {
            var dataDict = PisiAttendanceDataMapping.CreateAttendanceDataDictionary(attData);
            var formula  = statement.TransformToJaceFormat();

            return(mcalcEnggine.Calculate(formula, dataDict));
        }
Exemplo n.º 2
0
 public AttendanceCalculationResult Calculate(AttendanceFormula attFormula, AttendanceData attData)
 {
     return(new AttendanceCalculationResult
     {
         AbsentDay = Calculate(attFormula.AbsentDay, attData),
         OT = Calculate(attFormula.OT, attData),
         OT1 = Calculate(attFormula.OT1, attData)
     });
 }
        public static Dictionary <string, double> CreateAttendanceDataDictionary(AttendanceData attData)
        {
            Dictionary <string, double> attandance = new Dictionary <string, double>();

            attandance.Add("Regular", attData.Regular);
            attandance.Add("Remark", attData.Remark);
            attandance.Add("DateIn", attData.DateIn.Ticks);
            attandance.Add("DateOut", attData.DateOut.Ticks);
            attandance.Add("DateOfDateIn", attData.DateIn.Date.Ticks);
            attandance.Add("DateOfDateOut", attData.DateOut.Date.Ticks);
            attandance.Add("TimeOfDateIn", attData.DateIn.TimeOfDay.Ticks);
            attandance.Add("TimeOfDateOut", attData.DateOut.TimeOfDay.Ticks);
            attandance.Add("IsNullDateIn", attData.DateIn.TimeOfDay.Ticks == new DateTime().Ticks?1:0);
            attandance.Add("IsNullDateOut", attData.DateOut.TimeOfDay.Ticks == new DateTime().Ticks?1:0);
            return(attandance);
        }
Exemplo n.º 4
0
        public AttendanceCalculationResult Calculate(IAttendanceClassification classification, AttendanceData attData)
        {
            var formulas = classification.LoadFormulasById(attData.Classification);

            return(Calculate(formulas, attData));
        }