コード例 #1
0
        public string CreatePerson(CreatePersonModel personModel)
        {
            try
            {
                var validationResult = personModel.Evaluate();
                if (validationResult.IsFailure)
                {
                    return(validationResult.Error);
                }

                var person = personModel.ToBusinessObject();

                if (this.personQuery.WithSameName(person.FirstName, person.Name))
                {
                    var createNewPerson =
                        View.YesNoChoice(
                            "A person with same firstname an name exist, are you sure you want to create a new one ?");
                    if (!createNewPerson)
                    {
                        return("Person has not been created");
                    }
                }

                this.personService.CreatePerson(person);

                return("Person created");
            }
            catch (ArgumentNullException exception)
            {
                var parameter = exception.GetParameter();
                return($"It is not possible to create a person without {parameter}");
            }
            catch (Exception)
            {
                return("An unknow error was thrown");
            }
        }