public IActionResult Archive(long id, int pageNumber = 1) { HomePostViewModel homePostVM = new HomePostViewModel() { Posts = _db.Posts.Include(p => p.Category).Where(p => p.CategoryId == id && p.ShowOnHome).ToList(), Categories = _db.Categories.Include(c => c.Posts).ToList() }; StringBuilder param = new StringBuilder(); param.Append("/Customer/Home/Archive/" + id + "?pageNumber=:"); var count = homePostVM.Posts.Count; homePostVM.Posts = homePostVM.Posts.Skip((pageNumber - 1) * pageSize).Take(pageSize).ToList(); homePostVM.PagingInfo = new PagingInfo() { Curpage = pageNumber, ItemPerPage = pageSize, TotalItems = count, urlParam = param.ToString() }; return(View(homePostVM)); }
public ActionResult Register([FromBody] HomePostViewModel home) { try { var currentUserID = 0l; var re = Request; var headers = re.Headers; if (headers.ContainsKey("CurrentUserID")) { currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault()); } var homeNameAlreadyExists = new BaseCRUDService(0).Any <HomePostViewModel>(x => x.Name == home.Name); if (homeNameAlreadyExists) { return(StatusCode(StatusCodes.Status403Forbidden, "This home name is already taken.")); } home = new BaseCRUDService(currentUserID).Save(home); return(Ok(home)); } catch (System.Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}")); } }
public ActionResult Login([FromBody] HomePostViewModel home) { try { var currentUserID = 0l; var re = Request; var headers = re.Headers; if (headers.ContainsKey("CurrentUserID")) { currentUserID = long.Parse(headers.GetCommaSeparatedValues("CurrentUserID").FirstOrDefault()); } home = new BaseCRUDService(currentUserID).GetEntity <HomePostViewModel>(x => x.Name == home.Name && x.Password == home.Password); if (home != null) { return(Ok(home)); } else { return(NotFound()); } } catch (System.Exception ex) { return(StatusCode(StatusCodes.Status500InternalServerError, $"{ex.Message}")); } }
public ActionResult Post(int postId) { Post currentPost = postService.GetPost(postId); if (currentPost == null) { string url = "test"; if (Url != null) // при юнит-тестирование будет равняться null { url = Url.Home(); } return(Redirect(url)); } PostPagingInfo pagingInfo = postService.GetPostPagingInfo(postId); HomePostViewModel model = new HomePostViewModel { PagingInfo = pagingInfo, Post = currentPost }; TempData["fullpost"] = 1; return(View(model)); }
public HomeController(ApplicationDbContext db) { _db = db; HomePostViewModel = new HomePostViewModel() { Categories = _db.Categories.Include(c => c.Posts).Where(c => c.ShowOnHome).ToList(), Posts = _db.Posts.Include(p => p.Category).Where(p => p.ShowOnHome).ToList(), Slides = _db.Slides.Where(s => s.ShowOnHome).ToList(), CommentVM = new List <CommentViewModel>() }; }
public async Task <IActionResult> Login(HomePostViewModel home) { home.ConfirmPassword = home.Password; ModelState.Clear(); if (string.IsNullOrEmpty(home.Name)) { ModelState.AddModelError("Name", "Home name field is required."); } else if (string.IsNullOrEmpty(home.Password)) { ModelState.AddModelError("Password", "Password field is required."); } else { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/{nameof(Login)}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, home)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { home = JsonConvert.DeserializeObject <HomePostViewModel>(content); if (home != null) { HttpContext.Session.SetString("HomeID", home.ID.ToString()); HttpContext.Session.SetString("HomeName", home.Name.ToString()); await SetUserToCurrentHome(home.ID); return(RedirectToAction("Index", "Home")); } else { ModelState.AddModelError("", "Home name or password is wrong."); } } else { ModelState.AddModelError("", "Home name or password is wrong."); } } } } return(View()); }
public async Task <IViewComponentResult> InvokeAsync() { List <HomePostViewModel> posts = new List <HomePostViewModel>(); List <PostModel> listaPosts = new List <PostModel>(); listaPosts = await _context.Post.ToListAsync(); foreach (var item in listaPosts) { HomePostViewModel post = new HomePostViewModel(); post.Post = item; post.Usuario = _context.Usuario.First(x => x.Id == item.IdUsuario); posts.Add(post); } //var posts = await _context.Post.ToListAsync(); return(View(posts)); }
/* public async Task<IViewComponentResult> InvokeAsync(int IdPost) * { * var comentarios = await _context.Comment.Where(x => x.IdPost == IdPost).ToListAsync(); * return View(comentarios); * }*/ public async Task <IViewComponentResult> InvokeAsync(int IdPost) { List <HomePostViewModel> posts = new List <HomePostViewModel>(); List <Comment> comentarios = new List <Comment>(); comentarios = await _context.Comment.Where(x => x.IdPost == IdPost).ToListAsync(); foreach (var item in comentarios) { HomePostViewModel post = new HomePostViewModel(); post.Comentario = item; post.Usuario = _context.Usuario.First(x => x.Id == item.IdUsuario); posts.Add(post); } //var posts = await _context.Post.ToListAsync(); return(View(posts)); }
public ActionResult AddPost(HomePostViewModel post, HttpPostedFileBase[] file) { var ctx = new OruBloggenDbContext(); var userID = User.Identity.GetUserId(); if (!string.IsNullOrEmpty(post.AddPostViewModel.PostTitle) && !string.IsNullOrEmpty(post.AddPostViewModel.PostText)) { ctx.Posts.Add(new PostModel { PostTitle = post.AddPostViewModel.PostTitle, PostText = post.AddPostViewModel.PostText, PostDate = DateTime.Now, PostFormal = post.AddPostViewModel.PostFormal, PostUserID = userID, PostCategoryID = int.Parse(post.AddPostViewModel.PostCategory) }); ctx.SaveChanges(); if (file != null) { foreach (var oneFile in file) { SaveFile(oneFile); } } } NotificationController notificationController = new NotificationController(); notificationController.SendPostPm(userID, post.AddPostViewModel.PostTitle, post.AddPostViewModel.PostText, DateTime.Now, post.AddPostViewModel.PostFormal, int.Parse(post.AddPostViewModel.PostCategory)); if (post.AddPostViewModel.PostFormal) { return(RedirectToAction("FormalPost")); } else { return(RedirectToAction("InformalPost")); } }
public async Task <IActionResult> Register(HomePostViewModel home) { if (ModelState.IsValid) { using (var httpClient = new HttpClient()) { var requestUri = $"{Configuration.DefaultAPI}/{CurrentControllerName}/{nameof(Register)}"; httpClient.DefaultRequestHeaders.Add("CurrentUserID", CurrentUserID.ToString()); using (var response = await httpClient.PostAsJsonAsync(requestUri, home)) { var content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { home = JsonConvert.DeserializeObject <HomePostViewModel>(content); } else { ModelState.AddModelError("Name", "This home name is already taken."); return(View(home)); } } } ModelState.Clear(); HttpContext.Session.SetString("HomeID", home.ID.ToString()); HttpContext.Session.SetString("HomeName", home.Name.ToString()); await SetUserToCurrentHome(home.ID); return(RedirectToAction("Index", "Home")); } return(View()); }
public IActionResult Post(int Id) { if (Id == 0) { return(NotFound()); } var post = _postRepository.GetPost(Id); if (post == null) { return(NotFound()); } var viewModel = new HomePostViewModel(); viewModel.Author = post.ApplicationUser.FirstName + " " + post.ApplicationUser.LastName; viewModel.Body = post.Body; viewModel.Title = post.Title; viewModel.Category = post.Category.CategoryName; viewModel.ImageURL = post.ImageUrl; return(View(viewModel)); }