예제 #1
0
        public IActionResult Timeline(Parameters parameters)
        {
            var model = GetUserDetailModel(parameters.ID);

            if (model != null)
            {
                model.Navigation = new NavigationModel {
                    List = "Timeline", ID = parameters.ID
                };
                model.Data = DataListOperations.List(
                    _eventManager.GetEventsForTimeline(model.User.ID, model.User.Status),
                    parameters,
                    $"/{model.User.Username}");
            }

            return(View(model));
        }
예제 #2
0
        private ObjectListModel FollowingList(IQueryable <Follow> query, Parameters parameters, string url)
        {
            ObjectListModel result = new ObjectListModel();

            result.Url = url;

            if (!string.IsNullOrEmpty(parameters.Search))
            {
                url += url.Contains("?") ? "&" : "?";

                query = query.Where(a => EF.Property <string>(a.Following, parameters.Filter).Contains(parameters.Search)) as IOrderedQueryable <Follow>;

                url += "Filter=" + parameters.Filter + "&Search=" + parameters.Search;
            }

            result = DataListOperations.ListOperation(result, query, parameters, url);

            return(result);
        }
예제 #3
0
        public IActionResult Folders(Parameters parameters)
        {
            var model = GetGroupDetailModel(parameters);

            if (model != null)
            {
                model.Navigation = new NavigationModel {
                    List = "Folders", ID = parameters.ID
                };
                model.Data = DataListOperations.List(
                    _folderManager.Table()
                    .Where(a => a.Group.ID == model.Group.ID)
                    .Include(a => a.Group)
                    .Include(a => a.Notes)
                    .OrderByDescending(a => a.CreateDate),
                    parameters,
                    $"/{parameters.ID}/group-detail");

                model.Data.Filters.AddRange(new String[] { "Name" });
            }

            return(View(model));
        }
예제 #4
0
        public IActionResult Notes(Parameters parameters)
        {
            var model = GetGroupDetailModel(parameters);

            if (model != null)
            {
                model.Navigation = new NavigationModel {
                    List = "Notes", ID = parameters.ID
                };
                model.Data = DataListOperations.List(
                    _noteManager.Table()
                    .Where(a => a.Group.ID == model.Group.ID)
                    .Include(a => a.Group)
                    .Include(a => a.Users)
                    .ThenInclude(b => b.User)
                    .OrderByDescending(a => a.CreateDate),
                    parameters,
                    $"/{parameters.ID}/group-detail/notes");

                model.Data.Filters.AddRange(new String[] { "Title", "Content" });
            }

            return(View(model));
        }
예제 #5
0
        public IActionResult Index(Parameters parameters)
        {
            var user = HttpContext.Session.GetSession <User>("User");

            var model = new IndexPageModel();

            if (user != null)
            {
                user = _userManager.Table().Where(a => a.ID == user.ID).Include(a => a.Following).FirstOrDefault();

                model.Data = DataListOperations.List(
                    _eventManager.getMany(a => user.Following.Any(b => b.FollowingID == a.User.ID) && a.View == true)
                    .Include(a => a.User)
                    .OrderByDescending(a => a.CreateDate),
                    parameters,
                    $"/");
            }
            else
            {
                model.Explanation = _settingsManager.Table().FirstOrDefault()?.Introduction;
            }

            return(View(model));
        }
예제 #6
0
        public IActionResult Users(Parameters parameters)
        {
            var list = DataListOperations.List(_userManager.Table().OrderByDescending(a => a.CreateDate), parameters, "/notebook-membership");

            return(View(list));
        }