public IActionResult NewsDetail(string newsSlug) { if (newsSlug == null) { return(RedirectToAction("Error")); } var findNews = _newsService.GetWeb(newsSlug); if (findNews == null) { return(RedirectToAction("Error")); } var findCategoriesOfNews = _newsService.GetNewsCategories(findNews.Id); NewsDetailViewModel viewModel = new NewsDetailViewModel { Name = findNews.Name, Description = findNews.Description, ImageUrl = findNews.ImageUrl, EditorContent = findNews.EditorContent, Categories = findCategoriesOfNews }; return(View(viewModel)); }
public async Task <IActionResult> Update(NewsDetailViewModel vm) { if (!ModelState.IsValid) { MergeToModelStateTransfers(vm); TempData.Put(TEMP_NEWS_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail), new { newsId = vm.NewsId })); } var condition = _mapper.MapToNewsPutCondition(vm); SetPutConditionBase(condition); var result = _service.Update(condition); if (result.Succeeded) { TempLastUpdatedAt = result.LastUpdatedAt; } else { SetMessages(vm, result); TempData.Put(TEMP_NEWS_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail), new { newsId = vm.NewsId })); } SetMessages(vm, result); TempData.Put(TEMP_NEWS_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail), new { newsId = vm.NewsId })); }
public NewsDetailPage(Models.News news) { InitializeComponent(); viewModel = new ViewModels.NewsDetailViewModel(news); this.BindingContext = viewModel; web.Source = new HtmlWebViewSource() { Html = news.HtmlContent }; }
public async Task <IActionResult> Detail(string newsId) { var vm = new NewsDetailViewModel(); //PostBack時 if (TempData.ContainsKey(TEMP_NEWS_DETAIL_KEY)) { vm = TempData.Get <NewsDetailViewModel>(TEMP_NEWS_DETAIL_KEY); MergeToModelState(vm); if (vm.PDFFileJson != null) { BlobInfoModel blob = JsonConvert.DeserializeObject <BlobInfoModel>(vm.PDFFileJson); } if (vm.PDFFileEngJson != null) { BlobInfoModel blob = JsonConvert.DeserializeObject <BlobInfoModel>(vm.PDFFileEngJson); } return(View(vm)); } //更新の場合 if (!string.IsNullOrEmpty(newsId) && int.TryParse(newsId, out var id)) { var condition = await _service.GetByNewsId(id); TempLastUpdatedAt = condition.LastUpdatedAt; vm = _mapper.MapToNewsDetailViewModel(condition); if (condition.NewsBlobId != null) { var blobInfo = new BlobInfoModel { BlobId = condition.NewsBlobId, BlobName = condition.NewsBlobName, FileName = condition.NewsDocumentName }; string PDFJSON = JsonConvert.SerializeObject(blobInfo); vm.PDFFileJson = PDFJSON; } if (condition.NewsBlobIdEng != null) { var blobInfo = new BlobInfoModel { BlobId = condition.NewsBlobIdEng, BlobName = condition.NewsBlobNameEng, FileName = condition.NewsDocumentNameEng }; string PDFJSONENG = JsonConvert.SerializeObject(blobInfo); vm.PDFFileEngJson = PDFJSONENG; } return(View(vm)); } else { return(View(vm)); } }
public NewsDetailPage() { InitializeComponent(); var item = new Item { Text = "Item 1", Description = "This is an item description." }; viewModel = new NewsDetailViewModel(item); BindingContext = viewModel; }
public IActionResult NewsDetail() { var id = RouteData.Values["id"]?.ToString(); int.TryParse(id, out int idInt); var viewmodel = new NewsDetailViewModel(); var newEntity = this.InstanceRepository.NewsRepository.GetAll() .Include("NewsLanguages.NewsLanguageImages").FirstOrDefault(x => x.Id == idInt); var n = Mapper.ToModel(newEntity); if (n != null) { n.NewsLanguages = newEntity?.NewsLanguages.Select(k => { var nl = Mapper.ToModel(k); if (nl != null) { nl.NewsLanguageImages = k?.NewsLanguageImages.Select(Mapper.ToModel).ToList(); } return(nl); }).ToList(); } viewmodel.News = n; var contentEntity = this.InstanceRepository.ContentNewsRepository.GetAll().OrderByDescending(x => x.Language == this.SiteLanguage).FirstOrDefault(); viewmodel.ContentNews = Mapper.ToModel(contentEntity); var relatedItems = this.InstanceRepository.NewsRelatedNewsRepository.GetAll().Include("RelatedNews.NewsLanguages.NewsLanguageImages").Where(x => x.CurrentNewsId == n.Id).OrderBy(x => x.Priority).Take(5).ToList(); viewmodel.RelatedNewses = relatedItems.Select(x => { var nModel = Mapper.ToModel(x.RelatedNews); if (nModel != null) { nModel.NewsLanguages = x?.RelatedNews?.NewsLanguages.Select(k => { var nl = Mapper.ToModel(k); if (nl != null) { nl.NewsLanguageImages = k?.NewsLanguageImages.Select(Mapper.ToModel).ToList(); } return(nl); }).ToList(); } return(nModel); }).ToList(); ViewBag.Tab = "news"; return(View(viewmodel)); }
public static NewsDetailViewModel ToViewModel(this News dto) { NewsDetailViewModel viewModel = null; if (dto != null) { viewModel = new NewsDetailViewModel() { Id = dto.Id.ToString(), Tilte = dto.Title, PublishDate = dto.CreationDate.ToString("dd MMM yyyy"), Text = dto.Body }; } return(viewModel); }
public NewsDetailPage(NewsDetailViewModel viewModel) { InitializeComponent(); Shell.SetTabBarIsVisible(this, false); BindingContext = viewModel; if (Device.RuntimePlatform == Device.iOS) { Shell.SetBackButtonBehavior(this, new BackButtonBehavior() { IconOverride = "back", Command = new Command(() => { Navigation.PopAsync(); }) }); } }
private void CommentButton(object sender, RoutedEventArgs e) { //update boxComment.Visibility = Visibility.Collapsed; string name; IsolatedStorageSettings.ApplicationSettings.TryGetValue <string>("Username", out name); if (name.Length == 0) { MessageBox.Show((String)Application.Current.Resources["Message_1"]); } else { NewsDetailViewModel.instance.ListComment.Add(new ItemComment() { Author = name, CommentString = txtComment.Text.Trim(), DataPost = DateTime.Now }); NewsDetailViewModel.UpdateDB(); } }
public ActionResult Index(NewsDetailPage currentPage) { ViewBag.SubscriptionText = SiteSettingsHandler.Instance.SiteSettings.SubscriptionText + ""; ViewBag.SubscriptionDescription = SiteSettingsHandler.Instance.SiteSettings.SubscriptionDescription + ""; ViewBag.MailChimpApiKey = SiteSettingsHandler.Instance.SiteSettings.MailChimpApiKey + ""; ViewBag.MailChimpListId = SiteSettingsHandler.Instance.SiteSettings.MailChimpListId + ""; ViewBag.SubscriptionUrlPost = SiteSettingsHandler.Instance.SiteSettings.SubcriptionUrlPost + ""; var newsDetailViewModel = new NewsDetailViewModel(currentPage) { RelatedNewsDetailPages = _contentLoader.GetChildren <NewsDetailPage>(currentPage.ParentLink) .Where( x => x != currentPage && DateTime.Compare(x.StartPublish, DateTime.Now) < 0 && DateTime.Compare(x.StopPublish, DateTime.Now) > 0) .OrderByDescending(x => x.StartPublish) .Take(3) }; return(View(newsDetailViewModel)); }
public ActionResult GetFilterNews(string filtertype, int sectionid, int skip) { NewsDetailViewModel NewsDetail = new NewsDetailViewModel(); if (sectionid == 0) { var _newsData = _newsService.GetAllNewsDetail(filtertype, skip, GlobalConst.Records.Take, HCRGUser != null ? HCRGUser.OrganizationID : (Convert.ToInt32(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"])))); NewsDetail.NewsResults = Mapper.Map <IEnumerable <NewsFullDetail> >(_newsData.NewsFullDetailRecords); foreach (NewsFullDetail _newsFullDetail in NewsDetail.NewsResults) { _newsFullDetail.EncryptedNewsID = _encryptionService.EncryptString2(_newsFullDetail.NewsID.ToString()); } NewsDetail.TotalCount = _newsData.TotalCount; } else { var _newsData = _newsService.GetAllNewsDetailByNewsSectionIDAndType(filtertype, sectionid, skip, GlobalConst.Records.Take, HCRGUser != null ? HCRGUser.OrganizationID : (Convert.ToInt32(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"])))); NewsDetail.NewsResults = Mapper.Map <IEnumerable <NewsFullDetail> >(_newsData.NewsFullDetailRecords); foreach (NewsFullDetail _newsFullDetail in NewsDetail.NewsResults) { _newsFullDetail.EncryptedNewsID = _encryptionService.EncryptString2(_newsFullDetail.NewsID.ToString()); } NewsDetail.TotalCount = _newsData.TotalCount; NewsDetail.SectionID = sectionid; } foreach (NewsFullDetail viewmodel in NewsDetail.NewsResults) { viewmodel.NewsDescription = HttpUtility.HtmlDecode(viewmodel.NewsDescription); Regex regex = new Regex("\\<[^\\>]*\\>"); viewmodel.NewsDescription = regex.Replace(viewmodel.NewsDescription, String.Empty); if (viewmodel.NewsDescription.Length > 1000) { viewmodel.NewsDescription = regex.Replace(viewmodel.NewsDescription, String.Empty).Substring(0, 1000); viewmodel.NewsDescription = viewmodel.NewsDescription.Replace(" ", ""); } // viewmodel.NewsDescription = decodedHTML.Replace(GlobalConst.Message.SlashStoragePath, System.Configuration.ConfigurationManager.AppSettings[GlobalConst.Message.StoragePath]); } return(Json(NewsDetail)); }
public IActionResult Delete(NewsDetailViewModel vm) { //再読み込み var condition = _mapper.MapToNewsPutCondition(vm); SetPutConditionBase(condition); var result = _service.Delete(condition); if (result.Succeeded) { TempLastUpdatedAt = result.LastUpdatedAt; } else { SetMessages(vm, result); TempData.Put(TEMP_NEWS_DETAIL_KEY, vm); return(RedirectToAction(nameof(Detail), new { newsId = vm.NewsId })); } //var listvm = new NewsListViewModel(); ////検索条件を保持していれば元に戻す //if (TempData.ContainsKey(TEMP_NEWS_SEARCH_KEY)) //{ // listvm.SearchCondition = TempData.Get<NewsSearchCondition>(TEMP_NEWS_SEARCH_KEY); //} //else //{ // TempData.Clear(); //} //SetMessages(listvm, result); var successMessage = result.SuccessMessage; TempData.Put(TEMP_NEWS_SUCCESS_KEY, successMessage); return(RedirectToAction(nameof(List))); }
public ActionResult Detail(int id) { var model = new NewsDetailViewModel(); var newsDetail = unitOfWork.GetRepository <News>().Find(id); newsDetail.ViewCount += 1; unitOfWork.Save(); //get information model.NewsDetail = newsDetail; model.Category = unitOfWork.GetRepository <Category>().Find(newsDetail.CategoryID); model.HotNewses = unitOfWork.GetRepository <News>() .Filter(x => x.UpTopHot != null && x.LanguageCode.Equals(CultureName) && x.Status == StatusEnumeration.Published) .OrderByDescending(x => x.UpTopHot).Take(5); model.RelatedNewses = unitOfWork.GetRepository <News>() .Filter(x => x.UpTopHot != null && x.LanguageCode.Equals(CultureName) && x.Status == StatusEnumeration.Published) .OrderByDescending(x => x.UpTopHot).Take(5); model.Tags = new List <Tag>(); return(View(model)); }
public NewsDetailPage(NewsDetailViewModel viewModel) { InitializeComponent(); BindingContext = this.viewModel = viewModel; }
public async Task <ActionResultResponse <NewsDetailViewModel> > GetDetail(string tenantId, string userId, string newsId) { var info = await _newsRepository.GetInfo(newsId); if (info == null) { return(new ActionResultResponse <NewsDetailViewModel>(-1, _websiteResourceService.GetString("News does not exists."))); } if (info.TenantId != tenantId) { return(new ActionResultResponse <NewsDetailViewModel>(-2, _sharedResourceService.GetString(ErrorMessage.NotHavePermission))); } var apiUrls = _configuration.GetApiUrl(); if (apiUrls == null) { return(new ActionResultResponse <NewsDetailViewModel>(-5, _sharedResourceService.GetString( "Missing some configuration. Please contact with administrator."))); } var resultTag = await new HttpClientService() .GetAsync <List <SubjectTagViewModel> >($"{apiUrls.CoreApiUrl}/tags/{tenantId}/{newsId}"); var isApprove = await new HttpClientService() .GetAsync <bool>($"{apiUrls.CoreApiUrl}/approver-configs/approve/{tenantId}/{userId}/{(int)ApproverConfigType.News}"); var newsTranslations = await _newsTranslationRepository.GetByNewsId(newsId); var categoriesNews = await _categoriesNewsRepository.GetListNewsIds(newsId); var newsDetail = new NewsDetailViewModel { Id = info.Id, ConcurrencyStamp = info.ConcurrencyStamp, LikeCount = info.LikeCount, CommentCount = info.CommentCount, ViewCount = info.ViewCount, CreateTime = info.CreateTime, CreatorId = info.CreatorId, CreatorFullName = info.CreatorFullName, CreatorAvatar = info.CreatorAvatar, IsActive = info.IsActive, FeatureImage = info.FeatureImage, BannerImage = info.BannerImage, AltImage = info.AltImage, Source = info.Source, Status = info.Status, SentTime = info.SentTime, ApprovedTime = info.ApprovedTime, ApproverUserId = info.ApproverUserId, ApproverFullName = info.ApproverFullName, ApproverAvatar = info.ApproverAvatar, ApproverComment = info.ApproverComment, LastUpdate = info.LastUpdate, LastUpdateUserId = info.LastUpdateUserId, LastUpdateFullName = info.LastUpdateFullName, LastUpdateAvatar = info.LastUpdateAvatar, IsHot = info.IsHot, LastUpdateIsHot = info.LastUpdateIsHot, IsHomePage = info.IsHomePage, LastUpdateIsHomePage = info.LastUpdateIsHomePage, IsApprove = isApprove, NewsTranslations = newsTranslations?.Select(x => new NewsTranslationViewModel { LanguageId = x.LanguageId, Title = x.Title, MetaTitle = x.MetaTitle, UnsignName = x.UnsignName, Description = x.Description, MetaDescription = x.MetaDescription, MetaKeyword = x.MetaKeyword, SeoLink = x.SeoLink, Content = x.Content, Tags = resultTag?.Where(t => t.LanguageId == x.LanguageId).ToList() }).ToList(), CategoriesNews = categoriesNews, }; return(new ActionResultResponse <NewsDetailViewModel> { Code = 1, Data = newsDetail }); }
public NewsDetailPage() { InitializeComponent(); BindingContext = new NewsDetailViewModel(); }
public IActionResult NewsDetail(string category, string detail) { var entitypre = dbContext.News.Find(m => m.Alias.Equals(detail)).FirstOrDefault(); #region Language CultureInfo cultureInfo = CultureDefine(string.Empty); ViewData["Language"] = cultureInfo.Name; ViewData["LanguageHtmlTag"] = cultureInfo.TwoLetterISOLanguageName; #endregion var entity = dbContext.News.Find(m => m.Code.Equals(entitypre.Code) && m.Language.Equals(cultureInfo.Name)).FirstOrDefault(); #region Menu MenuViewModel menuViewModel = Menu(cultureInfo); #endregion #region Disable item if (entity.Enable.Equals(false)) { ViewData["Disable"] = entity.Name; if (cultureInfo.Name == "vi-VN") { ViewData["Disable"] = "Dữ liệu đã xóa"; } else { ViewData["Disable"] = "Data had been deleted."; } entity.Robots = "noindex, nofollow"; } #endregion #region Link to not found if (entity == null) { if (cultureInfo.Name == "vi-VN") { return(Redirect("/not-found/")); } return(Redirect("/khong-tim-thay/")); } #endregion #region SEO if (entity != null) { ViewData["Title"] = entity.SeoTitle; ViewData["KeyWords"] = entity.KeyWords; ViewData["Description"] = entity.Description; ViewData["MetaOwner"] = entity.MetaOwner; ViewData["Canonical"] = entity.Canonical; ViewData["OgUrl"] = entity.OgUrl; ViewData["OgTitle"] = entity.OgTitle; ViewData["OgDescription"] = entity.OgDescription; ViewData["Robots"] = entity.Robots; } #endregion #region Breadcumbs and Link var breadcrumbs = new List <Breadcrumb>(); var links = new List <Link>(); foreach (var item in dbContext.News.Find(m => m.Code.Equals(entity.Code)).ToList()) { var categoryLanguage = dbContext.NewsCategories.Find(m => m.Language.Equals(item.Language) && m.Code.Equals(item.CategoryId)).FirstOrDefault(); var categoryAlias = category; if (categoryLanguage != null) { categoryAlias = categoryLanguage.Alias; } links.Add(new Link { Url = "/" + Constants.Link.News + "/" + categoryAlias + "/" + item.Alias, Language = item.Language }); if (categoryLanguage != null) { if (categoryLanguage.Language == cultureInfo.Name) { breadcrumbs.Add(new Breadcrumb { Name = categoryLanguage.Name, Url = "/" + Constants.Link.News + "/" + categoryAlias, }); ViewData["Category"] = categoryAlias; } } } #endregion #region Relations var relations = dbContext.News.Find(m => m.Enable.Equals(true) && m.Language.Equals(cultureInfo.Name) && !m.Code.Equals(entity.Code)).SortByDescending(m => m.CreatedOn) .Limit(3).ToList(); #endregion // Paging later, no more products now. var viewModel = new NewsDetailViewModel() { Entity = entity, Relations = relations, Links = links, Breadcrumbs = breadcrumbs, Menu = menuViewModel }; return(View(viewModel)); }
public SingleNewsPage(int id, ObservableCollection <News> news) { InitializeComponent(); BindingContext = viewModel = new NewsDetailViewModel(id, news); }
public ActionResult Index(string SectionId) { var _res = _clientService.GetOrganizationByID(HCRGUser != null ? HCRGUser.OrganizationID : int.Parse(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"]))); if (_res != null) { if (_res.MenuIDs != null) { if (!_res.MenuIDs.Contains("7")) { return(RedirectToAction(GlobalConst.Actions.UserController.UnauthorisePage, GlobalConst.Controllers.User, new { area = "" })); } } } //return Json(_res, JsonRequestBehavior.AllowGet); NewsDetailViewModel NewsDetail = new NewsDetailViewModel(); ViewBag.OrganizationID = _encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"]); ViewBag.StoragePath = GlobalConst.Message.SlashStoragePath + GlobalConst.ConstantChar.ForwardSlash; NewsDetail.NewsSectionResults = Mapper.Map <IEnumerable <NewsSection> >(_newsService.getAllNewsSection(HCRGUser != null ? HCRGUser.OrganizationID : (Convert.ToInt32(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"]))))); int?sectionId = null; if (SectionId != null) { sectionId = int.Parse(_encryptionService.DecryptString2(SectionId.ToString())); } if (sectionId == null) { var _newsData = _newsService.GetAllNewsDetail("All", 0, GlobalConst.Records.Take, HCRGUser != null ? HCRGUser.OrganizationID : (Convert.ToInt32(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"])))); NewsDetail.NewsResults = Mapper.Map <IEnumerable <NewsFullDetail> >(_newsData.NewsFullDetailRecords); foreach (NewsFullDetail _newsFullDetail in NewsDetail.NewsResults) { _newsFullDetail.EncryptedNewsID = _encryptionService.EncryptString2(_newsFullDetail.NewsID.ToString()); } NewsDetail.TotalCount = _newsData.TotalCount; } else { var _newsData = _newsService.GetAllNewsDetailByNewsSectionIDAndType("All", sectionId.Value, 0, GlobalConst.Records.Take, HCRGUser != null ? HCRGUser.OrganizationID : (Convert.ToInt32(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"])))); NewsDetail.NewsResults = Mapper.Map <IEnumerable <NewsFullDetail> >(_newsData.NewsFullDetailRecords); foreach (NewsFullDetail _newsFullDetail in NewsDetail.NewsResults) { _newsFullDetail.EncryptedNewsID = _encryptionService.EncryptString2(_newsFullDetail.NewsID.ToString()); } NewsDetail.TotalCount = _newsData.TotalCount; NewsDetail.SectionID = sectionId.Value; } NewsDetail.newsLetter = Mapper.Map <NewsLetter>(_newsService.GetNewsLetterAll(HCRGUser != null ? HCRGUser.OrganizationID : (Convert.ToInt32(_encryptionService.DecryptString2(System.Configuration.ConfigurationManager.AppSettings["OrganizationID"]))))); if (NewsDetail.newsLetter != null) { string decodedHTML = HttpUtility.HtmlDecode(NewsDetail.newsLetter.NewsLetterContent); if (decodedHTML != null) { NewsDetail.newsLetter.NewsLetterContent = decodedHTML.Replace(GlobalConst.Message.SlashStoragePath, GlobalConst.Message.StoragePath); } else { NewsDetail.newsLetter.NewsLetterContent = decodedHTML; } } foreach (NewsFullDetail viewmodel in NewsDetail.NewsResults) { viewmodel.NewsDescription = HttpUtility.HtmlDecode(viewmodel.NewsDescription); Regex regex = new Regex("\\<[^\\>]*\\>"); viewmodel.NewsDescription = regex.Replace(viewmodel.NewsDescription, String.Empty); bool IsVideo = viewmodel.NewsDescription.Contains("Video"); if (IsVideo) { viewmodel.NewsDescription = "Video"; } if (viewmodel.NewsDescription.Length > 1000) { viewmodel.NewsDescription = regex.Replace(viewmodel.NewsDescription, String.Empty).Substring(0, 1000); } } return(View(NewsDetail)); }