Esempio n. 1
0
        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;
        }
Esempio n. 2
0
        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);
        }
Esempio n. 3
0
        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;
        }
Esempio n. 4
0
 public override IDealResponse GetDeals(IDealRequest request)
 {
     return base.GetDeals(request);
 }