예제 #1
0
        public async Task<ActionResult> Create(ExpenseGroup expenseGroup)
        {
            try
            {
                var client = ExpenseTrackerHttpClient.GetClient();

                // an expensegroup is created with status "Open", for the current user
                expenseGroup.ExpenseGroupStatusId = 1;
                expenseGroup.UserId = @"https://expensetrackeridsrv3/embedded_1";

                var serializedItemToCreate = JsonConvert.SerializeObject(expenseGroup);

                var response = await client.PostAsync("api/expensegroups",
                    new StringContent(serializedItemToCreate,
                        System.Text.Encoding.Unicode,
                        "application/json"));

                if (response.IsSuccessStatusCode)
                {
                    return RedirectToAction("Index");
                }
                else
                {
                    return Content("An error occurred.");
                }
            }
            catch
            {
                return Content("An error occurred.");
            }

        }
예제 #2
0
        public async Task<ActionResult> Edit(int id, ExpenseGroup expenseGroup)
        {
            try
            {
                var client = ExpenseTrackerHttpClient.GetClient();

                // create a JSON Patch Document
                JsonPatchDocument<DTO.ExpenseGroup> patchDoc = new JsonPatchDocument<DTO.ExpenseGroup>();
                patchDoc.Replace(eg => eg.Title, expenseGroup.Title);
                patchDoc.Replace(eg => eg.Description, expenseGroup.Description);

                // serialize and PATCH
                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");
            }
        }
예제 #3
0
 public ActionResult Edit(int id, ExpenseGroup expenseGroup)
 {
     return View();
 }
예제 #4
0
 public ActionResult Create(ExpenseGroup expenseGroup)
 {
     return View();
 }
예제 #5
0
        public async Task<ActionResult> Create(ExpenseGroup expenseGroup)
        {
             try
            {
               var client = ExpenseTrackerHttpClient.GetClient();

               var claimsIdentity = this.User.Identity as ClaimsIdentity;
               var userId = claimsIdentity.FindFirst("unique_user_key").Value;

               // an expensegroup is created with status "Open", for the current user
               expenseGroup.ExpenseGroupStatusId = 1;
               expenseGroup.UserId = userId;

               var serializedItemToCreate = JsonConvert.SerializeObject(expenseGroup);

               var response = await client.PostAsync("api/expensegroups",
                 new StringContent(serializedItemToCreate,
                 System.Text.Encoding.Unicode, "application/json"));

               if (response.IsSuccessStatusCode)
               {
                   return RedirectToAction("Index");
               }
               else
               {
                   return Content("An error occurred");
               }

            }
            catch  
            {
               return Content("An error occurred.");
            }

        }
예제 #6
0
        public async Task<ActionResult> Edit(int id, ExpenseGroup expenseGroup)
        {
            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");
            }
        }
예제 #7
0
        public async Task<ActionResult> Create(ExpenseGroup expenseGroup)
        {
            try
            {
                var claimsIdentity = this.User.Identity as ClaimsIdentity;
                var userId = claimsIdentity.FindFirst("unique_user_key").Value;

                var client = ExpenseTrackerHttpClient.GetClient();

                expenseGroup.ExpenseGroupStatusId = 1;
                expenseGroup.UserId = userId;

                StringContent sc = new StringContent(JsonConvert.SerializeObject(expenseGroup),
                                        System.Text.Encoding.Unicode,
                                        "application/json");

                HttpResponseMessage response = await client.PostAsync("api/expensegroups", sc);

                if (response.IsSuccessStatusCode)
                {
                    return RedirectToAction("Index");
                }
                else
                {
                    return Content("An error occurred.");
                }

            }
            catch (Exception)
            {
                return Content("An error occurred.");
            }
        }
예제 #8
0
        public async Task<ActionResult> Edit(int id, ExpenseGroup expenseGroup)
        {
            try
            {
                var client = ExpenseTrackerHttpClient.GetClient();
                StringContent sc = new StringContent(JsonConvert.SerializeObject(expenseGroup),
                                        System.Text.Encoding.Unicode,
                                        "application/json");

                HttpResponseMessage response = await client.PutAsync("api/expensegroups/" + id, sc);

                if (response.IsSuccessStatusCode)
                {
                    return RedirectToAction("Index");
                }
                else
                {
                    return Content("An error occurred.");
                }

            }
            catch (Exception)
            {
                return Content("An error occurred.");
            }

        }
 public SetNewExpenseGroupMessage(ExpenseGroup expenseGroup)
 {
     ExpenseGroup = expenseGroup;
 }