public virtual IDealResponse GetDeals(IDealRequest request) { Uri feedUri = new Uri(this.FeedURL); XmlReader reader = XmlReader.Create(feedUri.ToString()); SyndicationFeed feed = null; List<DealItem> dealItems = new List<DealItem>(); try { feed = SyndicationFeed.Load(reader); } catch (Exception) { throw; } if (feed != null) { IEnumerable<SyndicationItem> syndicationItems = feed.Items; foreach (SyndicationItem syndicationItem in syndicationItems) { DealItem item = new DealItem(); item.Title = syndicationItem.Title.Text; item.URI = syndicationItem.Links[0].Uri; dealItems.Add(item); } } DealResponse response = new DealResponse { DealItems = dealItems }; return response; }
public static IDealResponse GetDeals(IDealRequest request) { string dealSiteName = request.Name; if (string.IsNullOrWhiteSpace(dealSiteName)) { throw new Exception("Site Name cannot be empty"); } IDealProvider dealProvider = DealSiteFactory.GetProvider(request); return dealProvider.GetDeals(request); }
internal static IDealProvider GetProvider(IDealRequest request) { DealProviderSection section = (DealProviderSection)System.Configuration.ConfigurationManager.GetSection("DealProvidersSection"); IDealProvider provider = null; foreach (DealProviderElement v in section.DealProviders) { if (v.Name.Equals(request.Name, StringComparison.InvariantCultureIgnoreCase)) { provider = (IDealProvider)BuildProvider(v.ProviderAssemblyName, v.ProviderClass); provider.FeedURL = v.FeedUrl; provider.Name = v.Name; provider.ConfigFile = v.ConfigurationFile; } } return provider; }
public override IDealResponse GetDeals(IDealRequest request) { return base.GetDeals(request); }