public async Task Update(int id, BrandItemRequest request) { var item = await _dbContext.Brands .FirstOrDefaultAsync(x => x.Id == id); if (item == null) { throw new InvalidBrandException(); } item.Name = request.Name; item.Image = request.Image; await _dbContext.SaveChangesAsync(); }
public async Task <IActionResult> Update(int id, [FromBody] BrandItemRequest request) { if (!ModelState.IsValid) { BadRequest(ModelState); } try { await _brandsRepository.Update(id, request); return(NoContent()); } catch (InvalidBrandException) { return(NotFound()); } }
public async Task <IActionResult> Create([FromBody] BrandItemRequest request) { if (!ModelState.IsValid) { return(BadRequest(ModelState)); } try { var itemId = await _brandsRepository.Create(request); return(CreatedAtAction(nameof(GetById), new { id = itemId }, itemId)); } catch (DuplicateBrandException) { return(StatusCode(StatusCodes.Status409Conflict, new { Message = "A brand with those details already exists." })); } }
public async Task <int> Create(BrandItemRequest request) { var newItem = new Brand { Name = request.Name, Image = request.Image, }; if (await BrandExists(newItem)) { throw new DuplicateBrandException(); } _dbContext.Add(newItem); await _dbContext.SaveChangesAsync(); return(newItem.Id); }