// GET: Feeds/Edit/5 public async Task <IActionResult> Edit(int?id) { if (id == null) { return(NotFound()); } var feed = await _context.Feeds .Include("FeedTags") .Include("FeedCategories") .Include("FeedSources") .FirstAsync(f => f.ID == id); if (feed == null) { return(NotFound()); } else { feed.Modified = DateTime.UtcNow; var model = new FeedView() { Feed = feed, AllTags = _context.Tags.ToList(), AllCategories = _context.Categories.ToList(), AllSources = _context.Sources.ToList() }; return(View(model)); } }
public FeedViewModel(FeedView feedView, vwUser user) { this.feedView = feedView; User = user; FriendsPostList = friendsPost.GetFriendsPost(User); OtherPostList = friendsPost.GetOtherUsersPost(User); }
private void bindOneFeed(IBlock block, FeedView feed) { block.Set("feed.Id", feed.Id); block.Set("feed.DataType", feed.DataType); block.Set("feed.UserFace", feed.Creator.PicSmall); block.Set("feed.UserLink", toUser(feed.Creator)); String creatorInfo = getCreatorInfos(feed.CreatorList); String feedTitle = feedService.GetHtmlValue(feed.TitleTemplate, feed.TitleData, creatorInfo); block.Set("feed.Title", feedTitle); String commentCmd = getCommentCmd(feed); block.Set("feed.CommentCmd", commentCmd); String feedBody = feedService.GetHtmlValue(feed.BodyTemplate, feed.BodyData, creatorInfo); block.Set("feed.Body", feedBody); block.Set("feed.BodyGeneral", getComment(feed.BodyGeneral)); String created = ""; if (cvt.IsDayEqual(feed.Created, DateTime.Now)) { created = cvt.ToTimeString(feed.Created); } block.Set("feed.Created", created); }
private void ItemCollected(object sender, FeedCollector <FeedView> .SyndicationItemEventArgs e) { try { FeedView feedView = e.Source; string[] indexKeys; FeedItem item = CreateFeedItem(e.SyndicationItem, out indexKeys); //Include feed title in search terms var set = new HashSet <string>(indexKeys, StringComparer.InvariantCultureIgnoreCase); set.UnionWith(Regex.Split(feedView.Title, @"\W+")); indexKeys = set.ToArray(); if (!feedView.ItemUrls.Contains(item.Url)) { Console.WriteLine(" + " + item.Title); var command = new AddFeedItemCommand(item, indexKeys, feedView.Id, DateTime.Now); _geekStreamDb.Execute(command); } } catch (Exception ex) { Console.WriteLine("\nSkipping item, error:" + ex.Message); } }
public List <FeedClimbingPost> GetPostsBySettings(FeedSettings settings, FeedView order, int number) { if (order == FeedView.Movies) { return(new List <FeedClimbingPost>()); } if (settings.CurrentChannelType == (byte)FeedChannel.Area) { return(new FeedClimbingPostDA().GetLatestAreaPosts(number, settings.AreaID.Value, settings.TagID, order)); } else if (settings.CurrentChannelType == (byte)FeedChannel.Place) { return(new FeedClimbingPostDA().GetLatestPlacePosts(number, settings.PlaceID.Value, settings.TagID, order)); } else if (settings.CurrentChannelType == (byte)FeedChannel.Climbers) { List <Guid> userIDsBeingWatched = (from c in settings.WatchedClimbers select c.WatchedUserID).ToList(); return(new FeedClimbingPostDA().GetLatestWatchedClimberPosts(number, userIDsBeingWatched, settings.TagID, order)); } else { return(new FeedClimbingPostDA().GetLatestPosts(number, settings.TagID, order)); } }
public ActionResult RenderFeed(byte channel, byte view, string area, string place, string tag) { try { int temp; byte?tagID = null; if (int.TryParse(tag, out temp)) { tagID = (byte)temp; } int?areaID = null; if (int.TryParse(area, out temp)) { areaID = temp; } int?placeID = null; if (int.TryParse(place, out temp)) { placeID = temp; } FeedView feedView = (FeedView)view; FeedChannel feedChannel = (FeedChannel)channel; return(View("FeedItemList", GetFeedItemsForViewSettings(feedChannel, feedView, areaID, placeID, tagID))); } catch (Exception ex) { CFLogger.RecordException(ex); SetPageMetaData(); return(View("UrlGone")); } }
private void feedBtn_Click(object sender, EventArgs e) { this.Hide(); Form next = new FeedView(); next.ShowDialog(); this.Close(); }
private void InitMainPanel() { m_Feed = new FeedView(); m_Feed.AutoSize = true; m_Feed.Dock = DockStyle.Top; m_Feed.ShowUser(m_CurrentUser); m_Feed.UserClicked += ShowUser; ReplaceComponentInMainPanel(m_Feed); }
// Use this for initialization void Start() { scrollRect = GetComponent <ScrollRect>(); feedView = eventList.GetComponent <FeedView>(); pullTriggerText = pullTriggerView.transform.Find("Title").GetComponent <Text>(); screenRect = new Rect(0f, 0f, Screen.width + 1, Screen.height - Screen.height * pullTriggerMargin); }
private void AddUrl(string url) { var query = new GetFeedByUrl(url); FeedView feed = _geekStreamDb.Execute(query); if (feed == null) { AddFeed(url); } else { Console.WriteLine("[=] " + url); } }
public List <FeedClimbingPost> GetLatestWatchedClimberPosts(int number, List <Guid> userIDs, short?tagID, FeedView view) { if (userIDs.Count == 0) { return(new List <FeedClimbingPost>()); } else { var query = from c in EntityTable where userIDs.Contains(c.UserID) select c; return(FilterAndSortQuery(query, number, tagID, view)); } }
private List <FeedClimbingPost> FilterAndSortQuery(IQueryable <LinqToSql_FeedClimbingPost> query, int number, short?tagID, FeedView view) { if (tagID.HasValue) { query = (from c in query where c.TagID == tagID.Value select c); } if (view == FeedView.Posted) { query = (from c in query orderby c.PostedDateTime descending select c); } else if (view == FeedView.Climbing) { query = (from c in query where c.ClimbingDateTime > DateTime.Now orderby c.ClimbingDateTime ascending select c); } return(MapList(query.Take(number).ToList())); }
// GET: Feeds/Create public IActionResult Create() { var model = new FeedView() { Feed = new Feed() { PostedOn = DateTime.UtcNow, Modified = DateTime.UtcNow, FeedTags = new List <FeedTag>(), FeedCategories = new List <FeedCategory>(), FeedSources = new List <FeedSource>() }, AllTags = _context.Tags.ToList(), AllCategories = _context.Categories.ToList(), AllSources = _context.Sources.ToList() }; return(View(model)); }
private String getCommentCmd(FeedView feed) { return(""); //if (!feed.CanComment) return ""; //ControllerBase controller = ControllerFactory.FindFeedCommentsController( feed.DataType, ctx ); //if (controller == null) return ""; //String commentsLink = ""; //if (feed.DataType.Equals( typeof( Share ).FullName )) { // commentsLink = Link.To( ctx.owner.obj, controller.GetType(), "Show", feed.DataId ); //} //else { // commentsLink = Link.To( feed.Creator, controller.GetType(), "Show", feed.DataId ); //} //commentsLink += "?parentPanelId=" + feed.Id; //String lbl = lang( "comment" ); //String c = feed.Replies > 0 ? lbl + "(" + feed.Replies + ")" : lbl; //return string.Format( "<span class=\"frmUpdate link\" href=\"{0}\" loadTo=\"commentList{1}\" txtHidden=\"{2}\">{3}</span>", commentsLink, feed.Id, lang( "hideComment" ), c ); }
public async void OpenPost() { if (SelectedPost == null) { return; } else if (await Utilities.OpenFeedItem(SelectedPost, api, window)) { if (SelectedPost is ViewModels.Notification) { ViewModels.Notification notif = SelectedPost as ViewModels.Notification; foreach (ViewModels.Notification n in feeds) { if (n.RantId == notif.RantId) { n.MarkRead(); } } UpdateNotifications(new NotificationsChecker.UpdateArgs(feeds.Where(x => !x.Read).Count(), feeds.Count)); FeedView.Refresh(); } } else if (SelectedPost is Draft) { var dlg = EditPostWindow.CreateForRant(SelectedPost as Draft); dlg.Owner = window; dlg.ShowDialog(); if (!dlg.Cancelled) { UpdateDrafts(AppManager.Instance.DB.GetNumberOfDrafts()); LoadDrafts(); } } }
private List <IFeedItem> GetFeedItemsForViewSettings(FeedChannel channel, FeedView view, int?areaID, int?placeID, byte?tagID) { int numberOfPostsToDisplay = 40; int displayClimbingCount = 0, displayPartnerCallCount = 0, displayMovieCount = 0; FeedSettings settings = controller.UpdateFeedSettingsIfNecessary(UserID, channel, areaID, placeID); settings.TagID = tagID; // decided not to persist the tag in the db at this point in time. //-- Need to do on client side //if (Settings.HasPlace) { CurrentPlaceLkB.Text = CurrentFeedPlace.ShortName.Take(12); } //if (Settings.HasArea) { CurrentAreaLkB.Text = CurrentFeedArea.Name.Take(12); } //if (Settings.TagID.HasValue) { CurrentTagLB.Text = GetTagsString(Settings.TagID.Value); } if (view == FeedView.Posted) { //SelectLkB(PLkB); if (settings.TagID.HasValue) { displayClimbingCount = numberOfPostsToDisplay; } else { displayClimbingCount = 12; displayPartnerCallCount = 5; displayMovieCount = 3; } } else if (view == FeedView.Movies) { //SelectLkB(MLkB); settings.TagID = null; displayMovieCount = 15; } else if (view == FeedView.Climbing) { //SelectLkB(DCLkb); displayClimbingCount = numberOfPostsToDisplay; } else if (view == FeedView.PartnerCalls) { //SelectLkB(PCLkB); settings.TagID = null; displayPartnerCallCount = 17; } if (channel == FeedChannel.All) { //SelectLkB(AllLkB); } else if (channel == FeedChannel.Area) { //SelectLkB(CurrentAreaLkB); //FeedFocus = CurrentFeedArea.Name; } else if (channel == FeedChannel.Place) { //SelectLkB(CurrentPlaceLkB); //FeedFocus = CurrentFeedPlace.Name; } //else if (channel == FeedChannel.Climbers) //{ //SelectLkB(ClLkB); // settings.WatchedClimbers = controller.GetClimbersUserIsWatching(UserID); //FeedFocus = "climbers you're watching"; //} List <IFeedItem> FeedItems = new List <IFeedItem>(); List <FeedMoviePost> MoviePosts = new List <FeedMoviePost>(); List <FeedPartnerCallPost> PartnerCallPosts = new List <FeedPartnerCallPost>(); List <FeedClimbingPost> ClimbingPosts = new List <FeedClimbingPost>(); if (displayClimbingCount > 0) { ClimbingPosts = controller.GetPostsBySettings(settings, view, numberOfPostsToDisplay); } //-- Fill the feed if we don't have enough posts if (view == FeedView.Posted && !settings.TagID.HasValue) { if (ClimbingPosts.Count < numberOfPostsToDisplay) { byte numberToFill = (byte)(numberOfPostsToDisplay - ClimbingPosts.Count); displayMovieCount++; displayPartnerCallCount = (byte)(numberToFill - 1); } } if (displayMovieCount > 0 && !settings.TagID.HasValue) { MoviePosts = controller.GetFeedMoviesBySettings(settings, displayMovieCount); } if (displayPartnerCallCount > 0 && (!settings.TagID.HasValue || settings.TagID.Value != 1) && channel != FeedChannel.Climbers) { PartnerCallPosts = controller.GetFeedPartnerCallPostsBySettings(settings, displayPartnerCallCount); } foreach (FeedClimbingPost cp in ClimbingPosts) { FeedItems.Add(cp); } foreach (FeedMoviePost mp in MoviePosts) { FeedItems.Add(mp); } foreach (FeedPartnerCallPost pcp in PartnerCallPosts) { FeedItems.Add(pcp); } if (view == FeedView.Posted) { FeedItems = (from c in FeedItems orderby c.PostedDateTime descending select c).ToList(); } return(FeedItems); }
static void Main(string[] args) { DummyData myDummyData = new DummyData(); myDummyData.SeedData(); _userService = new UserService(); _users = _userService.Get(); _postService = new PostService(); _posts = _postService.Get(); Console.Write("Please enter your name to log in: "); string loggedInUserName = Console.ReadLine(); var loggedInUser = _userService.GetUserByName(loggedInUserName); if (loggedInUser == null) { Console.WriteLine("No existing users goes by that name."); } else { Console.WriteLine(""); Console.WriteLine("---------------------------------------------------------------------------------------------------------"); Console.WriteLine(""); Console.WriteLine("About - Page"); Console.WriteLine(""); Console.WriteLine("Name: " + loggedInUser.Name + ", Gender: " + loggedInUser.Gender + ", Age: " + loggedInUser.Age); Console.WriteLine(" * Follows:"); foreach (var fu in loggedInUser.FollowedUsers) { Console.WriteLine(" - " + fu.Name); } Console.WriteLine(" * Blocks:"); foreach (var bu in loggedInUser.BlockedUsers) { Console.WriteLine(" - " + bu.Name); } Console.WriteLine(""); Console.WriteLine(" * Circles: "); foreach (var cl in loggedInUser.Circles) { Console.WriteLine(" - " + cl.CircleName); } Console.WriteLine(""); while (true) { Console.WriteLine("Menu - Page"); Console.WriteLine(""); Console.WriteLine(" - Show user-feed (1)"); Console.WriteLine(" - Show user-wall (2)"); Console.WriteLine(" - Make post (3)"); Console.WriteLine(" - Make Comment (4)"); Console.WriteLine(" - Delete all posts (5)"); Console.WriteLine(""); Console.Write("Please 1, 2, 3, 4 or 5 to make use of TheSocialNetworks functionallities: "); string menuNavigation = Console.ReadLine(); Console.WriteLine(""); Console.WriteLine("---------------------------------------------------------------------------------------------------------"); Console.WriteLine(""); FeedView myFeedView = new FeedView(); WallView myWallView = new WallView(); switch (menuNavigation) { case "1": Console.Clear(); Console.WriteLine("user-feed - Page"); myFeedView.UserFeed(loggedInUser); break; case "2": Console.Clear(); Console.Write("Show wall for: "); string showUserName = Console.ReadLine(); var showUser = _userService.GetUserByName(showUserName); if (showUser == null) { Console.WriteLine("No existing users goes by that name."); } else { myWallView.wall(showUser, loggedInUser); } break; case "3": Console.Clear(); Console.WriteLine("Make post - Page"); Console.Write("Content of post: "); string myContent = Console.ReadLine(); Post post = new Post { Author = loggedInUser, Content = myContent, PublicPost = true, Published = DateTime.Now, Circles = new List <Circle>(), Comments = new List <Comment>() }; _postService.Create(post); break; case "4": Console.Clear(); Console.Write("Write the id of the post you would like to comment: "); string id = Console.ReadLine(); Console.Write("Content of comment: "); string myCommentContent = Console.ReadLine(); Comment comment = new Comment { Author = loggedInUser, Content = myCommentContent, Created = DateTime.Now }; Post tempPost = _postService.GetPostById(id); tempPost.Comments.Add(comment); _postService.Update(tempPost.Id, tempPost); break; case "5": Console.Clear(); Console.WriteLine("Are you sure you want to delete all posts? If so, press y"); string awnser = Console.ReadLine(); if (awnser == "y") { _postService.RemoveAll(); Console.WriteLine("All posts have been removed"); } break; default: Console.Write("Please 1, 2, 3, 4 or 5 to make use of TheSocialNetworks functionallities: "); break; } } } }
public ActionResult Filter(String begin, String eind, String soort, String UserId, String PostType, String PostCategory, String Department, String Program) { String currentuserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); ApplicationUser currentUser = db.Users.Find(currentuserId); if (currentUser == null) { return(RedirectToAction("Login", "Account")); } Department owndepartment = db.Departments.Find(currentUser.DepartmentId); if (owndepartment == null) { return(HttpNotFound()); } Department department = db.Departments.Find(Int32.Parse(Department)); if (department == null) { return(HttpNotFound()); } Program program = db.Programs.Find(Int32.Parse(Program)); if (program == null) { return(HttpNotFound()); } DateTime beginDatefilter = new DateTime(); DateTime eindDatefilter = new DateTime(); PostType typefilter = EhbEvo.Models.PostType.Idee; PostCategory categoryfilter = EhbEvo.Models.PostCategory.Onderwijs; var feedcontext = new FeedView(); feedcontext.Users = db.Users.OrderBy(u => u.UserName); feedcontext.Departementen = db.Departments.OrderBy(d => d.DepartmentName); bool isBegin = (begin.Length > 1); if (isBegin) { beginDatefilter = DateTime.Parse(begin); } ; bool isEind = (eind.Length > 1); if (isEind) { eindDatefilter = DateTime.Parse(eind); } ; bool isSoort = !(soort.Equals("-1")); bool isUser = !(UserId.Equals("-1")); bool isPostType = !(PostType.Equals("-1")); if (isPostType) { typefilter = (PostType)Enum.Parse(typeof(PostType), PostType); } ; bool isPostCategory = !(PostCategory.Equals("-1")); if (isPostCategory) { categoryfilter = (PostCategory)Enum.Parse(typeof(PostCategory), PostCategory); } ; bool isDepartment = !(department.DepartmentName.Equals("* Meerdere Departmenten *")); bool isProgram = !(program.ProgramName.Equals("* Meerdere Opleidingen *")); //apply Filter //check if we need posts if (soort.Equals("Posts") || isSoort == false) { //db.Posts.Where(p => ((isBegin) ? p.Date >= beginDatefilter : true == true) && ((isEind) ? p.Date <= eindDatefilter : true == true) && ((isUser) ? p.UserId.Equals(UserId) : true == true) && ((isPostType) ? p.PostType == typefilter : true == true) && ((isPostCategory) ? p.PostCategory == categoryfilter : true == true)); //iterate over all posts with linq filter foreach (var post in db.Posts.Where(p => ((isBegin) ? p.Date >= beginDatefilter : true == true) && ((isEind) ? p.Date <= eindDatefilter : true == true) && ((isUser) ? p.UserId.Equals(UserId) : true == true) && ((isPostType) ? p.PostType == typefilter : true == true) && ((isPostCategory) ? p.PostCategory == categoryfilter : true == true) && ((isDepartment) ? p.User.DepartmentId.ToString().Equals(Department) : true == true) && ((isProgram) ? p.User.ProgramId.ToString().Equals(Program) : true == true))) { feedcontext.FeedItems.Add(post.Date, post); } } //check if we need feeback if (soort.Equals("Feedback") || isSoort == false) { //iterate over all feedback foreach (var feedback in db.Feedbacks.Where(f => (f.UserId.Equals(currentuserId) && (isBegin) ? f.Date >= beginDatefilter : true == true) && ((isEind) ? f.Date <= eindDatefilter : true == true) && ((isUser) ? f.Post.UserId.Equals(UserId) : true == true) && ((isPostType) ? f.Post.PostType == typefilter : true == true) && ((isPostCategory) ? f.Post.PostCategory == categoryfilter : true == true) && ((isDepartment) ? f.Post.User.DepartmentId.ToString().Equals(Department) : true == true) && ((isProgram) ? f.Post.User.ProgramId.ToString().Equals(Program) : true == true))) { feedcontext.FeedItems.Add(feedback.Date, feedback); } } //check if we need comments if (soort.Equals("Commentaar") || isSoort == false) { //iterate over all comments foreach (var comment in db.Comments.Where(c => (c.Feedback.UserId.Equals(currentuserId) && (isBegin) ? c.Date >= beginDatefilter : true == true) && ((isEind) ? c.Date <= eindDatefilter : true == true) && ((isUser) ? c.UserId.Equals(UserId) : true == true) && ((isPostType) ? c.Feedback.Post.PostType == typefilter : true == true) && ((isPostCategory) ? c.Feedback.Post.PostCategory == categoryfilter : true == true) && ((isDepartment) ? c.User.DepartmentId.ToString().Equals(Department) : true == true) && ((isProgram) ? c.User.ProgramId.ToString().Equals(Program) : true == true))) { feedcontext.FeedItems.Add(comment.Date, comment); } } //add filtervalues feedcontext.Filtervalues.Add(begin); feedcontext.Filtervalues.Add(eind); feedcontext.Filtervalues.Add(soort); feedcontext.Filtervalues.Add(UserId); feedcontext.Filtervalues.Add(PostType); feedcontext.Filtervalues.Add(PostCategory); feedcontext.Filtervalues.Add(Department); feedcontext.Filtervalues.Add(Program); if (owndepartment.DepartmentName.Equals("* Meerdere Departmenten *")) { ViewBag.AllDepartments = true; } else { ViewBag.AllDepartments = false; } return(View("Index", feedcontext)); }
public ActionResult Index() { var feedcontext = new FeedView(); feedcontext.Users = db.Users.OrderBy(u => u.UserName); feedcontext.Departementen = db.Departments.OrderBy(d => d.DepartmentName); String currentuserId = System.Web.HttpContext.Current.User.Identity.GetUserId(); ApplicationUser currentUser = db.Users.Find(currentuserId); if (currentUser == null) { return(RedirectToAction("Login", "Account")); } Department owndepartment = db.Departments.Find(currentUser.DepartmentId); if (owndepartment == null) { return(HttpNotFound()); } var ownprogramid = currentUser.ProgramId; Program ownprogram = db.Programs.Find(ownprogramid); if (ownprogram == null) { return(HttpNotFound()); } bool isDepartment = !(owndepartment.DepartmentName.Equals("* Meerdere Departmenten *")); bool isProgram = !(ownprogram.ProgramName.Equals("* Meerdere Opleidingen *")); //iterate over all posts foreach (var post in db.Posts.Where(p => ((isDepartment) ? p.User.DepartmentId == owndepartment.DepartmentId : true == true) && ((isProgram) ? p.User.ProgramId == ownprogram.ProgramId : true == true))) { feedcontext.FeedItems.Add(post.Date, post); } //iterate over all feedback foreach (var feedback in db.Feedbacks.Where(f => (f.UserId.Equals(currentuserId) && (isDepartment) ? f.Post.User.DepartmentId == owndepartment.DepartmentId : true == true) && ((isProgram) ? f.Post.User.ProgramId == ownprogram.ProgramId : true == true))) { feedcontext.FeedItems.Add(feedback.Date, feedback); } //iterate over all comments foreach (var comment in db.Comments.Where(c => (c.Feedback.UserId.Equals(currentuserId) && (isDepartment) ? c.User.DepartmentId == owndepartment.DepartmentId : true == true) && ((isProgram) ? c.User.ProgramId == ownprogram.ProgramId : true == true))) { feedcontext.FeedItems.Add(comment.Date, comment); } //Set default filtervalues feedcontext.Filtervalues.Add(""); feedcontext.Filtervalues.Add(""); feedcontext.Filtervalues.Add("-1"); feedcontext.Filtervalues.Add("-1"); feedcontext.Filtervalues.Add("-1"); feedcontext.Filtervalues.Add("-1"); feedcontext.Filtervalues.Add(currentUser.DepartmentId.ToString()); feedcontext.Filtervalues.Add("-1"); if (owndepartment.DepartmentName.Equals("* Meerdere Departmenten *")) { ViewBag.AllDepartments = true; } else { ViewBag.AllDepartments = false; } return(View(feedcontext)); }
public List <FeedClimbingPost> GetLatestAreaPosts(int number, int areaID, short?tagID, FeedView view) { List <int> placeIDs = (from c in ctx.PlacesInAreas where c.AreaTagID == areaID select c.PlaceID).ToList(); var query = from c in EntityTable where placeIDs.Contains(c.PlaceID) select c; return(FilterAndSortQuery(query, number, tagID, view)); }
public List <FeedClimbingPost> GetLatestPlacePosts(int number, int placeID, short?tagID, FeedView view) { var query = from c in EntityTable where c.PlaceID == placeID select c; return(FilterAndSortQuery(query, number, tagID, view)); }
// Use this for initialization void Start() { scrollRect = GetComponent<ScrollRect>(); feedView = eventList.GetComponent<FeedView>(); pullTriggerText = pullTriggerView.transform.Find("Title").GetComponent<Text>(); screenRect = new Rect(0f, 0f, Screen.width + 1, Screen.height - Screen.height*pullTriggerMargin); }
protected void Page_Load(object sender, EventArgs e) { Utility.RegisterTypeForAjax(typeof(Default), Page); commentList.Visible = CommunitySecurity.CheckPermissions(NewsConst.Action_Comment); pgNavigator.EntryCount = 1; pgNavigator.EntryCountOnPage = 1; Breadcrumb.Add(new BreadCrumb { Caption = NewsResource.NewsBreadCrumbs, NavigationUrl = FeedUrls.MainPageUrl }); if (Info.HasUser) { Breadcrumb.Add(new BreadCrumb { Caption = Info.User.DisplayUserName(false), NavigationUrl = FeedUrls.GetFeedListUrl(Info.UserId) }); } if (!IsPostBack) { var storage = FeedStorageFactory.Create(); if (!string.IsNullOrEmpty(Request["docID"])) { long docID; if (long.TryParse(Request["docID"], out docID)) { //Show panel ContentView.Visible = false; FeedView.Visible = true; var feed = storage.GetFeed(docID); if (feed != null) { if (!feed.Readed) { storage.ReadFeed(feed.Id, SecurityContext.CurrentAccount.ID.ToString()); } FeedViewCtrl.Feed = feed; hdnField.Value = feed.Id.ToString(CultureInfo.CurrentCulture); Title += string.Format(CultureInfo.CurrentCulture, "-{0}", feed.Caption); InitCommentsView(storage, feed); FeedView.DataBind(); Breadcrumb.Add(new BreadCrumb { Caption = feed.Caption, NavigationUrl = FeedUrls.GetFeedUrl(docID, Info.UserId) }); } else { ContentView.Visible = true; FeedView.Visible = false; FeedRepeater.Visible = true; } } } else { PageNumber = string.IsNullOrEmpty(Request["page"]) ? 1 : Convert.ToInt32(Request["page"]); LoadData(); } } this.Title = HeaderStringHelper.GetPageTitle(Resources.NewsResource.AddonName, Breadcrumb); }
private List<IFeedItem> GetFeedItemsForViewSettings(FeedChannel channel, FeedView view, int? areaID, int? placeID, byte? tagID) { int numberOfPostsToDisplay = 40; int displayClimbingCount = 0, displayPartnerCallCount = 0, displayMovieCount = 0; FeedSettings settings = controller.UpdateFeedSettingsIfNecessary(UserID, channel, areaID, placeID); settings.TagID = tagID; // decided not to persist the tag in the db at this point in time. //-- Need to do on client side //if (Settings.HasPlace) { CurrentPlaceLkB.Text = CurrentFeedPlace.ShortName.Take(12); } //if (Settings.HasArea) { CurrentAreaLkB.Text = CurrentFeedArea.Name.Take(12); } //if (Settings.TagID.HasValue) { CurrentTagLB.Text = GetTagsString(Settings.TagID.Value); } if (view == FeedView.Posted) { //SelectLkB(PLkB); if (settings.TagID.HasValue) { displayClimbingCount = numberOfPostsToDisplay; } else { displayClimbingCount = 12; displayPartnerCallCount = 5; displayMovieCount = 3; } } else if (view == FeedView.Movies) { //SelectLkB(MLkB); settings.TagID = null; displayMovieCount = 15; } else if (view == FeedView.Climbing) { //SelectLkB(DCLkb); displayClimbingCount = numberOfPostsToDisplay; } else if (view == FeedView.PartnerCalls) { //SelectLkB(PCLkB); settings.TagID = null; displayPartnerCallCount = 17; } if (channel == FeedChannel.All) { //SelectLkB(AllLkB); } else if (channel == FeedChannel.Area) { //SelectLkB(CurrentAreaLkB); //FeedFocus = CurrentFeedArea.Name; } else if (channel == FeedChannel.Place) { //SelectLkB(CurrentPlaceLkB); //FeedFocus = CurrentFeedPlace.Name; } //else if (channel == FeedChannel.Climbers) //{ //SelectLkB(ClLkB); // settings.WatchedClimbers = controller.GetClimbersUserIsWatching(UserID); //FeedFocus = "climbers you're watching"; //} List<IFeedItem> FeedItems = new List<IFeedItem>(); List<FeedMoviePost> MoviePosts = new List<FeedMoviePost>(); List<FeedPartnerCallPost> PartnerCallPosts = new List<FeedPartnerCallPost>(); List<FeedClimbingPost> ClimbingPosts = new List<FeedClimbingPost>(); if (displayClimbingCount > 0) { ClimbingPosts = controller.GetPostsBySettings(settings, view, numberOfPostsToDisplay); } //-- Fill the feed if we don't have enough posts if (view == FeedView.Posted && !settings.TagID.HasValue) { if (ClimbingPosts.Count < numberOfPostsToDisplay) { byte numberToFill = (byte)(numberOfPostsToDisplay - ClimbingPosts.Count); displayMovieCount++; displayPartnerCallCount = (byte)(numberToFill - 1); } } if (displayMovieCount > 0 && !settings.TagID.HasValue) { MoviePosts = controller.GetFeedMoviesBySettings(settings, displayMovieCount); } if (displayPartnerCallCount > 0 && (!settings.TagID.HasValue || settings.TagID.Value != 1) && channel != FeedChannel.Climbers) { PartnerCallPosts = controller.GetFeedPartnerCallPostsBySettings(settings, displayPartnerCallCount); } foreach (FeedClimbingPost cp in ClimbingPosts) { FeedItems.Add(cp); } foreach (FeedMoviePost mp in MoviePosts) { FeedItems.Add(mp); } foreach (FeedPartnerCallPost pcp in PartnerCallPosts) { FeedItems.Add(pcp); } if (view == FeedView.Posted) { FeedItems = (from c in FeedItems orderby c.PostedDateTime descending select c).ToList(); } return FeedItems; }
protected void Page_Load(object sender, EventArgs e) { Utility.RegisterTypeForAjax(typeof(Default), Page); commentList.Visible = CommunitySecurity.CheckPermissions(NewsConst.Action_Comment); pgNavigator.EntryCount = 1; pgNavigator.EntryCountOnPage = 1; if (IsPostBack) { return; } var storage = FeedStorageFactory.Create(); if (!string.IsNullOrEmpty(Request["docID"])) { long docID; if (long.TryParse(Request["docID"], out docID)) { //Show panel ContentView.Visible = false; FeedView.Visible = true; var feed = storage.GetFeed(docID); if (feed != null) { if (!feed.Readed) { storage.ReadFeed(feed.Id, SecurityContext.CurrentAccount.ID.ToString()); } FeedViewCtrl.Feed = feed; hdnField.Value = feed.Id.ToString(CultureInfo.CurrentCulture); InitCommentsView(storage, feed); FeedView.DataBind(); EventTitle = feed.Caption; var subscriptionProvider = NewsNotifySource.Instance.GetSubscriptionProvider(); var amAsRecipient = (IDirectRecipient)NewsNotifySource.Instance.GetRecipientsProvider().GetRecipient(SecurityContext.CurrentAccount.ID.ToString()); var isSubsribedOnComments = subscriptionProvider.IsSubscribed(NewsConst.NewComment, amAsRecipient, feed.Id.ToString()); var SubscribeTopicLink = string.Format(CultureInfo.CurrentCulture, string.Format(CultureInfo.CurrentCulture, "<a id=\"statusSubscribe\" class=\"follow-status " + (isSubsribedOnComments ? "subscribed" : "unsubscribed") + "\" title=\"{0}\" href=\"#\" onclick=\"SubscribeOnComments('{1}');\"></a>", (isSubsribedOnComments ? NewsResource.UnsubscribeFromNewComments : NewsResource.SubscribeOnNewComments), feed.Id)); SubscribeLinkBlock.Text = SubscribeTopicLink; Title = HeaderStringHelper.GetPageTitle((Master as NewsMaster).CurrentPageCaption ?? feed.Caption); } else { Response.Redirect(VirtualPathUtility.ToAbsolute("~/products/community/modules/news/")); ContentView.Visible = true; FeedView.Visible = false; FeedRepeater.Visible = true; } } } else { PageNumber = string.IsNullOrEmpty(Request["page"]) ? 1 : Convert.ToInt32(Request["page"]); PageSize = string.IsNullOrEmpty(Request["size"]) ? 20 : Convert.ToInt32(Request["size"]); LoadData(); } InitScripts(); }
public async Task <IActionResult> Edit(int id, FeedView feedView, List <int> Tags, List <int> Categories, List <int> Sources) { if (id != feedView.Feed.ID) { return(NotFound()); } if (ModelState.IsValid) { try { _context.Update(feedView.Feed); if (Tags != null) { _context.FeedTags.RemoveRange(_context.FeedTags.Where(c => c.FeedID == feedView.Feed.ID).ToList()); Tags?.ForEach(t => { _context.FeedTags.Add(new FeedTag() { TagID = t, FeedID = feedView.Feed.ID, Feed = feedView.Feed, Tag = _context.Tags.Find(t) }); }); } if (Categories != null) { _context.FeedCategories.RemoveRange(_context.FeedCategories.Where(c => c.FeedID == feedView.Feed.ID).ToList()); Categories?.ForEach(c => { _context.FeedCategories.Add(new FeedCategory() { CategoryID = c, FeedID = feedView.Feed.ID, Feed = feedView.Feed, Category = _context.Categories.Find(c) }); }); } if (Sources != null) { _context.FeedSources.RemoveRange(_context.FeedSources.Where(c => c.FeedID == feedView.Feed.ID).ToList()); Sources?.ForEach(c => { _context.FeedSources.Add(new FeedSource() { SourceID = c, FeedID = feedView.Feed.ID, Feed = feedView.Feed, Source = _context.Sources.Find(c) }); }); } await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { if (!FeedExists(feedView.Feed.ID)) { return(NotFound()); } else { throw; } } return(RedirectToAction(nameof(Index))); } return(View(feedView.Feed)); }