// [ResourceAuthorize("Read", "ExpenseGroup")] public async Task<ActionResult> Index(int? page = 1) { var client = ExpenseTrackerHttpClient.GetClient(); var model = new ExpenseGroupsViewModel(); HttpResponseMessage egsResponse = await client.GetAsync("api/expensegroupstatusses"); if (egsResponse.IsSuccessStatusCode) { string egsContent = await egsResponse.Content.ReadAsStringAsync(); var lstExpenseGroupStatusses = JsonConvert.DeserializeObject<IEnumerable<ExpenseGroupStatus>>(egsContent); model.ExpenseGroupStatusses = lstExpenseGroupStatusses; } else { return Content("An error occurred."); } string userId = (this.User.Identity as ClaimsIdentity).FindFirst("unique_user_key").Value; HttpResponseMessage response = await client.GetAsync("api/expensegroups?sort=expensegroupstatusid" + ",title&page=" + page + "&pagesize=5&userid=" + userId); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); // get the paging info from the header var pagingInfo = HeaderParser.FindAndParsePagingInfo(response.Headers); var lstExpenseGroups = JsonConvert.DeserializeObject<IEnumerable<ExpenseGroup>>(content); var pagedExpenseGroupsList = new StaticPagedList<ExpenseGroup>(lstExpenseGroups, pagingInfo.CurrentPage, pagingInfo.PageSize, pagingInfo.TotalCount); model.ExpenseGroups = pagedExpenseGroupsList; model.PagingInfo = pagingInfo; } else { return Content("An error occurred."); } return View(model); }
//[ResourceAuthorize("Read", "ExpenseGroup")] //(this authorization attribute can also be put at entire controller level) public async Task<ActionResult> Index(int? page = 1) { var client = ExpenseTrackerHttpClient.GetClient(); var model = new ExpenseGroupsViewModel(); var egsResponse = await client.GetAsync("api/expensegroupstatusses"); if (egsResponse.IsSuccessStatusCode) { string egsContent = await egsResponse.Content.ReadAsStringAsync(); var lstExpenseGroupStatusses = JsonConvert .DeserializeObject<IEnumerable<ExpenseGroupStatus>>(egsContent); model.ExpenseGroupStatusses = lstExpenseGroupStatusses; } else { return Content("An error occurred."); } var response = await client.GetAsync("api/expensegroups?sort=expensegroupstatusid" + ",title&page=" + page + "&pagesize=5"); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var pagingInfo = HeaderParser.FindAndParsePagingInfo(response.Headers); var expenseGroups = JsonConvert .DeserializeObject<IEnumerable<ExpenseGroup>>(content); var pagedExpenseGroupList = new StaticPagedList<ExpenseGroup>( expenseGroups, pagingInfo.CurrentPage, pagingInfo.PageSize, pagingInfo.TotalCount); model.ExpenseGroups = pagedExpenseGroupList; model.PagingInfo = pagingInfo; } else { return Content("An error occured."); } return View(model); }
public async Task<ActionResult> Index() { var client = ExpenseTrackerHttpClient.GetClient(); var model = new ExpenseGroupsViewModel(); var egsResponse = await client.GetAsync("api/expensegroupstatusses"); if (egsResponse.IsSuccessStatusCode) { string egsContent = await egsResponse.Content.ReadAsStringAsync(); var lstExpenseGroupStatusses = JsonConvert .DeserializeObject<IEnumerable<ExpenseGroupStatus>>(egsContent); model.ExpenseGroupStatusses = lstExpenseGroupStatusses; } else { return Content("An error occurred."); } HttpResponseMessage response = await client.GetAsync("api/expensegroups"); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var lstExpenseGroups = JsonConvert.DeserializeObject<IEnumerable<ExpenseGroup>>(content); model.ExpenseGroups = lstExpenseGroups; } else { return Content("An error occurred."); } return View(model); }