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)); }
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(); model.ExpenseGroupStatusses = JsonConvert.DeserializeObject <IEnumerable <ExpenseGroupStatus> >(egsContent); } else { return(Content("An error occurred.")); } HttpResponseMessage 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 pagedExpenseGroupsList = new StaticPagedList <ExpenseGroup>(expenseGroups, pagingInfo.CurrentPage, pagingInfo.PageSize, pagingInfo.TotalCount); model.ExpenseGroups = pagedExpenseGroupsList; model.PagingInfo = pagingInfo; } else { return(Content("An error occured.")); } return(View(model)); }
// POST: ExpenseGroups/Delete/5 public async Task <ActionResult> Delete(int id) { try { var client = ExpenseTrackerHttpClient.GetClient(); var response = await client.DeleteAsync("api/expensegroups/" + id); if (response.IsSuccessStatusCode) { return(RedirectToAction("Index")); } else { return(Content("An error occurred.")); } } catch (Exception) { return(Content("An error occurred.")); } }
private async Task GetExpenseGroups() { // load open expense groups var client = ExpenseTrackerHttpClient.GetClient(); // don't need to get status as we're not displaying it // filters out expensegroups that aren't open HttpResponseMessage response = await client.GetAsync("api/expensegroups?fields=id,title,description&status=open"); string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { var lstEG = JsonConvert.DeserializeObject <IEnumerable <ExpenseGroup> >(content); ExpenseGroups = new ObservableCollection <ExpenseGroup>(lstEG); } else { // something went wrong, log this, handle this, show message, ... } }
// GET: Expenses/Edit/5 public async Task <ActionResult> Edit(int id) { //var client = ExpenseTrackerHttpClient.GetClient("2"); var client = ExpenseTrackerHttpClient.GetClient(); //HttpResponseMessage response = await client.GetAsync("api/expenses/" + id // + "?fields=id,description,date,amount"); HttpResponseMessage response = await client.GetAsync("api/expenses/" + id); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var model = JsonConvert.DeserializeObject <Expense>(content); return(View(model)); } return(Content("An error occurred.")); }
private async Task GetExpenseGroups() { // load open expense groups var client = ExpenseTrackerHttpClient.GetClient(); HttpResponseMessage response = await client .GetAsync("api/expensegroups?fields=id,title,description&status=open"); string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { var lstEG = JsonConvert.DeserializeObject <IEnumerable <ExpenseGroup> >(content); ExpenseGroups = new ObservableCollection <ExpenseGroup>(lstEG); GroupList.ItemsSource = ExpenseGroups; } else { // something went wrong, log this, handle this, show message, ... } }
// GET: Expenses/Delete/5 public async Task <ActionResult> Delete(int expenseGroupId, int id) { try { var client = ExpenseTrackerHttpClient.GetClient(); var response = await client.DeleteAsync("api/expenses/" + id); if (response.IsSuccessStatusCode) { return(RedirectToAction("Details", "ExpenseGroups", new { id = expenseGroupId })); } else { return(Content("An error occurred")); } } catch { return(Content("An error occurred")); } }
private async Task RefreshExpenses() { Expenses.Clear(); // load expenses for group var client = ExpenseTrackerHttpClient.GetClient(); HttpResponseMessage response = await client.GetAsync("api/expensegroups/" + ExpenseGroup.Id + "/expenses?fields=id,date,description,amount"); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var lstExpenses = JsonConvert.DeserializeObject <IEnumerable <Expense> >(content); Expenses = new ObservableCollection <Expense>(lstExpenses); } else { // something went wrong, log this, handle this, show message, ... } }
// GET: ExpenseGroups/Details/5 public async Task <ActionResult> Details(int id) { try { var client = ExpenseTrackerHttpClient.GetClient(); HttpResponseMessage response = await client.GetAsync("api/expensegroups/" + id + "?fields=id,description,title,expenses"); if (response.IsSuccessStatusCode) { string content = await response.Content.ReadAsStringAsync(); var model = JsonConvert.DeserializeObject <ExpenseGroup>(content); return(View(model)); } return(Content("An error occurred.")); } catch (Exception) { return(Content("An error occurred.")); } }
private async Task GetExpenseGroups() { // load open expense groups var client = ExpenseTrackerHttpClient.GetClient(); string userId = App.ExpenseTrackerIdentity.Claims .First(c => c.Name == "unique_user_key").Value; HttpResponseMessage response = await client .GetAsync("api/expensegroups?fields=id,title,description&status=open"); string content = await response.Content.ReadAsStringAsync(); if (response.IsSuccessStatusCode) { var lstEG = JsonConvert.DeserializeObject <IEnumerable <ExpenseGroup> >(content); ExpenseGroups = new ObservableCollection <ExpenseGroup>(lstEG); } else { // something went wrong, log this, handle this, show message, ... } }
private async Task AddExpense() { // create an expense var client = ExpenseTrackerHttpClient.GetClient(); // serialize & POST var serializedItemToCreate = JsonConvert.SerializeObject(Expense); var response = client.PostAsync("api/expenses", new StringContent(serializedItemToCreate, System.Text.Encoding.Unicode, "application/json")).Result; if (response.IsSuccessStatusCode) { // return to the expense overview App.RootFrame.Navigate(typeof(ExpensesView), true); } else { // handle, log, ... } }
public async Task <ActionResult> Edit(int id, ExpenseGroup expenseGroup) { #region editusingput //try //{ // var client = ExpenseTrackerHttpClient.GetClient(); // // serialize & PUT // var serializedItemToUpdate = JsonConvert.SerializeObject(expenseGroup); // var response = await client.PutAsync("api/expensegroups/" + id, // new StringContent(serializedItemToUpdate, // System.Text.Encoding.Unicode, "application/json")); // if (response.IsSuccessStatusCode) // { // return RedirectToAction("Index"); // } // else // { // return Content("An error occurred"); // } //} //catch //{ // return Content("An error occurred"); //} #endregion #region editusingpatch try { var client = ExpenseTrackerHttpClient.GetClient(); JsonPatchDocument <DTO.ExpenseGroup> patchDoc = new JsonPatchDocument <ExpenseGroup>(); patchDoc.Replace(eg => eg.Title, expenseGroup.Title); patchDoc.Replace(eg => eg.Description, expenseGroup.Description); var serializedItemToUpdate = JsonConvert.SerializeObject(patchDoc); var response = await client.PatchAsync("api/expensegroups/" + id, new StringContent(serializedItemToUpdate, System.Text.Encoding.Unicode, "application/json")); if (response.IsSuccessStatusCode) { return(RedirectToAction("Index")); } else { return(Content("An error occurred")); } } catch { return(Content("An error occurred")); } #endregion }