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)); }
public async Task Post([FromBody] ProductCoreModel value) { await _service.AddProduct(AutoMapper.Mapper.Map <ProductCoreModel, ProductDto>(value)); }