public async Task <ActionResult <HoldingRes> > Update(int id, [FromBody] SaveHoldingRes saveHoldingRes) { var validator = new SaveHoldingValidator(); var validationResult = await validator.ValidateAsync(saveHoldingRes); var requestIsInvalid = id == 0 || !validationResult.IsValid; if (requestIsInvalid) { return(BadRequest(validationResult.Errors)); } var holdingToBeUpdate = await _service.GetById(id); if (holdingToBeUpdate == null) { return(NotFound()); } var holding = _mapper.Map <SaveHoldingRes, Holding>(saveHoldingRes); await _service.Update(holdingToBeUpdate, holding); var updatedHolding = await _service.GetById(id); var updatedHoldingResource = _mapper.Map <Holding, HoldingRes>(updatedHolding); return(Ok(updatedHoldingResource)); }
public async Task <ActionResult <HoldingRes> > Create([FromBody] SaveHoldingRes saveHoldingRes) { var validator = new SaveHoldingValidator(); var validationResult = await validator.ValidateAsync(saveHoldingRes); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); } var create = await _service.Create(_mapper.Map <SaveHoldingRes, Holding>(saveHoldingRes)); var holding = await _service.GetById(create.ModelId); var resource = _mapper.Map <Holding, HoldingRes>(holding); return(Ok(resource)); }