public IActionResult DeleteByPost( int personNameId) { var name = _personData .GetPersonNameWithNavigation( personNameId); if (name == null) return NotFound(); _personData.DeletePersonName(name); _personData.AdjustAllNameWeights(name.PersonId); // // Update RDF // var readPerson = _personData.ReadAllPersonData(name.Person.PersonGuid); if (readPerson != null) _rdfData.AddOrUpdatePerson(readPerson); // // Update search index // var names = new List<string>(); var person = _personData .ReadPersonWithNames( name.Person.PersonGuid); foreach (var n in person.Names.OrderByDescending(x => x.NameWeight)) { var fullName = string.Join(" ", new[] { n.Prefix, n.First, n.Middle, n.Last, n.Suffix }.Where(x => !string.IsNullOrWhiteSpace(x)).ToArray()); names.Add(fullName); } // TODO try catch to handle errors _personSearchIndex.MergeNames( person.PersonGuid.ToString(), names.ToArray()); // // Redirect // return RedirectToAction( "Details", "Person", new { personGuid = name.Person.PersonGuid }); }