//GetByCriterias
        private List <AuctionShort> GetByCriterias(string lot, string title, int sortby, bool ordrby, long event_id,
                                                   int pageindex, int pagesize, out int?totalrecord)
        {
            title = String.IsNullOrEmpty(title) ? String.Empty : title.Replace(" ", "%");
            var dco = new DataCacheObject(DataCacheType.RESOURCE, DataCacheRegions.AUCTIONLISTS, "GETBYCRITERIAS",
                                          new object[] { lot, title, sortby, ordrby, event_id, pageindex, pagesize },
                                          CachingExpirationTime.Seconds_30);
            var result = CacheRepository.Get(dco) as TableViewResult;

            if (result != null && result.TotalRecords > 0)
            {
                totalrecord = result.TotalRecords;
                return(result.Records);
            }
            result      = new TableViewResult();
            totalrecord = 0;
            dataContext.CommandTimeout = 600000;
            result.Records             =
                (from p in
                 dataContext.spAuction_View_Search(event_id, lot, title, String.Empty, -1, -1, sortby - 1, ordrby,
                                                   pageindex, pagesize, ref totalrecord)
                 select new AuctionShort
            {
                Bids = p.Bids.GetValueOrDefault(0),
                CurrentBid = p.CurrentBid.GetValueOrDefault(0),
                Estimate = p.Estimate,
                IsBold = p.IsBold.GetValueOrDefault(false),
                IsFeatured = p.IsFeatured.GetValueOrDefault(false),
                IsUnsoldOrPulledOut =
                    p.IsUnsold.GetValueOrDefault(false) || p.IsPulledOut.GetValueOrDefault(false),
                LinkParams =
                    new LinkParams
                {
                    ID = p.Auction_ID.GetValueOrDefault(0),
                    EventTitle = p.EventTitle,
                    MainCategoryTitle = p.MainCategoryTitle,
                    CategoryTitle = p.CategoryTitle
                },
                Lot = p.Lot.HasValue ? p.Lot.Value : (short)0,
                Price = p.Price.GetValueOrDefault(0),
                PriceRealized = p.PriceRealized.GetValueOrDefault(0),
                PulledOut = p.IsPulledOut.GetValueOrDefault(false),
                Status = p.AuctionStatus.GetValueOrDefault(0),
                ThumbnailPath = p.ThumbnailPath,
                Title = p.Title,
                UnsoldOrPulledOut = p.IsUnsold.GetValueOrDefault(false) ? "UNSOLD" : "WITHDRAWN"
            }).ToList();
            result.TotalRecords = totalrecord.GetValueOrDefault(0);
            if (result.TotalRecords > 0)
            {
                dco.Data = result;
                CacheRepository.Add(dco);
            }
            return(result.Records);
        }