Example #1
0
        public IHttpActionResult AddProduct(int docId, ProductRequest request)
        {
            try
            {
                _log.Info("begin AddProduct");

                if (request == null)
                {
                    throw new ArgumentNullException("The request content was null or not in the correct format");
                }

                _warehouseManager.AddProduct(docId, Mapper.Map <Product>(request));

                return(Ok(new ProductResponse()
                {
                    Code = HttpStatusCode.OK, Data = request
                }));
            }
            catch (ArgumentNullException argEx)
            {
                _log.Error(argEx);

                return(BadRequest(argEx.Message));
            }
            catch (WarehouseException enEx)
            {
                _log.Error(enEx);

                return(Content <ProductResponse>(HttpStatusCode.NotFound, new ProductResponse {
                    Code = HttpStatusCode.NotFound, Message = enEx.Message
                }));
            }
            catch (Exception ex)
            {
                _log.Error(ex);
                return(Content <ProductResponse>(HttpStatusCode.InternalServerError, new ProductResponse {
                    Code = HttpStatusCode.InternalServerError, Message = ex.Message
                }));
            }
        }