Exemplo n.º 1
0
        public static string UrlString(string title, MediumCategory category)
        {
            string baseUrl        = "https://iffr.com/nl/" + AppDelegate.FestivalYear + "/" + FolderByCategory[category] + "/";
            var    quotes         = @"['`""]";
            var    disposables    = @"[./()?]";
            var    strippables    = @"(" + quotes + @"+\s*)|" + disposables + @"+";
            var    reStrip        = new Regex(strippables, RegexOptions.CultureInvariant);
            var    strippedTitle  = reStrip.Replace(title.ToLowerInvariant(), "");
            var    extraWordChars = @"[–★]";
            var    nonWords       = @"[\W-" + extraWordChars + "]+";
            var    reReplace      = new Regex(nonWords, RegexOptions.CultureInvariant); // space or connector punctuation.
            var    result         = baseUrl + reReplace.Replace(strippedTitle, "-");

            return(result);
        }
Exemplo n.º 2
0
        public IActionResult Detail(string title)
        {
            MediumpageModels      mediumpageModels = new MediumpageModels();
            List <MediumModels>   mediumModel      = new List <MediumModels>();
            List <MediumCategory> blogCategory     = new List <MediumCategory>();

            try
            {
                mediumpageModels.Mediumpage = _mediumpageDal.GetAll().Where(i => i.isApproved == true).FirstOrDefault();
            }
            catch (Exception)
            {
                mediumpageModels.Mediumpage = null;
            }
            try
            {
                XNamespace content    = "http://purl.org/rss/1.0/modules/content/";
                string     url        = "https://medium.com/feed/@" + mediumpageModels.Mediumpage.MediumUsername;
                var        httpClient = new HttpClient();
                XDocument  xDoc       = new XDocument();
                xDoc = XDocument.Load(url);
                var items = (from x in xDoc.Descendants("item")
                             select new
                {
                    title = x.Element("title").Value,
                    link = x.Element("link").Value,
                    pubDate = x.Element("pubDate").Value,
                    content = x.Element(content + "encoded").Value,
                    categories = x.Elements("category").ToList()
                });
                foreach (var item in items)
                {
                    MediumModels model = new MediumModels
                    {
                        Title       = item.title,
                        Link        = item.link,
                        Date        = item.pubDate,
                        Content     = item.content,
                        LinkProfile = xDoc.Descendants("link").FirstOrDefault().Value
                    };
                    foreach (var a in item.categories)
                    {
                        MediumCategory category = new MediumCategory
                        {
                            Name = a.Value
                        };
                        blogCategory.Add(category);
                    }
                    ;
                    mediumpageModels.MediumCategories = blogCategory;
                    mediumModel.Add(model);
                    mediumpageModels.Medium = mediumModel.Where(i => EF.Functions.Like(i.Title, "%" + title + "%")).ToList();
                }
                //ViewBag.image = getBetween(mediumModel.Where(i => EF.Functions.Like(i.Title, "%" + title + "%")).FirstOrDefault().Content, @"src=", @"/>");
                return(View(mediumpageModels));
            }
            catch (Exception)
            {
                mediumpageModels.MediumCategories = null;
                mediumModel             = null;
                mediumpageModels.Medium = null;
                return(View(mediumpageModels));
            }
        }