public IEnumerable <PayPeriod> GetByFilter(PayPeriodFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            using (var myAdapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(myAdapter);

                var query = (from pp in linqMetaData.PayPeriod select pp);

                if (filter.StartDate.HasValue)
                {
                    query = (from q in query where q.StartDate >= filter.StartDate.Value select q);
                }
                if (filter.NumberOfWeek > 0)
                {
                    query = (from q in query where q.NumberOfWeeks >= filter.NumberOfWeek select q);
                }
                var entities = (from q in query orderby q.StartDate select q);

                totalRecords = entities.Count();

                var finalEntities = entities.TakePage(pageNumber, pageSize).ToArray();

                return(Mapper.Map <IEnumerable <PayPeriodEntity>, IEnumerable <PayPeriod> >(finalEntities));
            }
        }
Beispiel #2
0
        public ActionResult Index(PayPeriodFilter filter = null, int pageNumber = 1)
        {
            int totalRecords;
            var model = _payPeriodService.Get(filter, pageNumber, _pageSize, out totalRecords) ?? new PayPeriodListModel();

            filter = filter ?? new PayPeriodFilter();

            model.Filter = filter;

            var currentAction          = ControllerContext.RouteData.Values["action"].ToString();
            Func <int, string> urlFunc = pn => Url.Action(currentAction,
                                                          new
            {
                pageNumber = pn,
                filter.StartDate
            });

            model.PagingModel = new PagingModel(pageNumber, _pageSize, totalRecords, urlFunc);
            return(View(model));
        }
Beispiel #3
0
        public PayPeriodListModel Get(PayPeriodFilter filter, int pageNumber, int pageSize, out int totalRecords)
        {
            var payPeriod           = _payPeriodRepository.GetByFilter(filter, pageNumber, pageSize, out totalRecords);
            var payPeriodCritirieas = _payPeriodCriteriaRepository.GetByPayPeriodId(payPeriod.Select(x => x.Id).ToArray());
            var list = new List <long>();

            list.AddRange(payPeriod.Select(x => x.CreatedBy));
            list.AddRange(payPeriod.Where(x => x.ModifiedBy.HasValue).Select(x => x.ModifiedBy.Value));
            var userNamePair = _organizationRoleUserRepository.GetNameIdPairofUsers(list.ToArray());

            var listModel = new PayPeriodListModel();

            var collection = _payPeriodFactory.CreateViewModel(payPeriod, payPeriodCritirieas, userNamePair);

            collection = SetActivePayPeriod(collection);

            listModel.Collection = collection;
            listModel.Filter     = filter;

            return(listModel);
        }