public IActionResult PostIdea(IdeaViewModel idea) { if (ModelState.IsValid) { if (HttpContext.Session.GetInt32("userid") != null) { int uid = (int)HttpContext.Session.GetInt32("userid"); Idea NewIdea = new Idea(); User user = _context.Users.SingleOrDefault(login => login.userid == uid); NewIdea.user = user; NewIdea.text = idea.text; NewIdea.created_at = DateTime.Now; NewIdea.updated_at = DateTime.Now; _context.Ideas.Add(NewIdea); _context.SaveChanges(); return(RedirectToAction("Ideas")); } else { return(RedirectToAction("Main")); } } else { return(View("~/Views/Idea/Ideas.cshtml", idea)); } }
public async Task <IActionResult> Create([FromBody] IdeaViewModel model) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var session = await _sessionRepository.GetByIdAsync(model.SessionId); if (session == null) { return(NotFound(model.SessionId)); } var idea = new Idea() { DateCreated = DateTimeOffset.Now, Description = model.Description, Name = model.Name }; session.AddIdea(idea); await _sessionRepository.UpdateAsync(session); return(Ok(session)); }
public virtual ActionResult AddVersion(IdeaViewModel model) { if (Request.HttpMethod == "GET" || !Request.IsAjaxRequest()) { return(RedirectToAction(MVC.Idea.Details(model.Id, null, null))); } if (ModelState.IsValid) { var idea = Service.AddNewVersion(model); return(Json(new { Text = model.CurrentVersion.Text, VersionId = idea.CurrentVersion.Id, Versions = RenderPartialViewToString(MVC.Idea.Views._Versions, idea), VotingStatistics = RenderPartialViewToString(MVC.Idea.Views.VotingStatistics, idea), VotingButtons = RenderPartialViewToString(MVC.Idea.Views.VotingButtons, idea), Editable = true })); } return(Json(new { error = (from v in ModelState.Values from e in v.Errors select e.ErrorMessage).Concatenate(";") })); }
public IActionResult NewIdea(IdeaViewModel model) { int user_id = (int)HttpContext.Session.GetInt32("user_id"); User user = _context.users.SingleOrDefault(u => u.id == user_id); if (ModelState.IsValid) { Idea idea = new Idea() { body = model.body, users_id = user.id, user = user, created_at = DateTime.Now, updated_at = DateTime.Now }; _context.ideas.Add(idea); _context.SaveChanges(); return(RedirectToAction("bright_ideas")); } else { return(View(model)); } }
public async Task <IActionResult> PostIdea([FromBody] IdeaViewModel idea) { await _context.Ideas.AddAsync(Mapper.Map <Idea>(idea)); await _context.SaveChangesAsync(); return(Ok()); }
public IActionResult UpdateIdea([FromBody] IdeaViewModel ideaVm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } return(Ok(ideaService.Update(ideaVm))); }
public ActionResult PostIdea(IdeaViewModel idea) { if (ModelState.IsValid) { this.ideasService.Add(idea.Title, idea.Description); return(this.View("_SuccessIdeaAdd")); } return(this.RedirectToAction("Index")); }
public ActionResult Create([DataSourceRequest] DataSourceRequest request, IdeaViewModel idea) { if (idea != null && this.ModelState.IsValid) { this.ideas.Create(new Idea() { Title = idea.Title, Description = idea.Description }); this.ideas.SaveChanges(); } return this.Json(new[] { idea }.ToDataSourceResult(request, this.ModelState)); }
public ActionResult PostIdea(IdeaViewModel idea) { if (ModelState.IsValid) { this.ideasService.Add(idea.Title, idea.Description); return this.View("_SuccessIdeaAdd"); } return this.RedirectToAction("Index"); }
public void AddIdea(IdeaViewModel ideaModel) { using (IDbConnection dbConnection = Connection) { string query = "INSERT INTO ideas (idea, likes, created_at, updated_at, users_id, alias, no_votes) VALUES (@idea, 0, NOW(), NOW(), @users_id, @alias, 0)"; dbConnection.Open(); dbConnection.Execute(query, ideaModel); string query2 = "UPDATE users SET posts = posts + 1 WHERE id = " + ideaModel.users_id + ""; dbConnection.Execute(query2); } }
public ActionResult Delete([DataSourceRequest] DataSourceRequest request, IdeaViewModel idea) { var databaseIdea = this.ideas.GetById(idea.Id); if (idea != null) { this.ideas.Delete(databaseIdea); this.ideas.SaveChanges(); } return this.Json(new[] { idea }.ToDataSourceResult(request, this.ModelState)); }
public IActionResult AddIdea([FromBody] IdeaViewModel ideaVm) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } var authorId = HttpContext.User.FindFirst(JwtClaimIdentifiers.Id).Value; ideaVm.AuthorId = authorId; return(StatusCode(StatusCodes.Status201Created, ideaService.Create(ideaVm))); }
public async Task <ProcessResult <IdeaViewModel> > GetDetailAsync(long ideaId) { Func <Task <IdeaViewModel> > action = async() => { var idea = await context.Ideas.Include(x => x.CreatorUser) .Include(x => x.Favorites) .Where(x => x.Id == ideaId && (!x.IsDeleted || x.CreatorId == CurrentUser.Id)) .SingleAsync(); var currentUserLike = await context.relIdeaLikes.Where(x => x.IdeaId == ideaId && x.CreatorId == CurrentUser.Id) .Select(x => x.Vote) .SingleOrDefaultAsync(); var ideaTags = await context.relIdeaTags.Include(x => x.Tag) .Where(x => x.IdeaId == ideaId) .Select(x => new TagViewModel { Id = x.Tag.Id, Name = x.Tag.Name }) .ToListAsync(); idea.ViewCount++; await context.SaveChangesAsync(); var ideaDetails = new IdeaViewModel { Id = idea.Id, Title = idea.Title, Article = idea.Article, Tags = ideaTags, Creator = new CreatorViewModel() { Id = idea.CreatorId, Name = idea.CreatorUser.UserName, AvatarURL = String.IsNullOrEmpty(idea.CreatorUser.AvatarURL) ? "person.png" : idea.CreatorUser.AvatarURL }, CreatedDate = idea.CreateDate, CurrentUserLike = currentUserLike, CurrentUserIsFavorited = idea.Favorites.Where(x => x.CreatorId == CurrentUser.Id) .Select(x => x.Value).SingleOrDefault(), LikeCount = idea.LikeCount, ViewCount = idea.ViewCount, CommentCount = idea.CommentCount, IsDeleted = idea.IsDeleted }; return(ideaDetails); }; return(await Process.RunAsync(action)); }
public IActionResult AddIdea(IdeaViewModel incoming) { if (ModelState.IsValid) { Ideas newIdea = new Ideas(); newIdea.usersId = (int)HttpContext.Session.GetInt32("currentUserId"); newIdea.creator = _context.users.FirstOrDefault(item => item.usersId == HttpContext.Session.GetInt32("currentUserId")); newIdea.text = incoming.text; _context.Add(newIdea); _context.SaveChanges(); } return(RedirectToAction("List")); }
public async Task <IActionResult> Dashboard() { var user = await _userManager.GetUserAsync(User); IdeaViewModel ideas = new IdeaViewModel() { ListofCategories = _context .Categories .OrderBy(c => c.CategoryName) .ToList() }; ideas.ListofIdeas = _context.Ideas.Include(i => i.Category).Where(item => user.Id == item.ApplicationUserId).OrderBy(i => i.IdeaName).ToList(); return(View(ideas)); }
public IdeaViewModel Update(IdeaViewModel ideaVm) { var idea = Mapper.Map <IdeaViewModel, Idea>(ideaVm); try { var updatedIdea = uow.IdeasRepository.Update(idea); uow.SaveChanges(); return(Mapper.Map <Idea, IdeaViewModel>(updatedIdea)); } catch (Exception ex) { throw new CustomException(StatusCodes.Status501NotImplemented, ExceptionsMessages.CantEditeIdea, ex); } }
public ActionResult ViewIdea(int id) { using (var context = new ENSE496Entities()) { var ideaViewModel = new IdeaViewModel(); ideaViewModel.Idea = context.Ideas.Where(x => x.Id == id).FirstOrDefault(); ideaViewModel.Comments = context.Comments.Where(x => x.Idea_id == id && x.Active == true).ToList(); if (ideaViewModel.Comments.Count > 0) { foreach (Comment comment in ideaViewModel.Comments) { comment.User.Username.First(); } } ideaViewModel.Likes = context.Likes.Where(x => x.Idea_id == id && x.Active == true).ToList(); return(View(ideaViewModel)); } }
public async Task <IActionResult> Index() { var currentUser = await _userManager.GetUserAsync(User); if (currentUser == null) { return(Challenge()); } var ideas = await _ideaItemService.GetIdeasAsync(); var model = new IdeaViewModel() { Ideas = ideas }; return(View(model)); }
public IActionResult AddIdea(IdeaViewModel newIdea) { int?ThisUser = HttpContext.Session.GetInt32("UserId"); if (ModelState.IsValid) { Idea NewIdea = new Idea { UserId = (int)ThisUser, Content = newIdea.Content }; _context.Ideas.Add(NewIdea); _context.SaveChanges(); return(RedirectToAction("AllIdeas")); } TempData["Error"] = "Ideas cannot be blank"; return(RedirectToAction("AllIdeas", newIdea)); }
public ActionResult CreateIdea([FromBody] IdeaViewModel model) { var validationResult = _validator.Validate(model); if (!validationResult.IsValid) { return(BadRequest(validationResult.ToModelStateDictionary())); } var idea = _mapper.Map <IdeaViewModel, Idea>(model); SetUserID(idea); _context.Ideas.Add(idea); _context.SaveChanges(); var response = _mapper.Map <Idea, IdeaResponse>(idea); return(Ok(response)); }
private ActionResult GetIdeaView(Entity adxIdeaForum, Entity adxIdea, int?page) { var ideaDataAdapter = new IdeaDataAdapter(adxIdea) { ChronologicalComments = true }; var idea = ideaDataAdapter.Select(); var comments = new PaginatedList <IComment>(page, ideaDataAdapter.SelectCommentCount(), ideaDataAdapter.SelectComments); var ideaViewModel = new IdeaViewModel { IdeaForum = new IdeaForumDataAdapter(adxIdeaForum).Select(), Idea = idea, Comments = new IdeaCommentsViewModel { Comments = comments, Idea = idea } }; return(View("Idea", ideaViewModel)); }
public ActionResult UpdateIdea([FromRoute] Guid id, [FromBody] IdeaViewModel model) { var idea = _context.Ideas.SingleOrDefault(x => x.Id == id); if (idea == null) { return(NotFound()); } if (idea.UserId != GetUserID()) { return(NotFound()); } idea = _mapper.Map(model, idea); _context.SaveChanges(); var response = _mapper.Map <Idea, IdeaResponse>(idea); return(Ok(response)); }
// GET: Ideas/Details/5 public async Task <IActionResult> Details(int?id) { var likes = from i in _context.Like select i; var subscriptions = from i in _context.Subscribe select i; var user = await _userManager.GetUserAsync(User); if (id == null) { return(NotFound()); } var idea = await _context.Idea .FirstOrDefaultAsync(m => m.ID == id); if (idea == null) { return(NotFound()); } Like userLike; Subscribe userSub; var ideaComments = await _context.Comment.Where(i => i.IdeaID.Equals(id)).ToListAsync(); var ideaLikes = likes.Where(i => i.IdeaID.Equals(id) && i.Liked == true); userLike = await ideaLikes.Where(i => i.UserID.Equals(user.Id)).FirstOrDefaultAsync(); userSub = await subscriptions.Where(i => i.UserID == user.Id && i.IdeaID == id).FirstOrDefaultAsync(); IdeaViewModel formattedIdea = new IdeaViewModel { Idea = idea, Comments = ideaComments, LikeCount = ideaLikes.Count(), UserLike = userLike, Subscription = userSub }; return(View(formattedIdea)); }
public IdeaViewModel Create(IdeaViewModel ideaVm) { var idea = Mapper.Map <IdeaViewModel, Idea>(ideaVm); if (idea == null) { throw new CustomException(StatusCodes.Status501NotImplemented, ExceptionsMessages.CantCreateIdea, new NullReferenceException()); } idea.DateOfCreation = DateTime.UtcNow; try { var createdIdea = uow.IdeasRepository.Create(idea); uow.SaveChanges(); return(Mapper.Map <Idea, IdeaViewModel>(createdIdea)); } catch (Exception ex) { throw new CustomException(StatusCodes.Status501NotImplemented, ExceptionsMessages.CantCreateIdea, ex); } }
public IActionResult CreateIdea(IdeaViewModel model) { int?UserId = HttpContext.Session.GetInt32("UserId"); if (UserId != null) { Idea NewIdea = new Idea { IdeaText = model.IdeaText, CreatedById = (int)UserId, CreatedAt = DateTime.Now, UpdatedAt = DateTime.Now, }; _context.Add(NewIdea); _context.SaveChanges(); return(RedirectToAction("Main", "Idea")); } else { return(RedirectToAction("Index", "Login")); } }
public IdeaControllerTests() { model = new IdeaViewModel() { content = "some content", ease = 4, impact = 3, confidence = 4 }; mapper = A.Fake <IMapper>(); validator = A.Fake <IValidator <IdeaViewModel> >(); context = A.Fake <IIdeaPoolContext>(); sut = new IdeasController(validator, mapper, context); var claimsPrincipal = A.Fake <ClaimsPrincipal>(); A.CallTo(() => claimsPrincipal.Claims).Returns( new List <Claim>() { new Claim(ClaimTypes.NameIdentifier, Guid.NewGuid().ToString()) }); sut.ControllerContext.HttpContext = new DefaultHttpContext(); sut.ControllerContext.HttpContext.User = claimsPrincipal; }
public IActionResult AddNew(IdeaViewModel model) { if (!LoggedIn()) { return(RedirectToAction("Index", "Home")); } else { if (ModelState.IsValid) { Idea NewIdea = new Idea { Description = model.Description, UserId = (int)HttpContext.Session.GetInt32("UserId") }; _context.Add(NewIdea); _context.SaveChanges(); return(RedirectToAction("Home")); } ViewBag.User = _context.Users.Single(u => u.UserId == HttpContext.Session.GetInt32("UserId")); return(View("Home", model)); } }
private ActionResult GetIdeaView(Entity adxIdeaForum, Entity adxIdea, int?page) { var ideaDataAdapter = new IdeaDataAdapter(adxIdea) { ChronologicalComments = true }; var idea = ideaDataAdapter.Select(); var comments = FeatureCheckHelper.IsFeatureEnabled(FeatureNames.Feedback) ? new PaginatedList <IComment>(page, ideaDataAdapter.SelectCommentCount(), ideaDataAdapter.SelectComments) : null; var currentIdeaForum = new IdeaForumDataAdapter(adxIdeaForum).Select(); if (currentIdeaForum == null) { return(RedirectToPageNotFound()); } var ideaViewModel = new IdeaViewModel { IdeaForum = currentIdeaForum, Idea = idea, Comments = new IdeaCommentsViewModel { Comments = comments, Idea = idea } }; if (FeatureCheckHelper.IsFeatureEnabled(FeatureNames.TelemetryFeatureUsage)) { PortalFeatureTrace.TraceInstance.LogFeatureUsage(FeatureTraceCategory.Idea, this.HttpContext, "read_idea", 1, idea.Entity.ToEntityReference(), "read"); PortalFeatureTrace.TraceInstance.LogFeatureUsage(FeatureTraceCategory.Idea, this.HttpContext, "read_comment_idea", idea.CommentCount, idea.Entity.ToEntityReference(), "read"); } return(View("Idea", ideaViewModel)); }
public IdeaModule(IIdeaRepository ideas, IUserRepository users, ISettingsRepository settings, IImageRepository imageRepository) : base("/idea") { _ideas = ideas; _settings = settings; _users = users; Get["/{id}"] = parameters => { int id = parameters.id; var idea = _ideas.Get(id); if (idea == null) { return(View["404"]); } User user = Context.GetCurrentUser(_users); if (user != null) { if (idea.Votes.Any(u => u.UserId == user.Id)) { idea.UserHasVoted = true; } } var viewModel = new IdeaViewModel(idea); var model = Context.Model(string.Format("{0} - {1}", idea.Title, _settings.Title)); model.Idea = viewModel; return(View["Idea/Index", model]); }; Get["/{id}/activity"] = parameters => { int id = parameters.id; var idea = _ideas.Get(id); if (idea == null) { return(Response.AsJson(new { Status = "error" })); } var results = idea.Activities.Select(MapToViewModel); return(Response.AsJson(new { Status = "success", Items = results })); }; Get["/image/{id}"] = parameters => { var id = (string)parameters.id; if (id.Contains(".")) { id = id.Substring(0, id.IndexOf(".")); //string .jpg in case it was send in } var image = imageRepository.Get(int.Parse(id)); // TODO: format should be adaptive based on backing source? return(Response.FromStream(new MemoryStream(image.ImageBits), "image/jpeg")); }; Get[@"/imagethumb/{id}/{width}"] = parameters => { var image = (Image)imageRepository.Get(parameters.id); using (var memoryStream = new MemoryStream(image.ImageBits)) { var drawingImage = System.Drawing.Image.FromStream(memoryStream); var thumb = drawingImage.ToThumbnail((int)parameters.width); using (var thumbnailStream = new MemoryStream()) { // TODO: format should be adaptive based on backing source? thumb.Save(thumbnailStream, ImageFormat.Jpeg); return(Response.FromStream(new MemoryStream(thumbnailStream.GetBuffer()), "image/jpeg")); //massive WTF? If I just use thumnailStream, it doesn't work... } } }; Get["/imagesforidea/{id}"] = parameters => { Idea idea = _ideas.Get((int)parameters.id); return(Response.AsJson(idea.Images.Select(i => new ImageFileStatus(i.Id, i.ImageBits.Length, i.Name)) .ToArray() ).WithHeader("Vary", "Accept")); }; }
public IdeaView(Idea idea) { InitializeComponent(); BindingContext = new IdeaViewModel(Navigation, idea); }
public IActionResult PostIdea(IdeaViewModel ideaModel) { ideaFactory.AddIdea(ideaModel); return(RedirectToAction("Dashboard", "User")); }
public ViewModelLocator() { try { var config = new ConfigurationBuilder(); config.AddJsonFile("autofac.json"); var module = new ConfigurationModule(config.Build()); var builder = new ContainerBuilder(); builder.RegisterModule(module); Container = builder.Build(); navigationService = Container.Resolve <INavigationService>(); mainWindowViewModel = Container.Resolve <MainWindowViewModel>(); problemsViewModel = Container.Resolve <ProblemsViewModel>(); infrastructureViewModel = Container.Resolve <InfrastructureViewModel>(); buildingViewModel = Container.Resolve <BuildingViewModel>(); governmentViewModel = Container.Resolve <GovernmentViewModel>(); hospitalViewModel = Container.Resolve <HospitalViewModel>(); ideaViewModel = Container.Resolve <IdeaViewModel>(); publicTransportViewModel = Container.Resolve <PublicTransportViewModel>(); roadViewModel = Container.Resolve <RoadViewModel>(); securityViewModel = Container.Resolve <SecurityViewModel>(); tradeAdvertisingViewModel = Container.Resolve <TradeAdvertisingViewModel>(); yardViewModel = Container.Resolve <YardViewModel>(); helloViewModel = Container.Resolve <HelloViewModel>(); importantListViewModel = Container.Resolve <ImportantListViewModel>(); importantInfofViewModel = Container.Resolve <ImportantInfofViewModel>(); newsListViewModel = Container.Resolve <NewsListViewModel>(); newsInfoViewModel = Container.Resolve <NewsInfoViewModel>(); buildingPVModel = Container.Resolve <BuildingPVModel>(); governmentPVModel = Container.Resolve <GovernmentPVModel>(); hospitalPVModel = Container.Resolve <HospitalPVModel>(); ideaPVModel = Container.Resolve <IdeaPVModel>(); infrastructurePVModel = Container.Resolve <InfrastructurePVModel>(); publicTransportPVModel = Container.Resolve <PublicTransportPVModel>(); roadPVModel = Container.Resolve <RoadPVModel>(); securityPVModel = Container.Resolve <SecurityPVModel>(); tradeAdvertisingPVModel = Container.Resolve <TradeAdvertisingPVModel>(); yardPVModel = Container.Resolve <YardPVModel>(); navigationService.Register <ProblemsViewModel>(problemsViewModel); navigationService.Register <InfrastructureViewModel>(infrastructureViewModel); navigationService.Register <BuildingViewModel>(buildingViewModel); navigationService.Register <GovernmentViewModel>(governmentViewModel); navigationService.Register <HospitalViewModel>(hospitalViewModel); navigationService.Register <IdeaViewModel>(ideaViewModel); navigationService.Register <PublicTransportViewModel>(publicTransportViewModel); navigationService.Register <RoadViewModel>(roadViewModel); navigationService.Register <SecurityViewModel>(securityViewModel); navigationService.Register <TradeAdvertisingViewModel>(tradeAdvertisingViewModel); navigationService.Register <YardViewModel>(yardViewModel); navigationService.Register <HelloViewModel>(helloViewModel); navigationService.Register <ImportantListViewModel>(importantListViewModel); navigationService.Register <ImportantInfofViewModel>(importantInfofViewModel); navigationService.Register <NewsListViewModel>(newsListViewModel); navigationService.Register <NewsInfoViewModel>(newsInfoViewModel); navigationService.Register <BuildingPVModel>(buildingPVModel); navigationService.Register <GovernmentPVModel>(governmentPVModel); navigationService.Register <HospitalPVModel>(hospitalPVModel); navigationService.Register <IdeaPVModel>(ideaPVModel); navigationService.Register <InfrastructurePVModel>(infrastructurePVModel); navigationService.Register <PublicTransportPVModel>(publicTransportPVModel); navigationService.Register <RoadPVModel>(roadPVModel); navigationService.Register <SecurityPVModel>(securityPVModel); navigationService.Register <TradeAdvertisingPVModel>(tradeAdvertisingPVModel); navigationService.Register <YardPVModel>(yardPVModel); navigationService.Navigate <HelloViewModel>(); } catch (Exception ex) { MessageBox.Show(ex.Message); } }
// GET: Ideas public async Task <IActionResult> Index(string searchFilter, string searchString) { var ideas = from i in _context.Idea select i; var comments = from i in _context.Comment select i; var likes = from i in _context.Like select i; var subscriptions = from i in _context.Subscribe select i; var user = await _userManager.GetUserAsync(User); if (!String.IsNullOrEmpty(searchFilter)) { if (searchFilter.Equals("Pending") || searchFilter.Equals("Plan") || searchFilter.Equals("Do") || searchFilter.Equals("Check") || searchFilter.Equals("Act") || searchFilter.Equals("Park") || searchFilter.Equals("Abandon")) { ideas = ideas.Where(i => i.Status.Contains(searchFilter)); if (!String.IsNullOrEmpty(searchString)) { ideas = ideas.Where(i => i.Title.Contains(searchString)); } } if (searchFilter.Equals("ID")) { ideas = ideas.Where(i => i.ID.ToString().Contains(searchString)); } if (searchFilter.Equals("Subscribed")) { List <Idea> subscribedIdeas = new List <Idea>(); subscriptions = subscriptions.Where(i => i.UserID.Equals(user.Id) && i.Subscribed == true); foreach (var subscription in subscriptions) { foreach (var idea in ideas) { if (subscription.IdeaID.Equals(idea.ID)) { subscribedIdeas.Add(idea); } } } ideas = subscribedIdeas.AsQueryable <Idea>(); if (!String.IsNullOrEmpty(searchString)) { ideas = ideas.Where(i => i.Title.Contains(searchString)); } } if (searchFilter.Equals("TeamMember")) { ideas = ideas.Where(i => i.Name.Contains(searchString) && i.Team.Equals(user.Team)); } if (searchFilter.Equals("TeamName")) { ideas = ideas.Where(i => i.Team.Contains(searchString)); } } else { if (!String.IsNullOrEmpty(searchString)) { ideas = ideas.Where(i => i.Title.Contains(searchString)); } } List <IdeaViewModel> ideasModel = new List <IdeaViewModel>(); Like userLike; Subscribe userSub; foreach (var item in ideas) { var ideaComments = comments.Where(i => i.IdeaID.Equals(item.ID)); var ideaLikes = likes.Where(i => i.IdeaID.Equals(item.ID) && i.Liked == true); userLike = await ideaLikes.Where(i => i.UserID.Equals(user.Id)).FirstOrDefaultAsync(); userSub = await subscriptions.Where(i => i.UserID == user.Id && i.IdeaID == item.ID).FirstOrDefaultAsync(); IdeaViewModel formattedIdea = new IdeaViewModel { Idea = item, Comments = await ideaComments.ToListAsync(), LikeCount = ideaLikes.Count(), UserLike = userLike, Subscription = userSub }; ideasModel.Add(formattedIdea); } return(View(ideasModel)); }