コード例 #1
0
        public ValidatePersonaResult ValidatePersona(Persona persona)
        {
            var result = new ValidatePersonaResult();

            if (persona.Nombre == null)
            {
                result.ErrorMessages.Add("El nombre es requerido.");
            }

            if (persona.Apellido == null)
            {
                result.ErrorMessages.Add("El apellido es requerido.");
            }

            if (persona.Edad == null)
            {
                result.ErrorMessages.Add("La edad es requerida.");
            }

            if (persona.Sexo == null)
            {
                result.ErrorMessages.Add("El sexo es requerido.");
            }

            return(result);
        }
コード例 #2
0
        public void ValidatePersona_NullApellido_ReturnsError()
        {
            //Arrange
            var persona = new Persona
            {
                Nombre = "name",
                Edad   = 11,
                Sexo   = Sexo.F
            };
            var validator = new Validator();

            //Act
            ValidatePersonaResult result = validator.ValidatePersona(persona);

            //Assert
            Assert.IsFalse(result.Success);
            Assert.AreEqual(1, result.ErrorMessages.Count());
            Assert.AreEqual("El apellido es requerido.", result.ErrorMessages.First());
        }
コード例 #3
0
        public ProcessResult Process(PersonaRequest personaRequest)
        {
            var processResult = new ProcessResult();

            PersonasResult validationResult = PersonaValidator.ValidateInputList(personaRequest);

            if (!validationResult.Success)
            {
                string erroresString = String.Join("\n", validationResult.ErrorMessages);
                processResult.ErrorMessage = $"El proceso no puede ser completado. Error: " +
                                             $"{erroresString}";
            }
            else
            {
                string erroresString = null;

                foreach (var persona in personaRequest.Personas)
                {
                    ValidatePersonaResult validatePersonaResult = PersonaValidator.ValidatePersona(persona);

                    if (validatePersonaResult.Success)
                    {
                        if (persona.Sexo == Sexo.F && persona.Edad > 17)
                        {
                            processResult.PersonasMujeresMayoresDe18
                            .Add(PersonaFormatter.FormatPersona(persona));
                        }
                    }
                    else
                    {
                        erroresString = string.Join("\n", validatePersonaResult.ErrorMessages);
                    }
                }

                if (!string.IsNullOrEmpty(erroresString))
                {
                    processResult.ErrorMessage = $"El proceso no puede ser completado. Error: {erroresString}";
                }
            }
            return(processResult);
        }