public async Task <ActionResult> Create(CreateHouseholdViewModel model) { if (ModelState.IsValid) { var id = _manager.Add(new Household { Name = model.Name }); _manager.AddUserToHousehold(User.Identity.GetUserId(), id); await AddHouseholdClaim(id, model.Name); } return(RedirectToAction(nameof(Index))); }
public ActionResult Edit(int id, CreateHouseholdViewModel model) { var httpClient = HttpContext.Items["httpClient"] as HttpClient; var parameters = new List <KeyValuePair <string, string> >(); parameters.Add(new KeyValuePair <string, string>("name", model.Name)); parameters.Add(new KeyValuePair <string, string>("description", model.Description)); var encodedParameters = new FormUrlEncodedContent(parameters); var response = httpClient.PutAsync(url + $"PutHousehold/{id}", encodedParameters).Result; return(CheckStatusCode(response, "Edit")); }
public ActionResult Create(CreateHouseholdViewModel createHouseholdViewModel) { if (!ModelState.IsValid) { return(View(createHouseholdViewModel)); } var url = $"{ProjectConstants.APIURL}/api/household/create"; var parameters = new List <KeyValuePair <string, string> > { new KeyValuePair <string, string>("Name", createHouseholdViewModel.Name), new KeyValuePair <string, string>("Description", createHouseholdViewModel.Description) }; // x-www-form-encoded tag, just like in post man, so that the data is sent on the body. var encodedParameters = new FormUrlEncodedContent(parameters); var response = HttpClientContext.httpClient.PostAsync(url, encodedParameters).Result; if (response.IsSuccessStatusCode) { TempData.Add("Message", "Household Created!"); return(RedirectToAction("Index", "Household")); } else { if (createHouseholdViewModel != null) { ErrorHelpers.HandleResponseErrors(response, TempData, ModelState); return(View(createHouseholdViewModel)); } else { ErrorHelpers.HandleResponseErrors(response, TempData, ModelState); return(View()); } } }