public CatalogResult GetCatalog(int pageSize, string search = null, int page = 0, int?category = null) { CatalogResult catalogPager = new CatalogResult(); using (var onlineShopContext = new OnlineShopWebEntities()) { var products = onlineShopContext.Product.Where(x => (category == null || x.CategoryId == category) && (search == null || x.Name.Contains(search))).OrderBy(x => x.Id); catalogPager.MoreResults = products.Count() - (pageSize * (page + 1)); var pageProducts = products.Skip(pageSize * page).Take(pageSize); catalogPager.Products = AutoMapper.Mapper.Map <IEnumerable <Product>, IEnumerable <ProductView> >(pageProducts); } return(catalogPager); }
public CatalogResult Catalog([FromUri] CatalogParam param) { if (param == null) { throw new System.ArgumentNullException("param"); } if (param.dp != null) { param.d = null; } WebPartner partner = UserToolsProvider.GetPartner(param); if (!param.StartPoint.HasValue && param.StartPointAlias != null) { param.sp = new int?(CatalogProvider.GetGeoPointIdByAlias(param.StartPointAlias)); } ExcursionProvider.ExcursionSorting sorting = (!string.IsNullOrEmpty(param.SortOrder)) ? ((ExcursionProvider.ExcursionSorting)System.Enum.Parse(typeof(ExcursionProvider.ExcursionSorting), param.SortOrder)) : ExcursionProvider.ExcursionSorting.name; //получить id экскурсий в регионе //фильтровать по id CatalogResult result = new CatalogResult(); result.excursions = ExcursionProvider.FindExcursions(param.Language, partner.id, param.FirstDate, param.LastDate, param.SearchLimit, param.StartPoint, param.SearchText, param.Categories, param.Departures, (param.Destinations != null && param.Destinations.Length > 0) ? param.Destinations : (param.DestinationState.HasValue ? new int[] { param.DestinationState.Value } : null), param.ExcursionLanguages, param.MinDuration, param.MaxDuration, new ExcursionProvider.ExcursionSorting?(sorting), param.WithoutPrice); System.Collections.Generic.Dictionary <int, ExcursionRank> rankings = SurveyProvider.GetExcursionsRanking(( from m in result.excursions select m.excursion.id).ToList <int>(), param.Language); foreach (CatalogExcursionMinPrice excursion in result.excursions) { ExcursionRank rank = null; if (rankings.TryGetValue(excursion.excursion.id, out rank)) { excursion.ranking = CatalogExcursionRanking.Create(rank, param.Language); } } return(result); }
public CommerceAnalyticsServiceTests() { this.fixture = new Fixture().Customize(new AutoDbCustomization()); this.storefrontContext = Substitute.For <IStorefrontContext>(); this.storefrontContext.ShopName.Returns(this.fixture.Create <string>()); var successfulResult = new CatalogResult { Success = true }; this.analyticsManager = Substitute.For <IAnalyticsManager>(); this.analyticsManager.VisitedCategoryPage(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()) .Returns(successfulResult); this.analyticsManager.VisitedProductDetailsPage(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <string>()) .Returns(successfulResult); this.analyticsManager.SearchInitiated(Arg.Any <string>(), Arg.Any <string>(), Arg.Any <int>()) .Returns(successfulResult); }
public string GetCatalog(string name, out long cacheTimeStamp, out long clientCacheTimeStamp, out bool cacheChanged) { try { var channel = GetServiceInterface(); IAsyncResult result = channel.BeginGetCatalog(ProcessHandle, name, null, null); result.AsyncWaitHandle.WaitOne(); CatalogResult catalogResult = channel.EndGetCatalog(result); cacheTimeStamp = catalogResult.CacheTimeStamp; clientCacheTimeStamp = catalogResult.ClientCacheTimeStamp; cacheChanged = catalogResult.CacheChanged; return(catalogResult.Catalog); } catch (FaultException <DataphorFault> fault) { throw DataphorFaultUtility.FaultToException(fault.Detail); } catch (CommunicationException ce) { ReportCommunicationError(); throw new ServerException(ServerException.Codes.CommunicationFailure, ErrorSeverity.Environment, ce); } }
public void OnGetCatalogComplete(ResultContainer resultContainer) { var result = new CatalogResult(resultContainer); CallbackManager.OnFacebookResponse(result); }