예제 #1
0
        public async Task Put(int id, [FromBody] ProductCoreModel value)
        {
            var product = AutoMapper.Mapper.Map <ProductCoreModel, ProductDto>(value);

            product.Id = id;
            await _service.Update(product);
        }
        public async Task <ProductCoreModel> AddAsync(ProductCoreModel product)
        {
            Locker.EnterWriteLock();
            try
            {
                if (await Products.TryAddUniqueProductAsync(product).ConfigureAwait(false))
                {
                    await Products.SaveAsync().ConfigureAwait(false);

                    return(await GetAsync(await Products.GetIdAsync(product.Name)
                                          .ConfigureAwait(false)).ConfigureAwait(false));
                }
                else
                {
                    throw new ArgumentException("Product already exists!");
                }
            }
            finally
            {
                if (Locker.IsWriteLockHeld)
                {
                    Locker.ExitWriteLock();
                }
            }
        }
        public async Task <ProductCoreModel> UpdateAsync(ProductCoreModel product)
        {
            Locker.EnterWriteLock();
            try
            {
                if (await Products.DoesProductExistAsync(product).ConfigureAwait(false))
                {
                    throw new ArgumentException("Product already exists!");
                }

                var result = Products.Update(product);
                await Products.SaveAsync().ConfigureAwait(false);

                return(result);
            }
            finally
            {
                if (Locker.IsWriteLockHeld)
                {
                    Locker.ExitWriteLock();
                }
            }
        }
 public async Task <ProductCoreModel> UpdateAsync(ProductCoreModel model)
 {
     return(await ProductDbReaderWriter.UpdateAsync(model).ConfigureAwait(false));
 }
예제 #5
0
 public async Task Post([FromBody] ProductCoreModel value)
 {
     await _service.AddProduct(AutoMapper.Mapper.Map <ProductCoreModel, ProductDto>(value));
 }