Esempio n. 1
0
 public TimeAndAttendancePunchInView(TimeAndAttendancePunchIn taPunchin)
 {
     this.TimePunchinId    = taPunchin.TimePunchinId;
     this.PunchinDate      = taPunchin.PunchinDate;
     this.PunchinDateTime  = taPunchin.PunchinDateTime;
     this.PunchoutDateTime = taPunchin.PunchoutDateTime;
     this.JobCodeXrefId    = taPunchin.JobCodeXrefId;
     //this.JobCode = taPunchin.
     this.Approved            = taPunchin.Approved;
     this.EmployeeId          = taPunchin.EmployeeId;
     this.EmployeeName        = taPunchin.Employee.AddressBook.Name;
     this.SupervisorId        = taPunchin.SupervisorId;
     this.SupervisorName      = taPunchin.Supervisor.AddressBook.Name;
     this.ProcessedDate       = taPunchin.ProcessedDate;
     this.Note                = taPunchin.Note;
     this.ShiftId             = taPunchin.ShiftId;
     this.ScheduledToWork     = taPunchin.ScheduledToWork;
     this.TypeOfTimeUdcXrefId = taPunchin.TypeOfTimeUdcXrefId;
     this.TypeOfTime          = taPunchin.UDC.Value;
     this.ApprovingAddressId  = taPunchin.ApprovingAddressId;
     this.PayCodeXrefId       = taPunchin.PayCodeXrefId;
     //this.PayCode = taPunchin.
     this.ScheduleId            = taPunchin.ScheduleId;
     this.DurationInMinutes     = taPunchin.DurationInMinutes;
     this.MealDurationInMinutes = taPunchin.MealDurationInMinutes;
 }
        public async Task TestAddbyElapsedTime()
        {
            long       employeeId = 1;
            UnitOfWork unitOfWork = new UnitOfWork();

            TimeAndAttendanceModule  taMod     = new TimeAndAttendanceModule();
            TimeAndAttendancePunchIn taPunchin = null;

            DateTime asOfDate = DateTime.Now;

            string account               = "1200.215";
            int    mealDeduction         = 30;
            int    manual_elapsedHours   = 12;
            int    manual_elapsedMinutes = 30;

            TimeAndAttendancePunchIn openTA = await taMod.TimeAndAttendance.Query().IsPunchOpen(employeeId, asOfDate);

            if (openTA == null)
            {
                taPunchin = await taMod.TimeAndAttendance.Query().BuildPunchin(employeeId, account, asOfDate);

                taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();
            }

            //taPunchin = await taMod.TimeAndAttendance.Query().GetPunchOpen(employeeId);

            taMod.TimeAndAttendance.UpdatePunchIn(taPunchin, mealDeduction, manual_elapsedHours, manual_elapsedMinutes).Apply();

            taPunchin = await taMod.TimeAndAttendance.Query().GetEntityById(taPunchin.TimePunchinId);

            Assert.NotNull(taPunchin.PunchinDate);
        }
        public async Task TestTimeAndAttendanceExecuteAsync()
        {
            try
            {
                UnitOfWork unitOfWork = new UnitOfWork();

                long id = 7;
                TimeAndAttendancePunchIn item2 = await unitOfWork.timeAndAttendanceRepository._dbContext.TimeAndAttendancePunchIn.FindAsync(id);

                List <TimeAndAttendancePunchIn> list = await unitOfWork.timeAndAttendanceRepository._dbContext.TimeAndAttendancePunchIn.Where(e => e.EmployeeId == 3).ToListAsync <TimeAndAttendancePunchIn>();

                //no getawaiter
                //  var item =(await unitOfWork.timeAndAttendanceRepository._dbContext.TimeAndAttendancePunchIn.Where(e => e.EmployeeId == 3).ExecuteAsync()).FirstOrDefault();
                var item = await Task.FromResult(unitOfWork.timeAndAttendanceRepository._dbContext.TimeAndAttendancePunchIn.Where(e => e.EmployeeId == 3).FirstOrDefault <TimeAndAttendancePunchIn>());

                var item3 = await unitOfWork.timeAndAttendanceRepository._dbContext.TimeAndAttendancePunchIn.Where(e => e.EmployeeId == 3).FirstOrDefaultAsync <TimeAndAttendancePunchIn>();

                //foreach (var item in query)
                //{
                output.WriteLine($"{item.EmployeeId} vDate: {item.PunchinDateTime} Duration: {item.DurationInMinutes}");
                //}
            }
            catch (Exception ex)
            {
                output.WriteLine($"{ex.InnerException}");
            }
        }
Esempio n. 4
0
        public TimeAndAttendancePunchIn GetPunchInByExpression(Expression <Func <TimeAndAttendancePunchIn, bool> > predicate)
        {
            var query = _unitOfWork.timeAndAttendanceRepository.GetObjectsQueryable(predicate) as IQueryable <TimeAndAttendancePunchIn>;
            TimeAndAttendancePunchIn retItem = null;

            foreach (var item in query)
            {
                retItem = item;
                break;
            }
            return(retItem);
        }
Esempio n. 5
0
 public IFluentTimeAndAttendance DeletePunchIn(TimeAndAttendancePunchIn taPunchin)
 {
     try
     {
         CreateProcessStatus statusResult = unitOfWork.timeAndAttendanceRepository.DeletePunchin(taPunchin);
         processStatus = statusResult;
         return(this as IFluentTimeAndAttendance);
     }
     catch (Exception ex)
     {
         throw new Exception(GetMyMethodName(), ex);
     }
 }
Esempio n. 6
0
 public ITimeAndAttendance UpdatePunchIn(TimeAndAttendancePunchIn taPunchin)
 {
     try
     {
         unitOfWork.timeAndAttendanceRepository.UpdateObject(taPunchin);
         processStatus = CreateProcessStatus.Update;
         return(this as ITimeAndAttendance);
     }
     catch (Exception ex)
     {
         throw new Exception(GetMyMethodName(), ex);
     }
 }
Esempio n. 7
0
 public IFluentTimeAndAttendance UpdatePunchIn(TimeAndAttendancePunchIn taPunchin, int mealDeduction, int manualElapsedHours = 0, int manualElapsedMinutes = 0)
 {
     try
     {
         Task <CreateProcessStatus> statusTask = Task.Run(async() => await unitOfWork.timeAndAttendanceRepository.UpdatePunchin(taPunchin, mealDeduction, manualElapsedHours, manualElapsedMinutes));
         Task.WaitAll(statusTask);
         processStatus = statusTask.Result;
         return(this as IFluentTimeAndAttendance);
     }
     catch (Exception ex)
     {
         processStatus = CreateProcessStatus.Failed;
         throw new Exception(GetMyMethodName(), ex);
     }
 }
Esempio n. 8
0
        public IFluentTimeAndAttendance AddPunchIn(TimeAndAttendancePunchIn taPunchin)
        {
            try
            {
                Task <CreateProcessStatus> statusTask = Task.Run(async() => await unitOfWork.timeAndAttendanceRepository.AddPunchin(taPunchin));
                Task.WaitAll(statusTask);


                processStatus = statusTask.Result;
                return(this as IFluentTimeAndAttendance);
            }
            catch (Exception ex)
            {
                throw new Exception(GetMyMethodName(), ex);
            }
        }
Esempio n. 9
0
        public void TestUpdateTAPunchin()
        {
            long timePunchinId = 3;
            //UnitOfWork unitOfWork = new UnitOfWork();

            TimeAndAttendanceModule taMod = new TimeAndAttendanceModule();

            TimeAndAttendancePunchIn taPunchinLookUp = taMod.TimeAndAttendance.Query().GetPunchInById(timePunchinId);

            taPunchinLookUp.DurationInMinutes     = 480;
            taPunchinLookUp.MealDurationInMinutes = 30;

            taMod.TimeAndAttendance.UpdatePunchIn(taPunchinLookUp).Apply();


            Assert.True(true);
        }
Esempio n. 10
0
        public async Task TestUpdateTAPunchin()
        {
            long?timePunchinId = 3;
            //UnitOfWork unitOfWork = new UnitOfWork();

            TimeAndAttendanceModule taMod = new TimeAndAttendanceModule();

            TimeAndAttendancePunchIn taPunchinLookUp = await taMod.TimeAndAttendance.Query().GetEntityById(timePunchinId);

            taPunchinLookUp.DurationInMinutes     = 480;
            taPunchinLookUp.MealDurationInMinutes = 30;
            int mealDeduction = 0;

            taMod.TimeAndAttendance.UpdatePunchIn(taPunchinLookUp, mealDeduction).Apply();


            Assert.True(true);
        }
Esempio n. 11
0
        public async Task <IActionResult> CreatePunchin([FromBody] TimeAndAttendanceParam param)
        {
            TimeAndAttendanceModule  taMod     = new TimeAndAttendanceModule();
            TimeAndAttendancePunchIn taPunchin = null;

            TimeAndAttendanceTimeView currentTime = await taMod.TimeAndAttendance.Query().GetUTCAdjustedTime();

            DateTime asOfDate = currentTime.PunchDate;

            taPunchin = await taMod.TimeAndAttendance.Query().BuildPunchin(param.EmployeeId, param.Account, asOfDate);

            taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();

            TimeAndAttendancePunchInView view = null;

            view = await taMod.TimeAndAttendance.Query().GetPunchOpenView(param.EmployeeId);

            return(Ok(view));
        }
Esempio n. 12
0
        public void TestAddTAPunchin()
        {
            //UnitOfWork unitOfWork = new UnitOfWork();
            DateTime punchinDate         = DateTime.Parse("6/24/2018 08:01:02");
            int      employeeId          = 3;
            int      jobCodeXrefId       = 31;
            int      supervisorId        = 1;
            int      typeOfTimeUdcXrefId = 11;
            int      approvingAddressId  = 1;
            int      payCodeXrefId       = 16;
            int      scheduleId          = 1;

            TimeAndAttendancePunchIn taPunchin = new TimeAndAttendancePunchIn();

            taPunchin.PunchinDate = punchinDate;


            TimeAndAttendanceModule taMod = new TimeAndAttendanceModule();

            string punchinDateTime = taMod.TimeAndAttendance.FormatPunchDateTime(taPunchin.PunchinDate);

            taPunchin.PunchinDateTime = punchinDateTime;

            taPunchin.EmployeeId          = employeeId;
            taPunchin.JobCodeXrefId       = jobCodeXrefId;
            taPunchin.SupervisorId        = supervisorId;
            taPunchin.TypeOfTimeUdcXrefId = typeOfTimeUdcXrefId;
            taPunchin.ApprovingAddressId  = approvingAddressId;
            taPunchin.PayCodeXrefId       = payCodeXrefId;
            taPunchin.ScheduleId          = scheduleId;


            taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();

            //TODO Get the new created punchin
            TimeAndAttendancePunchIn taPunchinLookUp = taMod.TimeAndAttendance.Query().GetPunchInByExpression(e => e.PunchinDateTime == punchinDateTime && e.EmployeeId == employeeId);

            //TimeAndAttendancePunchIn taPunchinLookUp=  taMod.Query().GetPunchInById(timePunchinId);

            taMod.TimeAndAttendance.DeletePunchIn(taPunchinLookUp).Apply();

            Assert.True(true);
        }
Esempio n. 13
0
        public async Task <IActionResult> UpdatePunch([FromBody] TimeAndAttendanceParam param)
        {
            TimeAndAttendanceModule  taMod     = new TimeAndAttendanceModule();
            TimeAndAttendancePunchIn taPunchin = null;

            TimeAndAttendanceTimeView currentTime = await taMod.TimeAndAttendance.Query().GetUTCAdjustedTime();

            DateTime asOfDate = currentTime.PunchDate;

            taPunchin = await taMod.TimeAndAttendance.Query().GetPunchOpen(param.EmployeeId);

            taMod.TimeAndAttendance.UpdatePunchIn(taPunchin, param.MealDeduction).Apply();

            TimeAndAttendancePunchInView view = null;

            //view = await taMod.TimeAndAttendance.Query().GetPunchOpenView(param.employeeId);
            view = await taMod.TimeAndAttendance.Query().GetViewById(taPunchin.TimePunchinId);

            return(Ok(view));
        }
Esempio n. 14
0
        public async Task TestScheduledToWorkPunchin()
        {
            long employeeId = 1;

            TimeAndAttendanceModule taMod = new TimeAndAttendanceModule();

            //DateTime asOfDate = DateTime.Now;

            TimeAndAttendanceTimeView currentTime = await taMod.TimeAndAttendance.Query().GetUTCAdjustedTime();

            string account = "1200.215";

            TimeAndAttendancePunchIn openTA = await taMod.TimeAndAttendance.Query().IsPunchOpen(employeeId, currentTime.PunchDate);

            if (openTA == null)
            {
                TimeAndAttendancePunchIn taPunchin = await taMod.TimeAndAttendance.Query().BuildPunchin(employeeId, account, currentTime.PunchDate);

                taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();
            }
        }
Esempio n. 15
0
        public async Task TestAddTimeByDuration()
        {
            //No UTC lookup time
            long employeeId = 1;

            int      hours   = 9;
            int      minutes = 0;
            int      mealDurationInMinutes = 0;
            DateTime workDay = DateTime.Now;
            string   account = "1200.215";

            TimeAndAttendanceModule  taMod  = new TimeAndAttendanceModule();
            TimeAndAttendancePunchIn openTA = await taMod.TimeAndAttendance.Query().IsPunchOpen(employeeId, workDay);

            if (openTA != null)
            {
                TimeAndAttendancePunchIn taPunchin = await taMod.TimeAndAttendance.Query().BuildByTimeDuration(employeeId, hours, minutes, mealDurationInMinutes, workDay, account);

                taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();
            }
        }
Esempio n. 16
0
        public async Task TestPunchOut()
        {
            long employeeId = 1;


            TimeAndAttendanceModule  taMod     = new TimeAndAttendanceModule();
            TimeAndAttendancePunchIn taPunchin = null;

            DateTime asOfDate = DateTime.Now;

            string account       = "1200.215";
            int    mealDeduction = 0;

            TimeAndAttendancePunchIn openTA = await taMod.TimeAndAttendance.Query().IsPunchOpen(employeeId, asOfDate);

            if (openTA == null)
            {
                taPunchin = await taMod.TimeAndAttendance.Query().BuildPunchin(employeeId, account, asOfDate);

                taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();

                Thread.Sleep(60000);
                taMod.TimeAndAttendance.UpdatePunchIn(taPunchin, mealDeduction).Apply();
            }
            else
            {
                Thread.Sleep(60000);
                taMod.TimeAndAttendance.UpdatePunchIn(openTA, mealDeduction).Apply();
            }

            //taPunchin = await taMod.TimeAndAttendance.Query().GetPunchOpen(employeeId);



            taPunchin = await taMod.TimeAndAttendance.Query().GetEntityById(taPunchin.TimePunchinId);

            Assert.NotNull(taPunchin.PunchinDate);

            // taMod.TimeAndAttendance.DeletePunchIn(taPunchin).Apply();
        }
Esempio n. 17
0
        public async Task <IActionResult> ManualPunchOut(TimeAndAttendanceParam param)
        {
            TimeAndAttendanceModule      taMod     = new TimeAndAttendanceModule();
            TimeAndAttendancePunchIn     taPunchin = null;
            TimeAndAttendancePunchInView view      = null;
            //long employeeId=1;
            //string account = "1200.215";
            //int mealDeduction = 30;
            //int manual_elapsedHours = 12;
            //int manual_elapsedMinutes = 30;

            TimeAndAttendancePunchIn openTA = await taMod.TimeAndAttendance.Query().IsPunchOpen(param.EmployeeId, param.AsOfDate);

            if (openTA != null)
            {
                taMod.TimeAndAttendance.UpdatePunchIn(openTA, param.MealDeduction, param.Manual_ElapsedHours, param.Manual_ElapsedMinutes).Apply();

                taPunchin = await taMod.TimeAndAttendance.Query().GetEntityById(openTA.TimePunchinId);

                view = await taMod.TimeAndAttendance.Query().MapToView(taPunchin);
            }
            else
            {
                taPunchin = await taMod.TimeAndAttendance.Query().BuildPunchin(param.EmployeeId, param.Account, param.AsOfDate);

                taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();

                taPunchin = await taMod.TimeAndAttendance.Query().GetPunchOpen(param.EmployeeId);

                taMod.TimeAndAttendance.UpdatePunchIn(taPunchin, param.MealDeduction, param.Manual_ElapsedHours, param.Manual_ElapsedMinutes).Apply();

                taPunchin = await taMod.TimeAndAttendance.Query().GetEntityById(taPunchin.TimePunchinId);

                view = await taMod.TimeAndAttendance.Query().MapToView(taPunchin);
            }


            return(Ok(view));
            //Assert.NotNull(taPunchin.PunchinDate);
        }
Esempio n. 18
0
        public async Task TestGetPunchOpenView()
        {
            long     employeeId = 1;
            DateTime asOfDate   = DateTime.Now;

            TimeAndAttendanceModule      taMod = new TimeAndAttendanceModule();
            TimeAndAttendancePunchInView view  = null;
            string account = "1200.215";
            TimeAndAttendancePunchIn taPunchin = null;

            taPunchin = await taMod.TimeAndAttendance.Query().BuildPunchin(employeeId, account, asOfDate);

            taMod.TimeAndAttendance.AddPunchIn(taPunchin).Apply();

            view = await taMod.TimeAndAttendance.Query().GetPunchOpenView(employeeId);

            taPunchin = await taMod.TimeAndAttendance.Query().GetEntityById(view.TimePunchinId ?? 0);

            taMod.TimeAndAttendance.DeletePunchIn(taPunchin).Apply();

            Assert.True(view != null);
        }