public ActionResult AddPost() { if (Session == null || Session["isAuth"] == null || (bool)Session["isAuth"] == false) return RedirectToAction("Login", "Account"); IPostsContext postsContext = new PostsContext(); IPostImageContext postImageContext = new PostImageContext(); IUsersContext usersContext = new UsersContext(); IImagesContext imageContext = new ImagesContext(); ICategoriesContext categoriesContext = new CategoriesContext(); User currentUser = new User(); currentUser = usersContext.GetUserByLogin((string)Session["login"]); Post newPost = new Post(); newPost.id_user = currentUser.id; newPost.title = Request.Form["posttitle"]; newPost.text = Request.Form["posttext"]; if (Request.Form["menu-val"] == "newCat") { Categories cat = new Categories(); cat.value = Request.Form["catText"]; newPost.category_id = categoriesContext.CreateCategory(cat).id; } else if(Convert.ToInt32(Request.Form["menu-val"]) == -1) { if (categoriesContext.GetCategoryByValue("Общая") == null) { Categories cat = new Categories(); cat.value = "Общая"; newPost.category_id = categoriesContext.CreateCategory(cat).id; } else { Categories cat = new Categories(); cat = categoriesContext.GetCategoryByValue("Общая"); newPost.category_id = cat.id; } } else { newPost.category_id = Convert.ToInt32(Request.Form["menu-val"]); } newPost = postsContext.AddPost(newPost); var file = Request.Files["post_image"]; if (file.ContentLength != 0) { string path = AppDomain.CurrentDomain.BaseDirectory + "images/posts/"; string filename = newPost.id.ToString() + Path.GetExtension(file.FileName); if (filename != null) file.SaveAs(path + filename); Image image = new Image(); image.image_path = filename; image = imageContext.AddImage(image.image_path); postImageContext.AddPostImage(newPost.id, image.id); } return RedirectToAction("userProfile", "Account"); }
public List<Post> getPostsByUploading(int startFrom, int category) { PostsContext _db = new PostsContext(); List<Post> postList = new List<Post>(); IEnumerable<Post> _currUserPosts; Post post = new Post(); if (category != 0) { var tposts = _db.Database.SqlQuery(typeof(Post), "SELECT * FROM posts WHERE category_id = " + category + " ORDER BY id DESC OFFSET " + startFrom + " ROWS FETCH NEXT " + Config.pageItems + " ROWS ONLY "); return tposts.OfType<Post>().ToList(); } else { var tposts = _db.Database.SqlQuery(typeof(Post), "SELECT * FROM posts ORDER BY id DESC OFFSET " + startFrom + " ROWS FETCH NEXT " + Config.pageItems + " ROWS ONLY "); return tposts.OfType<Post>().ToList(); } return _currUserPosts.ToList(); }
public Post EditPost(Post newPost) { if (newPost.id_user != null && newPost.id_user != 0 && newPost.title.Trim() != "") { PostsContext _db = new PostsContext(); _db.Entry(newPost).State = EntityState.Modified; _db.SaveChanges(); return newPost; } return null; }
public Post AddPost(Post newPost) { if (newPost.id_user != null && newPost.id_user != 0 && newPost.title.Trim() != "") { PostsContext _db = new PostsContext(); _db.posts.Add(newPost); _db.SaveChanges(); var postId = _db.posts.Select(id => id.id).Max(); newPost.id = postId; return newPost; } return null; }
public ActionResult PostPage() { if (Request.QueryString["post"] == null) RedirectToAction("Index", "Home"); ICategoriesContext catContext = new CategoriesContext(); IPostsContext postsContext = new PostsContext(); IPostsCommentsContext postsCommentsContext = new PostsCommentsContext(); IUsersContext usersContext = new UsersContext(); User currentUser = new User(); if (Session != null && Session["isAuth"] != null && (bool)Session["isAuth"] != false) currentUser = usersContext.GetUserByLogin(Session["login"].ToString()); else currentUser = null; ViewBag.currentUser = currentUser; ViewBag.usersContext = usersContext; Post post = new Post(); if (Request.QueryString["post"] == null) return RedirectToAction("Index", "Home"); post = postsContext.GetPostById(Convert.ToInt32(Request.QueryString["post"])); if (post == null) return RedirectToAction("Index", "Home"); User postUser = usersContext.GetUserById(post.id_user); ViewBag.postUser = postUser; ViewBag.categories = catContext.GetAllCategories().ToList(); ViewBag.catContext = catContext; IPostImageContext postImageContext = new PostImageContext(); if (postImageContext.GetImageByPostId(post.id) != null) ViewBag.postImage = postImageContext.GetImageByPostId(post.id).image_path; ViewBag.post = post; IEnumerable<PostsComments> postComments = postsCommentsContext.GetPostsCommentsByPostId(post.id); int page = 1; if (Request.QueryString["page"] != null) page = Convert.ToInt32(Request.QueryString["page"]); if (postComments != null) { List<PostsComments> _postsComments = new List<PostsComments>(); _postsComments = postComments.ToList(); List<PostsComments> currComments = new List<PostsComments>(Config.pageItems); int pagination = GetPagination(_postsComments.Count); int start = 0, end = 0; start = (page - 1) * Config.pageItems; if (_postsComments.Count == 1) end = 0; else if (_postsComments.Count < Config.pageItems) end = _postsComments.Count - 1; else if (page == pagination && _postsComments.Count % Config.pageItems > 0) end = _postsComments.Count - 1; else end = page * Config.pageItems - 1; for (int i = start; i <= end; i++) { currComments.Add(_postsComments[i]); } ViewBag.currentPage = page; ViewBag.pagination = pagination; ViewBag.postComments = currComments; } else { page = 0; } return View(); }
public ActionResult EditPostF() { if (Session == null || Session["isAuth"] == null || (bool)Session["isAuth"] == false) return RedirectToAction("Login", "Account"); IPostsContext postsContext = new PostsContext(); IPostImageContext postImageContext = new PostImageContext(); IUsersContext usersContext = new UsersContext(); IImagesContext imageContext = new ImagesContext(); string url = "~/Post/PostPage?post="; User currentUser = new User(); currentUser = usersContext.GetUserByLogin((string)Session["login"]); Post newPost = new Post(); newPost.id = Convert.ToInt32(Request.Form["postId"]); newPost.id_user = currentUser.id; newPost.title = Request.Form["posttitle"]; newPost.text = Request.Form["posttext"]; newPost.category_id = Convert.ToInt32(Request.Form["menu-val"]); newPost = postsContext.EditPost(newPost); var file = Request.Files["post_image"]; if (file.ContentLength != 0) { string path = AppDomain.CurrentDomain.BaseDirectory + "images/posts/"; string filename = newPost.id.ToString() + Path.GetExtension(file.FileName); if (filename != null) file.SaveAs(path + filename); if(postImageContext.GetImageByPostId(newPost.id) == null) { Image image = new Image(); image.image_path = filename; image = imageContext.AddImage(image.image_path); postImageContext.AddPostImage(newPost.id, image.id); } else { Image image = new Image(); image = postImageContext.GetImageByPostId(newPost.id); image.image_path = filename; image = imageContext.EditImage(image); } } return Redirect(url + newPost.id); }
public ActionResult EditPost() { IPostsContext postsContext = new PostsContext(); IPostImageContext postImageContext = new PostImageContext(); IUsersContext usersContext = new UsersContext(); Post post = new Post(); string url = "~/Post/PostPage?post="; post = postsContext.GetPostById(Convert.ToInt32(Request.QueryString["post"])); ViewBag.post = post; if (post.id_user != usersContext.GetUserByLogin(Session["login"].ToString()).id) return Redirect(url + post.id); ICategoriesContext catContext = new CategoriesContext(); List<Categories> categories = new List<Categories>(); categories = catContext.GetAllCategories().ToList(); ViewBag.categories = categories; return View(); }
public ActionResult DellPost() { if (Session == null || Session["isAuth"] == null || (bool)Session["isAuth"] == false) return RedirectToAction("Login", "Account"); IPostsContext postsContext = new PostsContext(); IPostsCommentsContext postsCommentsContext = new PostsCommentsContext(); IUsersContext usersContext = new UsersContext(); Post post = new Post(); post = postsContext.GetPostById(Convert.ToInt32(Request.Form["postId"])); if (post == null || post.id_user != usersContext.GetUserByLogin(Session["login"].ToString()).id) return RedirectToAction("Index", "Home"); postsContext.DellPost(post.id); string url = "~/Post/PostPage?post=" + post.id; return RedirectToAction("Index", "Home"); }