public async Task <ActionResult <StatusResource> > UpdateType(int id, [FromBody] SaveTypeResource saveTypeResource) { var validator = new SaveTypeResourceValidator(); var validationResult = await validator.ValidateAsync(saveTypeResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok } var typeToBeUpdated = await _typeService.GetTypeById(id); if (typeToBeUpdated == null) { return(NotFound()); } var type = _mapper.Map <SaveTypeResource, Type>(saveTypeResource); await _typeService.UpdateType(typeToBeUpdated, type); var updatedType = await _typeService.GetTypeById(id); var updatedTypeResource = _mapper.Map <Type, TypeResource>(updatedType); return(Ok(updatedTypeResource)); }
public async Task <ActionResult <TypeResource> > CreateType([FromBody] SaveTypeResource saveTypeResource) { var validator = new SaveTypeResourceValidator(); var validationResult = await validator.ValidateAsync(saveTypeResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok } var typeToCreate = _mapper.Map <SaveTypeResource, Type>(saveTypeResource); var newType = await _typeService.CreateType(typeToCreate); var type = await _typeService.GetTypeById(newType.Id); var typeResource = _mapper.Map <Type, TypeResource>(type); return(Ok(typeResource)); }