Пример #1
0
        protected async Task <IActionResult> Get(string userName, ItemsLoaderDelegate itemsLoader, int offset, int count,
                                                 Func <IUser, string> itemsDefaultText, Func <IUser, string> title, Func <IUser, string> main)
        {
            int sum = OffsetCountResolver.ResolveOffsetCountWithReserve(offset, ref count);

            var userLeftMenuModel = await UserLeftMenuModel.FromDatabase(DbConnection, userName, User);

            if (userLeftMenuModel == null)
            {
                return(NotFound());
            }

            var items = await itemsLoader(userLeftMenuModel.Id, 0, sum, userLeftMenuModel);

            if (items.DefaultText == null)
            {
                items.DefaultText = itemsDefaultText(userLeftMenuModel);
            }

            ViewData["User"]  = userLeftMenuModel;
            ViewData["Title"] = title(userLeftMenuModel);
            ViewData["Main"]  = main(userLeftMenuModel);

            return(View("~/Views/SimpleListWithLoadMoreView.cshtml", items));
        }
Пример #2
0
        protected async Task <IActionResult> Post(string userName, ItemsLoaderDelegate itemsLoader, int offset, int count)
        {
            OffsetCountResolver.ResolveOffsetCountWithReserve(offset, ref count);
            var userId = await DbConnection.GetUserIdByNameAsync(userName);

            var items = await itemsLoader(userId, offset, count);

            if (items == null)
            {
                return(NotFound());
            }
            return(PartialView("~/Views/_Partials/ListWithLoadMore.cshtml", items));
        }