public static StructureForTask5 Task5(int i) { userServive = new Service(); List <User> users = userServive.GetUsers(); var structure = users.Where(u => u.Id == i).Select( u => new { User = u, LastPost = u.posts.OrderByDescending(t => t.CreatedAt).FirstOrDefault(), LastPostComments = (u.posts.OrderByDescending(t => t.CreatedAt).FirstOrDefault()).comments.Count, FailedTodo = u.todos.Where(t => t.ISComplete == false).Count(), PopularPostComment = u.posts.Where(p => p.Body.Length > 80).OrderByDescending(p => p.comments.Count).FirstOrDefault(), PopularPostLike = u.posts.OrderByDescending(p => p.Likes).DefaultIfEmpty().FirstOrDefault() }).FirstOrDefault(); StructureForTask5 resultStructure = new StructureForTask5(); resultStructure.User = structure.User; resultStructure.LastPost = structure.LastPost; resultStructure.CommentLastPost = structure.LastPostComments; resultStructure.UncompletedTodo = structure.FailedTodo; resultStructure.MostCommentPost = structure.PopularPostComment; resultStructure.MostLikesPost = structure.PopularPostLike; return(resultStructure); }
public ActionResult Index(string searchId) { ViewBag.Check = 0; if (searchId != null) { ViewBag.Check = 1; try { int indx = Convert.ToInt32(searchId); StructureForTask5 result = BuisnessLogic.Tasks.Task5(indx); return(View(result)); } catch { ViewBag.Check = 2; return(View()); } } return(View()); }