public ActionResult Index(IndexVM model, int?SubRedditId) { if (SubRedditId != null) { model.SubRedditId = (int)SubRedditId; } PostsRepository repo = new PostsRepository(); if (AuthManager.LoggedUser != null && AuthManager.LoggedUser.AdminToSubReddits.Any(sr => sr.Id == model.SubRedditId)) { model.Posts = repo.GetAll(m => m.SubRedditId == model.SubRedditId).OrderByDescending(a => a.Rating).ToList(); } else { model.Posts = repo.GetAll(m => m.SubRedditId == model.SubRedditId && m.IsApproved == true).OrderByDescending(a => a.Rating).ToList(); } UsersRepository usersRepo = new UsersRepository(); model.User = usersRepo.GetById(model.UserId); SubRedditsRepository subRedditsRepo = new SubRedditsRepository(); model.SubReddit = subRedditsRepo.GetById(model.SubRedditId); return(View(model)); }
public IEnumerable <PostsDTO> GetAllPostsService() { return(postsRepository.GetAll().Select(x => new PostsDTO { PostId = x.PostId, PostCategoryId = x.PostCategoryId, PostTitle = x.PostTitle, PostDiscription = x.PostDiscription, PostPhoto = x.PostPhoto }).ToList()); }
public void should_retrieve_all_posts() { // Arrange var mockPosts = PostsHelper.GetDefaultMockData(); var db = new InMemoryDatabase(); db.Insert <Post>(mockPosts); _connectionFactory.GetConnection().Returns(db.OpenConnection()); // Act var posts = _sut.GetAll(); var postsList = posts.ToList(); // Assert Assert.IsNotNull(posts); Assert.AreEqual(posts.Count(), mockPosts.Count); mockPosts = mockPosts.OrderBy(o => o.Id).ToList(); postsList = postsList.OrderBy(o => o.Id).ToList(); for (var i = 0; i < mockPosts.Count; i++) { var mockPost = mockPosts[0]; var post = postsList[0]; Assert.IsTrue(mockPost.Id == post.Id); Assert.IsTrue(mockPost.Title == post.Title); Assert.IsTrue(mockPost.Text == post.Text); } }
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); SubRedditsRepository repo = new SubRedditsRepository(); PostsRepository postsRepository = new PostsRepository(); UsersRepository usersRepository = new UsersRepository(); List <SubReddit> items = repo.GetAll(null); List <Post> posts = postsRepository.GetAll(null); List <User> users = usersRepository.GetAll(null); foreach (SubReddit sr in items) { routes.MapRoute( name: "SubReddit" + sr.Id, url: "r/" + sr.Name, defaults: new { controller = "Posts", action = "Index", SubRedditId = sr.Id }); /*foreach (Post item in posts.Where(a => a.SubRedditId==sr.Id)) * { * routes.MapRoute( * name: "Post" + item.Id, * url: "r/" + sr.Name +"/" + "comments"+ '/' + getTitleForURL(item.Title.ToLower()), * defaults: new { controller = "Comments", action = "Index", PostId = item.Id }); * }*/ } foreach (User item in users) { routes.MapRoute( name: "Profile" + item.Id, url: "user/" + item.Username, defaults: new { controller = "Profile", action = "Index", UserId = item.Id } ); } /*foreach (var item in Reddit.Models.AuthManager.LoggedUser.SubscribedToSubReddits) * { * routes.MapRoute( * name: "Something" , * url: "r/" + item.Name + "/submit", * defaults: new { controller = "Posts", action = "Create", id = UrlParameter.Optional } * ); * } * * string allOrHome = ""; * if (Reddit.Models.AuthManager.LoggedUser != null) allOrHome = "r/home"; * else allOrHome = "r/all"; * routes.MapRoute( * name: "allHome", * url: allOrHome, * defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } * );*/ routes.MapRoute( name: "Default", url: "{controller}/{action}/{id}", defaults: new { controller = "Home", action = "Index", id = UrlParameter.Optional } ); }
public ActionResult Edit(int id) { var empId = User.GetClaimValue(ClaimTypes.PrimarySid); var repository = new PostsRepository(); var item = repository.GetAll(null, null, null, empId, id, null, null).FirstOrDefault(); return(View(item)); }
public ActionResult Search(SearchVM model, int?postId, int?subredditId) { model.SubReddits = new List <SubReddit>(); model.Users = new List <User>(); SubRedditsRepository subRepo = new SubRedditsRepository(); PostsRepository postRepo = new PostsRepository(); UsersRepository userRepo = new UsersRepository(); List <SubReddit> subs = subRepo.GetAll(a => a.Name.Contains(model.Filter)).OrderByDescending(a => a.SubscribedUsers.Count()).ToList(); List <User> users = userRepo.GetAll(a => a.Username.Contains(model.Filter)).OrderByDescending(a => a.Karma).ToList(); // model.SubReddits = subRepo.GetAll(a => a.Name.Contains(model.Filter)).ToList(); var count = 0; Thread ta = new Thread(new ThreadStart(UsersLoop)); Thread tb = new Thread(new ThreadStart(SubLoop)); ta.Start(); tb.Start(); ta.Join(); tb.Join(); void UsersLoop() { Thread.Sleep(400); foreach (var item in users) { if (count == 3) { break; } model.Users.Add(item); count++; } } void SubLoop() { Thread.Sleep(390); foreach (var item in subs) { if (count == 3) { break; } model.SubReddits.Add(item); count++; } } model.Posts = postRepo.GetAll(a => a.Title.ToLower().Contains(model.Filter.ToLower()) || a.SubReddit.Name.ToLower().Contains(model.Filter.ToLower()) || a.Comments.Any(b => b.Text.ToLower().Contains(model.Filter.ToLower())) || a.Content.ToLower().Contains(model.Filter.ToLower())).OrderByDescending(b => b.Rating).ToList(); return(View(model)); }
public void PostsRepository_HasPosts() { // Arrange var postsRepository = new PostsRepository(new WebClient(new HttpClient())); // Act var result = postsRepository.GetAll <Post>(); // Assert Assert.True(result.Result.Count > 0); }
public ActionResult Index(IndexVM model) { UsersRepository repo = new UsersRepository(); PostsRepository postsRepo = new PostsRepository(); CommentsRepository commentsRepo = new CommentsRepository(); model.User = repo.GetById(model.UserId); model.Posts = postsRepo.GetAll(p => p.UserId == model.UserId); model.Comments = commentsRepo.GetAll(c => c.UserId == model.UserId); return(View(model)); }
public ActionResult ViewDetail(int id) { var controllerId = this.ControllerContext.RouteData.Values["controller"].ToString() + "Controller"; ViewBag.Rights = (new AuthorizationRepository()).GetRights(controllerId, User.GetClaimValue(ClaimTypes.Role)); var empId = User.GetClaimValue(ClaimTypes.PrimarySid); var repository = new PostsRepository(); var item = repository.GetAll(null, null, null, empId, id, null, null).FirstOrDefault(); return(View(item)); }
public ActionResult Index() { PostIndexVM model = new PostIndexVM(); PostsRepository repo = new PostsRepository(); SubRedditsRepository subRedditsRepository = new SubRedditsRepository(); model.Posts = repo.GetAll(p => p.IsApproved == true).OrderByDescending(a => a.Rating).ToList(); model.TrendingSubReddits = subRedditsRepository.GetAll(null); if (AuthManager.LoggedUser != null) { model.SubReddits = subRedditsRepository.GetAll(null) .Where(x => x.SubscribedUsers.Any(b => b.Id == AuthManager.LoggedUser.Id)).OrderByDescending(c => c.Id).ToList(); } else { model.SubReddits = subRedditsRepository.GetAll(null); } return(View(model)); }
// GET: Post public ActionResult Index() { List <Models.PostViewModel> posts = new List <Models.PostViewModel>(); foreach (BashReader.Models.Post post in _repository.GetAll()) { posts.Add(new Models.PostViewModel { PostId = post.PostId, Rating = post.Rating, Title = post.PostName, Id = post.Id, Description = post.PostText, PublishDate = post.PublishDate, ShortDescription = (post.PostText.Length > 50 ? (post.PostText.Remove(50, post.PostText.Length - 50) + "...") : post.PostText) }); } return(View(posts)); }
public ActionResult GetAll(string subject, string category, string kind, int id, string dateFrom, string dateTo, string sortdatafield, string sortorder, int pagesize, int pagenum) { var fromDate = string.IsNullOrEmpty(dateFrom) ? DateTime.MinValue : (new DateTime(int.Parse(dateFrom.Split('.')[0]), int.Parse(dateFrom.Split('.')[1]), int.Parse(dateFrom.Split('.')[2]))); var toDate = string.IsNullOrEmpty(dateTo) ? DateTime.MaxValue : ((new DateTime(int.Parse(dateTo.Split('.')[0]), int.Parse(dateTo.Split('.')[1]), int.Parse(dateTo.Split('.')[2])))); string empId = User.GetClaimValue(ClaimTypes.PrimarySid); var repository = new PostsRepository(); var list = repository.GetAll(string.IsNullOrEmpty(subject) ? null : subject, string.IsNullOrEmpty(category) ? null : category, string.IsNullOrEmpty(kind) ? null : kind, empId, id, fromDate, toDate); var total = list.Count(); if (!string.IsNullOrEmpty(sortorder)) { list = sortorder == "asc" ? list.OrderBy(o => o.GetType().GetProperty(sortdatafield).GetValue(o, null)) : list.OrderByDescending(o => o.GetType().GetProperty(sortdatafield).GetValue(o, null)); } list = list.Skip(pagesize * pagenum).Take(pagesize); var result = new { TotalRows = total, Rows = list }; return(Json(result, JsonRequestBehavior.AllowGet)); }
public IEnumerable <Post> Get() { return(_repo.GetAll()); }
public IHttpActionResult Get() { return(Ok(postsrepository.GetAll())); }
public PostsModule() { var postsRepository = new PostsRepository(); var authorsRepository = new AuthorsRepository(); var blogsRepository = new BlogsRepository(); Get["/Posts"] = p => { var posts = postsRepository.GetAll(); return(View["Posts/index", new { Posts = posts, Title = "Nancy Blog", Description = "A simple blog demo built with Nancy" }]); }; Get["/Posts/{id}"] = p => { var post = postsRepository.Find(p.id); return(View["Posts/show", new { Post = post, Title = "Nancy Blog", Description = "A simple blog demo built with Nancy" }]); }; Get["/Posts/New"] = p => { var post = new Post(); var author = authorsRepository.Find(1); var blog = blogsRepository.Find(1); return(View["Posts/new", new { Post = post, Author = author, Blog = blog, Title = "Nancy Blog", Description = "A simple blog demo built with Nancy", Action = "Create" }]); }; Post["/Posts/Create"] = p => { Post post = this.Bind(); var addedPost = postsRepository.Add(post); if (post.PostId != addedPost.PostId) { return(Response.AsRedirect("/Posts")); } return(View[""]); }; Get["/Posts/{id}/Edit"] = p => { var post = postsRepository.Find(p.id); var author = authorsRepository.Find(1); var blog = blogsRepository.Find(1); return(View["Posts/edit", new { Post = post, Author = author, Blog = blog, Title = "Nancy Blog", Description = "A simple blog demo built with Nancy", Action = p.id + "/Update" }]); }; Post["/Posts/Update"] = p => { Post post = this.Bind(); var modifiedPost = postsRepository.Update(post); if (true) { return(Response.AsRedirect("/Posts")); } return(View[""]); }; }