public TimeAndAttendanceScheduledToWork BuildScheduledToWork(TimeAndAttendanceScheduleView scheduleView, TimeAndAttendanceScheduleDayView dayView, EmployeeView employeeItem, string payCode) { TimeAndAttendanceScheduledToWork scheduledToWork = new TimeAndAttendanceScheduledToWork(); applicationViewFactory.MapTimeAndAttendanceScheduledToWorkEntity(ref scheduledToWork, scheduleView, dayView, employeeItem, payCode); return(scheduledToWork); }
public ITimeAndAttendanceSchedule AddSchedule(TimeAndAttendanceScheduleView view) { Task <CreateProcessStatus> statusTask = Task.Run(async() => await unitOfWork.timeAndAttendanceScheduleRepository.AddSchedule(view)); Task.WaitAll(statusTask); processStatus = statusTask.Result; return(this as ITimeAndAttendanceSchedule); }
public async Task <IActionResult> GetTimeAndAttendanceScheduleView(long timeAndAttendanceScheduleId) { TimeAndAttendanceScheduleModule invMod = new TimeAndAttendanceScheduleModule(); TimeAndAttendanceScheduleView view = await invMod.Schedule.Query().GetViewById(timeAndAttendanceScheduleId); return(Ok(view)); }
public async Task <IActionResult> DeleteTimeAndAttendanceSchedule([FromBody] TimeAndAttendanceScheduleView view) { TimeAndAttendanceScheduleModule invMod = new TimeAndAttendanceScheduleModule(); TimeAndAttendanceSchedule timeAndAttendanceSchedule = await invMod.Schedule.Query().MapToEntity(view); invMod.Schedule.DeleteTimeAndAttendanceSchedule(timeAndAttendanceSchedule).Apply(); return(Ok(view)); }
public IList <TimeAndAttendanceScheduledToWork> BuildScheduledToWork(TimeAndAttendanceScheduleView scheduleView, IList <EmployeeView> employeeViews) { IList <TimeAndAttendanceScheduledToWork> retList = new List <TimeAndAttendanceScheduledToWork>(); foreach (var employeeItem in employeeViews) { TimeAndAttendanceScheduledToWork scheduledToWork = unitOfWork.timeAndAttendanceScheduledToWorkRepository.BuildScheduledToWork(scheduleView, employeeItem); retList.Add(scheduledToWork); } return(retList); }
public async Task <IActionResult> AddTimeAndAttendanceSchedule([FromBody] TimeAndAttendanceScheduleView view) { TimeAndAttendanceScheduleModule invMod = new TimeAndAttendanceScheduleModule(); NextNumber nnTimeAndAttendanceSchedule = await invMod.Schedule.Query().GetNextNumber(); view.TimeAndAttendanceScheduleNumber = nnTimeAndAttendanceSchedule.NextNumberValue; TimeAndAttendanceSchedule timeAndAttendanceSchedule = await invMod.Schedule.Query().MapToEntity(view); invMod.Schedule.AddTimeAndAttendanceSchedule(timeAndAttendanceSchedule).Apply(); TimeAndAttendanceScheduleView newView = await invMod.Schedule.Query().GetViewByNumber(view.TimeAndAttendanceScheduleNumber); return(Ok(newView)); }
public TimeAndAttendanceScheduleView GetScheduleByExpression(Expression <Func <TimeAndAttendanceSchedule, bool> > predicate) { try { var query = _unitOfWork.timeAndAttendanceScheduleRepository.GetObjectsQueryable(predicate) as IQueryable <TimeAndAttendanceSchedule>; TimeAndAttendanceScheduleView retItem = null; foreach (var item in query) { retItem = _unitOfWork.timeAndAttendanceScheduleRepository.BuildTimeAndAttendanceScheduleView(item); break; } return(retItem); } catch (Exception ex) { throw new Exception(GetMyMethodName(), ex); } }
public void TestAddScheduledToWork() { int supervisorId = 1; AddressBookModule abMod = new AddressBookModule(); List <EmployeeView> employeeViews = abMod.AddressBook.Query().GetEmployeesBySupervisorId(supervisorId); string scheduleName = "Schedule A"; DateTime startDate = DateTime.Parse("9/10/2018"); DateTime endDate = DateTime.Parse("9/14/2018"); TimeAndAttendanceModule taMod = new TimeAndAttendanceModule(); TimeAndAttendanceScheduleView scheduleView = taMod.TimeAndAttendanceSchedule.Query().GetScheduleByExpression(e => e.ScheduleName == scheduleName && e.StartDate == startDate && e.EndDate == endDate); IList <TimeAndAttendanceScheduledToWork> items = taMod.TimeAndAttendanceScheduleToWork.BuildScheduledToWork(scheduleView, employeeViews); taMod.TimeAndAttendanceScheduleToWork.AddScheduledToWork(items).Apply(); }
public async Task TestAddSchedule() { UnitOfWork unitOfWork = new UnitOfWork(); long shiftId = 1; Task <TimeAndAttendanceShift> shiftTask = Task.Run(async() => await unitOfWork.timeAndAttendanceRepository.GetShiftById(shiftId)); Task.WaitAll(shiftTask); TimeAndAttendanceScheduleView view = new TimeAndAttendanceScheduleView(); view.ScheduleName = "Schedule A"; view.StartDate = DateTime.Parse("2/18/2019"); view.EndDate = DateTime.Parse("2/22/2019"); view.ShiftId = shiftTask.Result.ShiftId; view.ShiftName = shiftTask.Result.ShiftName; view.ShiftStartTime = shiftTask.Result.ShiftStartTime; view.ShiftEndTime = shiftTask.Result.ShiftEndTime; view.DurationHours = shiftTask.Result.DurationHours; view.DurationMinutes = shiftTask.Result.DurationMinutes; view.Monday = shiftTask.Result.Monday; view.Tuesday = shiftTask.Result.Tuesday; view.Wednesday = shiftTask.Result.Wednesday; view.Thursday = shiftTask.Result.Thursday; view.Friday = shiftTask.Result.Friday; view.Saturday = shiftTask.Result.Saturday; view.Sunday = shiftTask.Result.Sunday; view.ScheduleGroup = "A"; TimeAndAttendanceModule taMod = new TimeAndAttendanceModule(); TimeAndAttendanceSchedule schedule = await taMod.Schedule.Query().MapToEntity(view); taMod.Schedule.AddTimeAndAttendanceSchedule(schedule).Apply(); TimeAndAttendanceScheduleView scheduleView = await taMod.Schedule.Query().GetScheduleByExpression(e => e.ScheduleName == view.ScheduleName && e.StartDate == view.StartDate && e.EndDate == view.EndDate); Assert.True(scheduleView != null); }
//[InlineData("Schedule A", "2/18/2019" , "2/22/2019" )] public async Task TestAddScheduledToWork(string scheduleName, DateTime startDate, DateTime endDate, string payCode) { int supervisorId = 2; AddressBookModule abMod = new AddressBookModule(); List <EmployeeView> employeeViews = await abMod.Employee.Query().GetViewsBySupervisorId(supervisorId); //string scheduleName = "Schedule A"; //DateTime startDate = DateTime.Parse("2/11/2019"); // DateTime endDate = DateTime.Parse("2/15/2019"); TimeAndAttendanceModule taMod = new TimeAndAttendanceModule(); TimeAndAttendanceScheduleView scheduleView = await taMod.Schedule.Query().GetScheduleByExpression(e => e.ScheduleName == scheduleName && e.StartDate == startDate && e.EndDate == endDate); IList <TimeAndAttendanceScheduledToWork> items = taMod.ScheduleToWork.BuildScheduledToWork(scheduleView, employeeViews, payCode); taMod.ScheduleToWork.AddTimeAndAttendanceScheduledToWorks(items.ToList <TimeAndAttendanceScheduledToWork>()).Apply(); Assert.True(items.Count > 0); }
public void TestAddSchedule() { UnitOfWork unitOfWork = new UnitOfWork(); long shiftId = 1; Task <TimeAndAttendanceShift> shiftTask = Task.Run(async() => await unitOfWork.timeAndAttendanceRepository.GetShiftById(shiftId)); Task.WaitAll(shiftTask); TimeAndAttendanceScheduleView view = new TimeAndAttendanceScheduleView(); view.ScheduleName = "Schedule A"; view.StartDate = DateTime.Parse("9/10/2018"); view.EndDate = DateTime.Parse("9/14/2018"); view.ShiftId = shiftTask.Result.ShiftId; view.ShiftName = shiftTask.Result.ShiftName; view.ShiftStartTime = shiftTask.Result.ShiftStartTime; view.ShiftEndTime = shiftTask.Result.ShiftEndTime; view.ScheduleGroup = "A"; TimeAndAttendanceModule taMod = new TimeAndAttendanceModule(); taMod.TimeAndAttendanceSchedule.AddSchedule(view).Apply(); }
public IList <TimeAndAttendanceScheduledToWork> BuildScheduledToWork(TimeAndAttendanceScheduleView scheduleView, IList <EmployeeView> employeeViews, string payCode) { IList <TimeAndAttendanceScheduledToWork> retList = new List <TimeAndAttendanceScheduledToWork>(); DateTime startDay = scheduleView.StartDate ?? DateTime.Now; DateTime endDay = scheduleView.EndDate ?? DateTime.Now; TimeSpan difference = endDay - startDay; foreach (var employeeItem in employeeViews) { for (int i = 0; i <= difference.Days; i++) { bool monday = scheduleView.Monday ?? false; bool tuesday = scheduleView.Tuesday ?? false; bool wednesday = scheduleView.Wednesday ?? false; bool thursday = scheduleView.Thursday ?? false; bool friday = scheduleView.Friday ?? false; bool saturday = scheduleView.Saturday ?? false; bool sunday = scheduleView.Sunday ?? false; DateTime scheduleStartDate = scheduleView.StartDate ?? DateTime.Now; DateTime currentDate = scheduleStartDate.AddDays(i); int? durationHours = scheduleView.DurationHours ?? 0; int? durationMinutes = scheduleView.DurationMinutes ?? 0; string shiftStartTime = scheduleView.ShiftStartTime; string shiftEndTime = scheduleView.ShiftEndTime; DateTime startDate = unitOfWork.timeAndAttendanceRepository.BuildShortDate(currentDate, shiftStartTime); DateTime endDate = unitOfWork.timeAndAttendanceRepository.AddTimeShortDate(startDate, durationHours ?? 0, durationMinutes ?? 0); string startDateTime = unitOfWork.timeAndAttendanceRepository.BuildLongDate(currentDate, shiftStartTime); string endDateTime = unitOfWork.timeAndAttendanceRepository.BuildLongDate(endDate); TimeAndAttendanceScheduleDayView currentDayView = new TimeAndAttendanceScheduleDayView(); currentDayView.StartDate = currentDate; currentDayView.StartDateTime = startDateTime; currentDayView.EndDate = endDate; currentDayView.EndDateTime = endDateTime; if ( (currentDate.DayOfWeek == DayOfWeek.Monday && monday) || (currentDate.DayOfWeek == DayOfWeek.Tuesday && tuesday) || (currentDate.DayOfWeek == DayOfWeek.Wednesday && wednesday) || (currentDate.DayOfWeek == DayOfWeek.Thursday && thursday) || (currentDate.DayOfWeek == DayOfWeek.Friday && friday) || (currentDate.DayOfWeek == DayOfWeek.Saturday && saturday) || (currentDate.DayOfWeek == DayOfWeek.Sunday && sunday) ) { TimeAndAttendanceScheduledToWork scheduledToWork = unitOfWork.timeAndAttendanceScheduledToWorkRepository.BuildScheduledToWork(scheduleView, currentDayView, employeeItem, payCode); retList.Add(scheduledToWork); } } } return(retList); }
public override void MapTimeAndAttendanceScheduledToWorkEntity(ref TimeAndAttendanceScheduledToWork scheduledToWork, TimeAndAttendanceScheduleView scheduleView, TimeAndAttendanceScheduleDayView dayView, EmployeeView employeeView, string payCode) { scheduledToWork.EmployeeId = employeeView.EmployeeId; scheduledToWork.EmployeeName = employeeView.EmployeeName; scheduledToWork.ScheduleId = scheduleView.ScheduleId; scheduledToWork.ScheduleName = scheduleView.ScheduleName; scheduledToWork.StartDate = dayView.StartDate; scheduledToWork.EndDate = dayView.EndDate; scheduledToWork.StartDateTime = dayView.StartDateTime; scheduledToWork.EndDateTime = dayView.EndDateTime; scheduledToWork.ShiftId = scheduleView.ShiftId ?? 0; scheduledToWork.JobCode = employeeView.JobCode; scheduledToWork.WorkedJobCode = employeeView.JobCode; scheduledToWork.PayCode = payCode; }
public abstract void MapTimeAndAttendanceScheduledToWorkEntity(ref TimeAndAttendanceScheduledToWork scheduledToWork, TimeAndAttendanceScheduleView scheduleView, TimeAndAttendanceScheduleDayView dayView, EmployeeView employeeView, string payCode);