Example #1
0
        public void GetByFilter_Tester()
        {
            ISourceCodeRepository sourceCodeRepository = new SourceCodeRepository();
            long totalRecords = 0;
            var  filter       = new SourceCodeListModelFilter {
                SourceCodeName = "Sand"
            };
            var records = sourceCodeRepository.GetbyFilter(filter, 1, 25, out totalRecords);

            Assert.IsNotNull(records);
            Assert.IsNotEmpty(records.ToArray());
        }
Example #2
0
        public IEnumerable <SourceCode> GetbyFilter(SourceCodeListModelFilter filter, int pageNumber, int pageSize, out long totalRecords)
        {
            using (var adapter = PersistenceLayer.GetDataAccessAdapter())
            {
                var linqMetaData = new LinqMetaData(adapter);
                if (filter == null)
                {
                    var entities =
                        linqMetaData.Coupons.OrderByDescending(c => c.DateModified ?? c.DateCreated).TakePage(pageNumber, pageSize).WithPath(path => path.Prefetch(ce => ce.CouponSignUpMode)
                                                                                                                                             .Prefetch(ce => ce.PackageSourceCodeDiscount)
                                                                                                                                             .Prefetch(ce => ce.TestSourceCodeDiscount)
                                                                                                                                             .Prefetch(ce => ce.ProductSourceCodeDiscount)
                                                                                                                                             .Prefetch(ce => ce.ShippingOptionSourceCodeDiscount)).ToArray();

                    totalRecords = linqMetaData.Coupons.Count();

                    return(_mapper.MapMultiple(entities));
                }
                else
                {
                    var query = from c in linqMetaData.Coupons select c;
                    if (!string.IsNullOrEmpty(filter.SourceCodeName))
                    {
                        query = from c in query where c.CouponCode.Contains(filter.SourceCodeName) select c;
                    }

                    if (filter.SourceCodeTypeId > 0)
                    {
                        query = from c in query where c.CouponTypeId == filter.SourceCodeTypeId select c;
                    }

                    totalRecords = query.Count();

                    var entities =
                        query.OrderByDescending(c => c.DateModified ?? c.DateCreated).TakePage(pageNumber, pageSize).WithPath(path => path.Prefetch(ce => ce.CouponSignUpMode)
                                                                                                                              .Prefetch(ce => ce.PackageSourceCodeDiscount)
                                                                                                                              .Prefetch(ce => ce.TestSourceCodeDiscount)
                                                                                                                              .Prefetch(ce => ce.ProductSourceCodeDiscount)
                                                                                                                              .Prefetch(ce => ce.ShippingOptionSourceCodeDiscount)).ToArray();

                    return(_mapper.MapMultiple(entities));
                }
            }
        }
Example #3
0
        public ActionResult Index(SourceCodeListModelFilter filter = null, int pageNumber = 1)
        {
            long totalRecords = 0;
            var  model        = _sourceCodeService.Get(filter, pageNumber, _pageSize, out totalRecords) ??
                                new SourceCodeListModel();

            if (filter == null)
            {
                filter = new SourceCodeListModelFilter();
            }

            model.Filter = filter;

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

            model.PagingModel = new PagingModel(pageNumber, _pageSize, (int)totalRecords, urlFunc);

            return(View(model));
        }