public async Task <IActionResult> Put(int id, SaveEquipmentDto equipmentDto) { var validator = new SaveEquipmentResourceValidator(); var validationResult = await validator.ValidateAsync(equipmentDto); var requestIsInvalid = id == 0 || !validationResult.IsValid; if (requestIsInvalid) { return(BadRequest(validationResult.Errors)); } if (!EquipmentExists(id)) { return(NotFound()); } var equipment = _mapper.Map <SaveEquipmentDto, Equipment>(equipmentDto); try { await _equipmentService.UpdateEquipment(id, equipment); var updatedEquipment = await _equipmentService.GetEquipmentById(id); var updatedEquipmentResource = _mapper.Map <Equipment, EquipmentDto>(updatedEquipment); return(Ok(updatedEquipmentResource)); } catch (Exception) { throw new Exception(StatusCodes.Status500InternalServerError.ToString()); } }
public async Task <ActionResult <EquipmentDto> > Post(SaveEquipmentDto equipmentDto) { var validator = new SaveEquipmentResourceValidator(); var validationResult = await validator.ValidateAsync(equipmentDto); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var equipmentToCreate = _mapper.Map <SaveEquipmentDto, Equipment>(equipmentDto); var newEquipment = await _equipmentService.CreateEquipment(equipmentToCreate); var equipment = await _equipmentService.GetEquipmentById(newEquipment.Id); var equipmentResource = _mapper.Map <Equipment, EquipmentDto>(equipment); return(Ok(equipmentResource)); }