public async Task <ActionResult <BrandResource> > UpdateBrand(int id, [FromBody] SaveBrandResource saveBrandResource) { var validator = new SaveBrandResourceValidator(); var validationResult = await validator.ValidateAsync(saveBrandResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok } var brandToBeUpdated = await _brandService.GetBrandById(id); if (brandToBeUpdated == null) { return(NotFound()); } var brand = _mapper.Map <SaveBrandResource, Brand>(saveBrandResource); await _brandService.UpdateBrand(brandToBeUpdated, brand); var updatedBrand = await _brandService.GetBrandById(id); var updatedBrandResource = _mapper.Map <Brand, BrandResource>(updatedBrand); return(Ok(updatedBrandResource)); }
public async Task <ActionResult <BrandResource> > CreateBrand([FromBody] SaveBrandResource saveBrandResource) { var validator = new SaveBrandResourceValidator(); var validationResult = await validator.ValidateAsync(saveBrandResource); if (!validationResult.IsValid) { return(BadRequest(validationResult.Errors)); // this needs refining, but for demo it is ok } var brandToCreate = _mapper.Map <SaveBrandResource, Brand>(saveBrandResource); var newBrand = await _brandService.CreateBrand(brandToCreate); var brand = await _brandService.GetBrandById(newBrand.BrandId); var brandResource = _mapper.Map <Brand, BrandResource>(brand); return(Ok(brandResource)); }