示例#1
0
 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());
                }
            }
        }