public IActionResult Create(MissingPeopleFormViewModel model) { var selectedLanguages = model.SelectedLanguages; var selectedCountries = model.SelectedCountries; if (selectedCountries == null || selectedLanguages == null) { ModelState.AddModelError(string.Empty, "Please choose language and nationality."); } if (!ModelState.IsValid) { model.Languages = this.GetLanguages(); model.Countries = this.GetCountries(); return(View(model)); } var existingLanguages = this.bountyAdminService.AreLanguagesExisting(model.SelectedLanguages); var existingCountries = this.bountyAdminService.AreCountriesExisting(model.SelectedCountries); if (!existingLanguages || !existingCountries) { return(BadRequest("Unexisting language or country.")); } try { this.bountyAdminService.CreateMissingPerson( model.FirstName, model.LastName, model.Gender, model.DateOfBirth, model.PlaceOfBirth, model.DateOfDisappearance, model.PlaceOfDisappearance, model.Height, model.Weight, model.HairColor, model.EyeColor, model.PictureUrl, model.SelectedCountries, model.SelectedLanguages, model.AllNames, model.ScarsOrDistinguishingMarks); } catch (InvalidOperationException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } TempData.AddSuccessMessage("Person successfully added to the system."); return(RedirectToAction(nameof(Create))); }
public IActionResult Edit(int id, MissingPeopleFormViewModel model) { var exsitingPerson = this.missingPeopleService.IsPersonExisting(id); if (!exsitingPerson) { return(BadRequest()); } var selectedLanguages = model.SelectedLanguages; var selectedCountries = model.SelectedCountries; if (selectedCountries == null || selectedLanguages == null) { ModelState.AddModelError(string.Empty, "Please choose language and nationality! Refresh the page in order to see the old languages and nationalities!"); } if (!ModelState.IsValid) { model.Languages = this.GetLanguages(); model.Countries = this.GetCountries(); return(View(model)); } var existingLanguages = this.bountyAdminService.AreLanguagesExisting(model.SelectedLanguages); var existingCountries = this.bountyAdminService.AreCountriesExisting(model.SelectedCountries); if (!existingLanguages || !existingCountries) { return(BadRequest("Unexisting language or country.")); } try { this.bountyAdminService.EditMissingPerson( id, model.FirstName, model.LastName, model.Gender, model.DateOfBirth, model.PlaceOfBirth, model.DateOfDisappearance, model.PlaceOfDisappearance, model.Height, model.Weight, model.HairColor, model.EyeColor, model.PictureUrl, model.SelectedCountries, model.SelectedLanguages, model.AllNames, model.ScarsOrDistinguishingMarks); } catch (InvalidOperationException ex) { return(BadRequest(ex.Message)); } catch (Exception ex) { return(BadRequest(ex.Message)); } TempData.AddSuccessMessage($"Person {model.FirstName} {model.LastName} successfully changed"); return(RedirectToAction(nameof(Web.Controllers.MissingPeopleController.Index), MissingPeopleControllerName)); }