public ActionResult List(PagerRequest request, PointListSearchOption search)
        {
            int totalCount;
            var data = _pointRepository.Get(e => (!search.UId.HasValue || e.User_Id == search.UId.Value)
                                                  && e.Status != (int)DataStatus.Deleted
                                                  && (!search.PSourceType.HasValue || e.PointSourceType == (int)search.PSourceType.Value)
                                                  && (!search.PSourceId.HasValue || e.PointSourceId == (int)search.PSourceId.Value)
                                                  && (!search.PType.HasValue || e.Type == (int)search.PType.Value)

                                            , out totalCount
                                            , request.PageIndex
                                            , request.PageSize
                                            , e =>
                                            {
                                                if (!search.OrderBy.HasValue)
                                                    return e.OrderByDescending(o => o.CreatedDate);
                                                else
                                                {
                                                    switch (search.OrderBy.Value)
                                                    {
                                                        case GenericOrder.OrderByCreateUser:
                                                            return e.OrderByDescending(o => o.CreatedUser);
                                                        case GenericOrder.OrderByName:
                                                            return e.OrderByDescending(o => o.Name);
                                                        case GenericOrder.OrderByCreateDate:
                                                        default:
                                                            return e.OrderByDescending(o => o.CreatedDate);

                                                    }
                                                }
                                            });
            
            var vo = MappingManager.PointViewMapping(data.ToList());

            var v = new PointCollectionViewModel(request, totalCount) { Points = vo.ToList() };

            return View("List", v);
        }
 public ActionResult Index(PagerRequest request, PointListSearchOption search)
 {
     return List(request, search);
 }