//Загрузка главной страницы public ActionResult Index() { IPostsContext postsContext = new PostsContext(); IUsersContext usersContext = new UsersContext(); ICategoriesContext catContext = new CategoriesContext(); IEnumerable<Post> posts = postsContext.GetAllPosts(); List<Categories> categories = new List<Categories>(); if (catContext.GetAllCategories() != null) { categories = catContext.GetAllCategories().ToList(); ViewBag.categories = categories; } ViewBag.usersContext = usersContext; ViewBag.catContext = catContext; User currUser = new User(); if (Session != null && Session["isAuth"] != null && (bool)Session["isAuth"] != false) currUser = usersContext.GetUserByLogin(Session["login"].ToString()); else currUser = null; ViewBag.currUser = currUser; IPostImageContext pic = new PostImageContext(); List<Image> postImageList = new List<Image>(); if (posts != null) { foreach (var p in posts) { postImageList.Add(pic.GetImageByPostId(p.id)); } } if (postImageList != null) ViewBag.postImageList = postImageList; return View(); }
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 ActionResult ChangeProfile() //Обработка данных с формы изменения профиля пользователя { if (Session == null || Session["isAuth"] == null || (bool)Session["isAuth"] == false) return RedirectToAction("Login", "Account"); IUsersContext _user = new UsersContext(); IImagesContext _image = new ImagesContext(); IUserImageContext _userImage = new UserImageContext(); User user = new User(); user = _user.GetUserByLogin((string)Session["login"]); ViewBag.user = user; user.name = Request.Form["name"]; user.last_name = Request.Form["last_name"]; user.gender = Request.Form["gender"]; user.e_mail = Request.Form["e_mail"]; var file = Request.Files["image"]; if (file.ContentLength != 0) { string path = AppDomain.CurrentDomain.BaseDirectory + "images/users/"; string filename = user.id.ToString() + Path.GetExtension(file.FileName); if (filename != null) file.SaveAs(path + filename); if (_userImage.GetImageByUserId(user.id) == null) { Image image = new Image(); image.image_path = filename; image = _image.AddImage(image.image_path); _userImage.AddUserImage(user.id, image.id); } else { Image image = new Image(); image = _userImage.GetImageByUserId(user.id); image.image_path = filename; image = _image.EditImage(image); } } /*-------------- Обращение к БД ------------------------*/ try { _user.EditUser(user); return RedirectToAction("userProfile", "Account"); } catch { return View(); } }
public ActionResult ChangeProfile(int id) //Загрузка страницы изменения профиля пользователя { if (Session == null || Session["isAuth"] == null || (bool)Session["isAuth"] == false) return RedirectToAction("Login", "Account"); IUsersContext _user = new UsersContext(); User user = new User(); user = _user.GetUserByLogin((string)Session["login"]); ViewBag.user = user; return View(); }
public ActionResult UserProfile() // Загрузка представленя страницы пользователя { if (Session == null || Session["isAuth"] == null || (bool)Session["isAuth"] == false) return RedirectToAction("Login", "Account"); IUsersContext _user = new UsersContext(); IPostsContext postsContext = new PostsContext(); IUserImageContext userImageContext = new UserImageContext(); ICategoriesContext catContext = new CategoriesContext(); List<Categories> categories = new List<Categories>(); if (catContext.GetAllCategories() != null) { categories = catContext.GetAllCategories().ToList(); ViewBag.categories = categories; } ViewBag.catContext = catContext; int s = 0; if (Request.QueryString.Count == 0) s = 0; else s = Convert.ToInt32(Request.QueryString["user"]); if (s == null || s == 0) s = _user.GetUserByLogin(Convert.ToString(Session["login"])).id; User user = new User(); user = _user.GetUserById(s); ViewBag.login = user.login; ViewBag.user = user; if (Session != null && Session["isAuth"] != null && (bool)Session["isAuth"] != false) ViewBag.sessionUser = _user.GetUserByLogin(Session["login"].ToString()); IEnumerable<Post> userPosts; userPosts = postsContext.GetPostsByUserId(user.id); IPostImageContext pic = new PostImageContext(); List<Image> postImageList = new List<Image>(); Image userImage = new Image(); userImage = userImageContext.GetImageByUserId(user.id); if (userImage != null) ViewBag.userImage = userImage.image_path; else ViewBag.userImage = "default.png"; if (userPosts != null) { foreach (var p in userPosts) { postImageList.Add(pic.GetImageByPostId(p.id)); } } ViewBag.posts = userPosts; if (postImageList != null) ViewBag.postImageList = postImageList; return View(); }
public async Task<ActionResult> Register(RegisterViewModel model) //Обработка данных с формы регистрации { if (ModelState.IsValid) { var user = new User { e_mail = model.Email, login = model.Login, password = model.Password }; IUsersContext usersContext = new UsersContext(); LoginViewModel _model = new LoginViewModel(); _model.Login = model.Login; _model.Password = model.Password; if (usersContext.CreateUser(user) != null) { await Login(_model, null); return RedirectToAction("Index", "Home"); } } // Появление этого сообщения означает наличие ошибки; повторное отображение формы return View(model); }
public User createUser(User _user) { User user = new User(); if (getUserByLogin(_user.login) == null) { UsersContext _db = new UsersContext(); _user.password = Crypto.HashPassword(_user.password); _db.users.Add(_user); _db.SaveChanges(); return _user; } else return null; }
public ActionResult SearchResult(string words) { if (words != null && words != "") { Session["search"] = words; } else { if (Session["search"] == null) if (Request.Form["search"] != null) words = Request.Form["search"].ToString(); else words = ""; else words = Session["search"].ToString(); } if (words == null) words = ""; List<Post> foundPosts = SearchPosts(words); IPostsContext postsContext = new PostsContext(); IUsersContext usersContext = new UsersContext(); ICategoriesContext catContext = new CategoriesContext(); ViewBag.usersContext = usersContext; ViewBag.catContext = catContext; ViewBag.posts = foundPosts; User currUser = new User(); if (Session != null && Session["isAuth"] != null && (bool)Session["isAuth"] != false) currUser = usersContext.GetUserByLogin(Session["login"].ToString()); else currUser = null; ViewBag.currUser = currUser; IPostImageContext pic = new PostImageContext(); List<Image> postImageList = new List<Image>(); if (foundPosts != null) { foreach (var p in foundPosts) { postImageList.Add(pic.GetImageByPostId(p.id)); } } if (postImageList != null) ViewBag.postImageList = postImageList; ViewBag.words = words; ViewBag.foundPosts = foundPosts; return View(); }
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 JsonResult GetPosts() { IPostsContext postsContext = new PostsContext(); IPostImageContext postImageContext = new PostImageContext(); IUsersContext usersContext = new UsersContext(); ICategoriesContext catContext = new CategoriesContext(); IEnumerable<Post> posts = postsContext.GetAllPosts(); ViewBag.usersContext = usersContext; ViewBag.catContext = catContext; ViewBag.posts = posts.ToList(); User currUser = new User(); if (Session != null && Session["isAuth"] != null && (bool)Session["isAuth"] != false) currUser = usersContext.GetUserByLogin(Session["login"].ToString()); else currUser = null; List<Post> sortedPosts = new List<Post>(); int category = Convert.ToInt32(Request.Form["category"]); int startFrom = Convert.ToInt32(Request.Form["startFrom"]); sortedPosts = postsContext.GetPostsByUploading(startFrom, category); List<HTPosts> htPosts = new List<HTPosts>(); foreach (var p in sortedPosts) { HTPosts hp; hp.id = p.id; hp.user_id = p.id_user; if (currUser == null) hp.currUser_id = 0; else hp.currUser_id = currUser.id; hp.title = p.title; hp.text = p.text; hp.category = catContext.GetCategoryById(p.category_id).value; if (postImageContext.GetImageByPostId(p.id) != null) hp.image_name = postImageContext.GetImageByPostId(p.id).image_path; else hp.image_name = ""; hp.userName = usersContext.GetUserById(p.id_user).name; hp.userLastName = usersContext.GetUserById(p.id_user).last_name; htPosts.Add(hp); } JsonResult data = Json(htPosts); return data; }
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 User EditUser(User user) { UsersContext _db = new UsersContext(); _db.Entry(user).State = EntityState.Modified; _db.SaveChanges(); return user; }