public async Task <ActionResult> Edit(Person person) { var personGroupId = Request.Form["PersonGroupId"]; if (string.IsNullOrEmpty(personGroupId)) { return(HttpNotFound("PersonGroupId is missing")); } if (!ModelState.IsValid) { ViewBag.PersonGroupId = personGroupId; return(View(person)); } try { if (person.PersonId == Guid.Empty) { await FaceClient.CreatePersonAsync(personGroupId, person.Name, person.UserData); } else { await FaceClient.UpdatePersonAsync(personGroupId, person.PersonId, person.Name, person.UserData); } return(RedirectToAction("Index", new { id = personGroupId })); } catch (FaceAPIException fex) { ModelState.AddModelError(string.Empty, fex.ErrorMessage); } return(View(person)); }