Esempio n. 1
0
        public async Task <IActionResult> Post([FromBody] PersonaViewModelNueva personaViewModel)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (personaViewModel == null)
                {
                    return(BadRequest());
                }

                DtoPersona personaGuardada = await PersonaDominio.InsertarPersonaAsync(Mapper.Map <Entidades.Persona>(personaViewModel));

                return(CreatedAtRoute("PersonaById", new { id = personaGuardada.Id }, personaGuardada));
            }
            catch (DatosInvalidosException ex)
            {
                return(BadRequest(Errores.GetModelStateErrores(ex.Data)));
            }
            catch
            {
                return(StatusCode(500));
            }
        }
Esempio n. 2
0
        public void PersonaViewModelNueva_Validar_Datos()
        {
            // Inicializacion
            List <ValidationResult> validaciones       = new List <ValidationResult>();
            PersonaViewModelNueva   personaVM          = new PersonaViewModelNueva();
            ValidationContext       validacionContexto = new ValidationContext(personaVM, null, null);

            // Acto
            bool valido = Validator.TryValidateObject(personaVM, validacionContexto, validaciones, true);

            // Acierto
            Assert.False(valido);
            Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar NumeroDocumento"));
            Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar Nombre"));
            Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar Apellido"));
            Assert.Contains(validaciones, p => p.ErrorMessage.Contains("Debe ingresar al menos un contacto"));

            Assert.Equal(4, validaciones.Count);
        }
Esempio n. 3
0
        public void PersonaViewModelNueva_Validar_Documento(string numeroDocumento)
        {
            // Inicializacion
            List <ValidationResult> validaciones = new List <ValidationResult>();
            PersonaViewModelNueva   personaVM    = new PersonaViewModelNueva();

            personaVM.Apellido  = "Fernandez";
            personaVM.Nombre    = "Sebastian";
            personaVM.Contactos = new List <string>()
            {
                "contacto"
            };
            personaVM.FechaNacimiento = DateTime.Now.AddYears(-20);
            personaVM.NumeroDocumento = numeroDocumento;

            ValidationContext validacionContexto = new ValidationContext(personaVM, null, null);

            // Acto
            bool valido = Validator.TryValidateObject(personaVM, validacionContexto, validaciones, true);

            // Acierto
            Assert.False(valido);
            Assert.Single(validaciones);
        }