public async Task <CategoryDto> Handle(PatchCategoryCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var category = await _appContext.Categories.FirstOrDefaultAsync(x => x.Id == request.Id);

                if (category == null)
                {
                    return(null);
                }

                var updateCategory = _mapper.Map <UpdateCategoryDto>(category);

                request.UpdateCategory.ApplyTo(updateCategory);

                var entity = _mapper.Map(updateCategory, category);
                _appContext.Categories.Attach(entity);

                await _appContext.SaveChangesAsync();

                return(null);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
        public async Task <ProductDto> Handle(PatchProductCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var product =
                    await _appContext.Products.FirstOrDefaultAsync(x => x.Id == request.Id, cancellationToken);

                if (product == null)
                {
                    return(null);
                }

                var update = _mapper.Map <UpdateProductDto>(product);
                request.UpdateProduct.ApplyTo(update);
                var entity = _mapper.Map(update, product);

                _appContext.Products.Attach(entity);
                await _appContext.SaveChangesAsync();

                return(null);
            }
            catch (Exception)
            {
                throw;
            }
        }
Example #3
0
        public async Task <CategoryDto> Handle(CreateCategoryCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var result = _appContext.Categories.AddAsync(_mapper.Map <Category>(request));
                await _appContext.SaveChangesAsync();

                return(null);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }
Example #4
0
        public async Task <ProductDto> Handle(UpdateProductCommand request, CancellationToken cancellationToken)
        {
            try
            {
                var result = _appContext.Products.Update(_mapper.Map <Product>(request));
                await _appContext.SaveChangesAsync();

                return(null);
            }
            catch (Exception e)
            {
                throw new Exception(e.Message);
            }
        }