public async Task <IActionResult> Update(BrandReadDto brandCreateDto) { var brand = mapper.Map <Brand>(brandCreateDto); await brandService.Update(brand); return(NoContent()); }
public ActionResult <BrandReadDto> CreateBrand(BrandCreateDto brandCreateDto, [FromHeader(Name = "Accept")] string mediaType) { if (!MediaTypeHeaderValue.TryParse(mediaType, out MediaTypeHeaderValue parsedMediaType)) { return(BadRequest()); } Brand createdBrand = _mapper.Map <Brand>(brandCreateDto); _repository.AddBrand(createdBrand); _repository.SaveChanges(); BrandReadDto brandReadDto = _mapper.Map <BrandReadDto>(createdBrand); if (parsedMediaType.MediaType == "application/hateoas+json") { var links = CreateLinksForBrand(brandReadDto.Id); var propsDictionary = brandReadDto.ShapeData(null) as System.Collections.Generic.IDictionary <string, object>; propsDictionary.Add("links", links); return(CreatedAtRoute("GetBrandById", new { brandId = propsDictionary["Id"] }, propsDictionary)); } return(Ok(brandReadDto)); }
public ActionResult UpdateBrand(Guid brandId, BrandUpdateDto brandUpdateDto) { Brand brandFromRep = _repository.GetBrandById(brandId); //put upserting if (brandFromRep == null) { Brand newBrand = _mapper.Map <Brand>(brandUpdateDto); newBrand.Id = brandId; _repository.AddBrand(newBrand); _repository.SaveChanges(); BrandReadDto newBrandRead = _mapper.Map <BrandReadDto>(newBrand); return(CreatedAtRoute("GetBrandById", new { brandId }, newBrandRead)); } _mapper.Map(brandUpdateDto, brandFromRep); _repository.UpdateBrand(brandFromRep); _repository.SaveChanges(); return(NoContent()); }