Ejemplo n.º 1
0
        private void prepWork(ViewModels.WorkViewModel vm)
        {
            var cycles = GetPayCycles();
            int cycle  = int.Parse(cycles.First().Value);

            vm.Jobs = _WorkRepo.GetJobs("- Select -").Select(x => new SelectListItem {
                Text = x.Descr, Value = x.Id.ToString()
            });
            vm.WorkTypes = _LookupRepo.GetLookups("WorkType", "- Select -").Select(x => new SelectListItem {
                Text = x.Descr, Value = x.Id.ToString()
            });
            vm.PayCycles = cycles;
            if (vm.SelectedCycle == 0)
            {
                vm.SelectedCycle = cycle;
            }
            vm.WorkEntries = _WorkRepo.GetWork(vm.Contractor.Id, vm.SelectedCycle, true);
            if (vm.EditWork == null)
            {
                vm.EditWork = new Domain.Work {
                    ContractorId = vm.Contractor.Id, WorkDay = DateRef.GetWorkDay(DateTime.Today)
                };
            }
            vm.EditDays = GetEditDays(vm.SelectedCycle);
        }
Ejemplo n.º 2
0
        private void prepWork(Models.WorkViewModel vm, bool clearEdit = false)
        {
            var cycles = GetPayCycles();
            int cycle  = int.Parse(cycles.First().Value);

            vm.WorkTypes = LookupRepo.GetLookups("WorkType", "- Select -").Select(x => new SelectListItem {
                Text = x.Descr, Value = x.Id.ToString()
            });
            vm.PayCycles     = cycles;
            vm.IsCycleOpen   = false;
            vm.CanCloseCycle = true;
            if (vm.SelectedCycle == 0)
            {
                vm.SelectedCycle = cycle;
            }
            if (vm.SelectedCycle == cycle)
            {
                vm.IsCycleOpen   = true;
                vm.CanCloseCycle = false;
            }

            vm.Jobs = _JobRepo.GetJobsForWork(vm.SelectedContractorId, vm.SelectedCycle).Select(x => new SelectListItem {
                Text = x.Descr, Value = x.Id.ToString()
            });

            vm.WorkEntries = _WorkRepo.GetWork(vm.SelectedContractorId, vm.SelectedCycle, true);
            if (vm.SortByJob)
            {
                vm.WorkEntries = vm.WorkEntries.OrderBy(x => x.Job).ThenBy(x => x.WorkDay);
            }
            if (vm.EditWork == null)
            {
                vm.EditWork = new TimeCard.Domain.Work {
                    ContractorId = vm.SelectedContractorId, WorkDay = DateRef.GetWorkDay(DateTime.Today)
                };
            }
            if (clearEdit)
            {
                vm.EditWork = new TimeCard.Domain.Work {
                    ContractorId = vm.SelectedContractorId, WorkDay = vm.EditWork.WorkDay, JobId = vm.EditWork.JobId, WorkType = vm.EditWork.WorkType
                };
            }
            vm.EditDays    = GetEditDays(vm.SelectedCycle);
            vm.DailyTotals = new decimal[2][];
            for (int i = 0; i < 2; i++)
            {
                vm.DailyTotals[i] = new decimal[8];
                for (int j = 0; j < 7; j++)
                {
                    vm.DailyTotals[i][j]  = vm.WorkEntries.Where(x => x.WeekDay == j + i * 7).Sum(x => x.Hours);
                    vm.DailyTotals[i][7] += vm.DailyTotals[i][j];
                }
            }

            if (!vm.IsCycleOpen)
            {
                vm.IsCycleOpen = _WorkRepo.GetWorkOpen(vm.SelectedContractorId).Any(x => x == vm.SelectedCycle);
            }
        }
Ejemplo n.º 3
0
        private IEnumerable <SelectListItem> GetPayCycles()
        {
            var thisCycle = decimal.Floor(DateRef.GetWorkDay(DateTime.Today));

            return(Enumerable.Range(0, 15).Select(x => new SelectListItem {
                Text = $"{DateRef.PeriodEndDate(thisCycle - x):MM/dd/yyyy}", Value = (thisCycle - x).ToString()
            }));
        }
Ejemplo n.º 4
0
        public override string ToString()
        {
            int cycle = (int)Decimal.Floor(WorkDay);

            if (cycle == 0)
            {
                return("- Select -");
            }
            else
            {
                return($"{ DateRef.PeriodEndDate(WorkDay):MM/dd/yyyy} {Hours:n2}");
            }
        }
Ejemplo n.º 5
0
 private IEnumerable <SelectListItem> GetEditDays(int thisCycle)
 {
     return(Enumerable.Range(0, 14).Select(x => new SelectListItem {
         Text = $"{DateRef.GetWorkDate(thisCycle + (decimal)x / 100):MM/dd}", Value = (thisCycle + (decimal)x / 100).ToString()
     }));
 }