Esempio n. 1
0
        // 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());
        }
Esempio n. 2
0
        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));
            }
        }
Esempio n. 3
0
        /// <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);
        }
Esempio n. 4
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);
 }