public static ValidacionEncargoModelDTO ObtenerValidaciones(EncargoModelDTO encargo) { ValidationContext context = new ValidationContext(encargo, null, null); ICollection <ValidationResult> results = new List <ValidationResult>(); bool isValid = Validator.TryValidateObject(encargo, context, results, true); ValidacionEncargoModelDTO encargoValidado = new ValidacionEncargoModelDTO() { Encargo = encargo, ValidationErrors = new List <ErrorEncargoModelDTO>() }; if (!isValid) { foreach (ValidationResult result in results) { encargoValidado.ValidationErrors.Add(new ErrorEncargoModelDTO() { ErrorDescription = result.ErrorMessage, PropertyName = result.MemberNames.First() }); } } return(encargoValidado); }
public IHttpActionResult CheckEntity(EncargoModelDTO encargoDTO) { // Ésto se hace así y no con el ModelState ya que de ésta forma // facilita la personalización del Json de respuesta en caso de error. ValidacionEncargoModelDTO validacion = ValidationHelper.ObtenerValidaciones(encargoDTO); return(Ok(validacion)); }
public async Task <IHttpActionResult> GetEncargoById(int id) { EncargoModel encargoContext = await DbContext.Encargos.FindAsync(id); if (encargoContext == null) { return(BadRequest("El id especificado no existe.")); } EncargoModelDTO encargoDTO = Mapper.Map <EncargoModelDTO>(encargoContext); return(Ok(encargoDTO)); }
public async Task <IHttpActionResult> DeleteEncargo(int id) { EncargoModel encargoContext = await DbContext.Encargos.FindAsync(id); if (encargoContext == null) { return(BadRequest("El id especificado no existe.")); } DbContext.Encargos.Remove(encargoContext); await DbContext.SaveChangesAsync(); EncargoModelDTO encargoDTO = Mapper.Map <EncargoModelDTO>(encargoContext); return(Ok(encargoDTO)); }
public async Task <IHttpActionResult> UpdateEncargo(EncargoModelDTO encargoDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } EncargoModel encargoContext = Mapper.Map <EncargoModel>(encargoDTO); DbContext.Entry(encargoContext).State = EntityState.Modified; await DbContext.SaveChangesAsync(); encargoDTO = Mapper.Map <EncargoModelDTO>(encargoContext); return(Ok(encargoDTO)); }
public async Task <IHttpActionResult> CreateEncargo(EncargoModelDTO encargoDTO) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } EncargoModel encargoContext = Mapper.Map <EncargoModel>(encargoDTO); DbContext.Encargos.Add(encargoContext); await DbContext.SaveChangesAsync(); encargoDTO = Mapper.Map <EncargoModelDTO>(encargoContext); return(Created("api/Encargos/" + encargoDTO.EncargoId, encargoDTO)); }