public ContentResult RSS() { MetaTagModel mtaTagModel = new MetaTagModel(); mtaTagModel = _optionService.GetByCulterMetaTag(); var items = GetRssFeed(); var rss = new XDocument(new XDeclaration("1.0", "utf-8", "yes"), new XElement("rss", new XAttribute("version", "2.0"), new XElement("channel", new XElement("title", string.Format("آخرین مطالب {0}", mtaTagModel.Title)), new XElement("link", "http://" + Request.Url.Host + "/rss"), new XElement("description", string.Format("آخرین مطالب {0}", mtaTagModel.Title)), new XElement(string.Format("copyright", "(c)" + DateTime.Now.Year + ", {0} .تمامی حقوق محفوظ است", mtaTagModel.Title)), from item in items select new XElement("item", new XElement("title", item.title), new XElement("description", item.description), new XElement("link", item.link), new XElement("pubDate", item.pubDate.ToUniversalTime().ToString("r")) ) ) ) ); return(Content(rss.ToString(), "text/xml")); }
public static MetaTagModel MergeViewWithModelMetaTag(MetaTagModel model, MetaTagView view) { model.Content = view.Content; model.Name = view.Name; return(model); }
public HttpResponseMessage AddMetaTagToTitle(MetaTagModel metaTagModel) { if (metaTagModel.MetaTagType != 7 && metaTagModel.MetaTagType != 8 && metaTagModel.MetaTagType != 9) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Metatag Type. Please check the Documentation and try again")); } Guid output; var isValid = Guid.TryParse(metaTagModel.TitleId, out output); if (!isValid) { return(Request.CreateResponse(HttpStatusCode.BadRequest, "Invalid Title Id.")); } var title = _titleService.GetById(output); if (title == null) { return(Request.CreateResponse(HttpStatusCode.NotFound, "Title not Found")); } var tag = new TitleMetaValue { TitleId = title.Id, Value = metaTagModel.Value, ValueTypeId = metaTagModel.MetaTagType }; _titleMetaValueService.Create(tag); return(Request.CreateResponse(HttpStatusCode.Created, "Success.")); }
public virtual ActionResult MetaTag() { MetaTagModel mtaTagModel = new MetaTagModel(); mtaTagModel = _optionService.GetByCulterMetaTag(); return(PartialView("MetaTag", mtaTagModel)); }
public static MetaTagView ConvertToViewMetaTag(MetaTagModel result) { var metaTagView = new MetaTagView { Name = result.Name, Content = result.Content }; return(metaTagView); }
public static MetaTagModel ConvertToModelMetaTag(MetaTagView result) { var metaTagModel = new MetaTagModel { Name = result.Name, Content = result.Content }; return(metaTagModel); }
public MetaTagModel GetByCulterMetaTag() { var option = _option.ToList(); MetaTagModel metaTagModel = new MetaTagModel(); string cultur = CultureHelper.GetCurrentNeutralCulture(); if (option.Where(x => x.Name == "MetaTag").Any()) { metaTagModel.MetaDescription = option.Where(x => x.Name == "MetaTag").FirstOrDefault().Value; } switch (cultur) { case "fa": if (option.Where(x => x.Name == "WebSiteNameFa").Any()) { metaTagModel.Title = option.Where(x => x.Name == "WebSiteNameFa").FirstOrDefault().Value; } break; case "en": if (option.Where(x => x.Name == "WebSiteNameFa").Any()) { metaTagModel.Title = option.Where(x => x.Name == "WebSiteNameFa").FirstOrDefault().Value; } break; case "ar": if (option.Where(x => x.Name == "WebSiteNameFa").Any()) { metaTagModel.Title = option.Where(x => x.Name == "WebSiteNameFa").FirstOrDefault().Value; } break; case "ru": if (option.Where(x => x.Name == "WebSiteNameFa").Any()) { metaTagModel.Title = option.Where(x => x.Name == "WebSiteNameFa").FirstOrDefault().Value; } break; } return(metaTagModel); }
private static MetadataModel GetMetadata(IDocument htmlDocument) { var metadataModel = new MetadataModel(); if (htmlDocument == null) { return(metadataModel); } var metaTags = htmlDocument.GetElementsByTagName("meta"); foreach (var metaTag in metaTags) { var metaTagModel = new MetaTagModel { Html = metaTag.OuterHtml, Attributes = metaTag.Attributes.ToDictionary(x => x.Name, x => x.Value) }; metadataModel.MetaTags.Add(metaTagModel); // Check Property Value var propertyValue = metaTag .Attributes .FirstOrDefault(x => x.Name.ToLowerInvariant() == "property") ?.Value; // Check Name Value var nameValue = metaTag .Attributes .FirstOrDefault(x => x.Name.ToLowerInvariant() == "name") ?.Value; if (string.IsNullOrWhiteSpace(propertyValue) && string.IsNullOrWhiteSpace(nameValue)) { continue; } var contentValue = metaTag .Attributes .FirstOrDefault(x => x.Name.ToLowerInvariant() == "content") ?.Value; switch (propertyValue ?? nameValue) { case "og:url": { metadataModel.Url = contentValue; break; } case "og:title": { metadataModel.Title = contentValue; break; } case "og:description": { metadataModel.Description = contentValue; break; } case "og:image": { metadataModel.Image = contentValue; break; } case "og:video": { metadataModel.Image = contentValue; break; } case "og:type": { metadataModel.Type = contentValue; break; } case "og:locale": { metadataModel.Locale = contentValue; break; } case "og:site_name": { metadataModel.SiteName = contentValue; break; } case "author": { metadataModel.Author = contentValue; break; } } } metadataModel.Title = string.IsNullOrWhiteSpace(metadataModel.Title) ? htmlDocument.Title : metadataModel.Title; metadataModel.Url = string.IsNullOrWhiteSpace(metadataModel.Url) ? htmlDocument.Url : metadataModel.Url; return(metadataModel); }
public async Task <bool> CreateMetaTag(MetaTagModel metaTag) { await _context.MetaTags.AddAsync(metaTag); return(await _context.SaveChangesAsync() > 0); }
public async Task <bool> UpdateMetaTag(MetaTagModel metaTag) { _context.MetaTags.Update(metaTag); return(await _context.SaveChangesAsync() > 0); }