示例#1
0
        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();
        }
示例#2
0
        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());
            }
        }
示例#3
0
        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." }));
            }
        }
示例#4
0
        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);
        }