// POST: api/ProductMongo public async Task <IHttpActionResult> Post([FromBody] ProductMongoModel product) { try { await _productMongoRepository.AddProduct(product); var newProduct = await _productMongoRepository.GetProductById(product.Id.ToString()); if (newProduct != null) { return(CreatedAtRoute("DefaultApi", new { id = product.Id }, newProduct)); } } catch (Exception ex) { return(InternalServerError(ex)); } return(BadRequest()); }
public async Task <IHttpActionResult> Put(string id, [FromBody] ProductMongoModel productModel) { var product = await _productMongoRepository.GetProductById(id); if (product == null) { return(NotFound()); } try { productModel.Id = product.Id; await _productMongoRepository.Update(productModel); return(Ok(productModel)); } catch (Exception ex) { return(InternalServerError(ex)); } }
/// <summary> /// Updates the specified product. /// </summary> /// <param name="product">The product.</param> /// <returns> /// returns true if updates successful /// </returns> public async Task <bool> Update(ProductMongoModel product) { ReplaceOneResult updatedResult = await _dbContext.Products.ReplaceOneAsync(filter : p => p.Id == product.Id, replacement : product); return(updatedResult.IsAcknowledged && updatedResult.ModifiedCount > 0); }
/// <summary> /// Adds the product. /// </summary> /// <param name="product">The product.</param> /// <returns></returns> public async Task AddProduct(ProductMongoModel product) { await _dbContext.Products.InsertOneAsync(product); }