示例#1
0
        public PayPeriodEditModel GetEditModel(long payPeriodId)
        {
            if (payPeriodId < 1)
            {
                return(new PayPeriodEditModel());
            }

            var payPeriod         = _payPeriodRepository.GetById(payPeriodId);
            var payPeriodCriteria = _payPeriodCriteriaRepository.GetByPayPeriodId(payPeriodId);
            var editModel         = _payPeriodFactory.CreateModel(payPeriod);

            if (!payPeriodCriteria.IsNullOrEmpty())
            {
                var list  = new List <PayPeriodCriteriaEditModel>();
                var index = 0;
                foreach (var criteria in payPeriodCriteria)
                {
                    var criteriaEditModel = _payPeriodFactory.CreateCriteriaModel(criteria);
                    criteriaEditModel.Index = index++;
                    list.Add(criteriaEditModel);
                }

                editModel.Criteria = list;
            }

            return(editModel);
        }
示例#2
0
        public JsonResult GetRangeForPayPeriod(long payPeriodId)
        {
            var dropDownList = new List <SelectListItem>();

            dropDownList.Add(new SelectListItem {
                Text = "-- Select --", Value = ""
            });

            if (payPeriodId <= 0)
            {
                return(Json(dropDownList));
            }

            var payPeriod = _payPeriodRepository.GetById(payPeriodId);

            var nextPayPeriod     = _payPeriodRepository.GetNextPublishedPayPeriod(payPeriod.StartDate);
            var startDate         = payPeriod.StartDate;
            var nextEffectiveDate = DateTime.Today;

            if (nextPayPeriod != null)
            {
                nextEffectiveDate = nextPayPeriod.StartDate > DateTime.Today ? DateTime.Today : nextPayPeriod.StartDate;
            }

            while (startDate < nextEffectiveDate)
            {
                var endDate = startDate.AddDays((7 * payPeriod.NumberOfWeeks) - 1);
                dropDownList.Add(new SelectListItem {
                    Text = startDate.ToString("MM/dd/yyyy") + " - " + endDate.ToString("MM/dd/yyyy"), Value = startDate.ToString("MM/dd/yyyy") + "-" + endDate.ToString("MM/dd/yyyy")
                });
                startDate = endDate.AddDays(1);
            }

            return(Json(dropDownList));
        }
        public ListModelBase <PayPeriodBookedCustomerViewModel, PayPeriodBookedCustomerFilter> GetPayPeriodAppointmentBooked(int pageNumber, int pageSize, ModelFilterBase filter, out int totalRecords)
        {
            var payPeriodBookedCustomerFilter = filter != null ? filter as PayPeriodBookedCustomerFilter : new PayPeriodBookedCustomerFilter();
            var eventCustomers = _eventCustomerRepository.GetPayPeriodBookedCustomers(pageNumber, pageSize, payPeriodBookedCustomerFilter, out totalRecords);

            if (eventCustomers.IsNullOrEmpty())
            {
                return(null);
            }

            var appointments = _appointmentRepository.GetByIds(eventCustomers.Where(ec => ec.AppointmentId.HasValue).Select(ec => ec.AppointmentId.Value).ToList());
            var eventIds     = eventCustomers.Select(ec => ec.EventId).Distinct().ToArray();
            var model        = _eventReportingService.GetEventVolumeModel(eventCustomers.Select(ec => ec.EventId).Distinct().ToArray());

            var customers = _customerRepository.GetCustomers(eventCustomers.Select(ec => ec.CustomerId).Distinct().ToArray());
            //var customerIds = customers.Select(x => x.CustomerId);
            var orders = _orderRepository.GetAllOrdersByEventCustomerIds(eventCustomers.Select(ec => ec.Id).ToArray(), true);

            var eventPackages = _eventPackageRepository.GetbyEventIds(eventIds);
            var eventTests    = _eventTestRepository.GetByEventIds(eventIds);

            var orgRoleUserIds = eventCustomers.Where(ec => ec.DataRecorderMetaData != null && ec.DataRecorderMetaData.DataRecorderCreator != null).Select(ec => ec.DataRecorderMetaData.DataRecorderCreator.Id).ToList();
            var registeredbyAgentNameIdPair = _organizationRoleUserRepository.GetNameIdPairofUsers(orgRoleUserIds.ToArray()).ToArray();

            var payPeriod = _payPeriodRepository.GetById(payPeriodBookedCustomerFilter.PayPeriodId);

            payPeriodBookedCustomerFilter.EffectiveDate = payPeriod.StartDate;
            payPeriodBookedCustomerFilter.NumberOfWeek  = payPeriod.NumberOfWeeks;

            var listModel = _payPeriodBookedCustomerFactory.Create(eventCustomers, appointments, orders, model, customers, eventPackages, eventTests);

            listModel.RegisteredBy = registeredbyAgentNameIdPair.Any() ? registeredbyAgentNameIdPair.First().SecondValue : "";
            listModel.Filter       = payPeriodBookedCustomerFilter;
            return(listModel);
        }