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)); }
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)); }