Beispiel #1
0
        public async Task <bool> EditProductHeaderAsync(EditProductHeaderDto editProductHeader)
        {
            var productHeader = await _dbContext.ProductHeaders.FindAsync(editProductHeader.Id);

            productHeader.Model            = editProductHeader.Model;
            productHeader.Description      = editProductHeader.Description;
            productHeader.ShortDescription = editProductHeader.ShortDescription;
            productHeader.SubCategoryId    = editProductHeader.SubCategory.Id;
            productHeader.BrandId          = editProductHeader.Brand.Id;

            return(await _dbContext.SaveChangesAsync() > 0);
        }
        public async Task <IActionResult> EditProductHeader([FromBody] EditProductHeaderDto productHeader)
        {
            try
            {
                if (!ModelState.IsValid)
                {
                    return(BadRequest(ModelState));
                }

                if (!await _productRepository.ProductHeaderExistsAsync(productHeader.Id))
                {
                    ModelState.AddModelError("productHeader", "ProductHeader not found");
                    return(BadRequest(ModelState));
                }

                if (await _productRepository.IsDuplicateProductHeaderAsync(productHeader))
                {
                    ModelState.AddModelError("productHeader", "A product already exists");
                    return(BadRequest(ModelState));
                }

                var wasProductHeaderEdited = await _productRepository.EditProductHeaderAsync(productHeader);

                if (wasProductHeaderEdited)
                {
                    return(Ok());
                }

                return(NoContent());
            }
            catch (Exception e)
            {
                _logger.LogCritical($"PUT {Route} - {e.GetType().Name} - {e.Message} - {e.StackTrace}");
                return(StatusCode(500, "An error ocurred in server"));
            }
        }
Beispiel #3
0
 public async Task <bool> IsDuplicateProductHeaderAsync(EditProductHeaderDto productHeader)
 {
     return(await _dbContext.ProductHeaders.AnyAsync(c =>
                                                     c.Model.Equals(productHeader.Model, StringComparison.InvariantCultureIgnoreCase) && c.Id != productHeader.Id));
 }