Esempio n. 1
0
        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)));
        }
Esempio n. 2
0
        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));
        }