public async Task<IHttpActionResult> PutOrder(int id, Order order)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }

            if (id != order.ID)
            {
                return BadRequest();
            }

            db.Entry(order).State = EntityState.Modified;

            try
            {
                await db.SaveChangesAsync();
            }
            catch (DbUpdateConcurrencyException)
            {
                if (!OrderExists(id))
                {
                    return NotFound();
                }
                else
                {
                    throw;
                }
            }

            return StatusCode(HttpStatusCode.NoContent);
        }
        public async Task<IHttpActionResult> PostOrder(Order order)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            order.InsertDateTime = DateTime.Now;
            order.InsertProcess = "IrfankWEBAPI";
            order.InsertProcess = "IrfanTest";
           
            var paramCustomerId = new SqlParameter("@pn_customer_id", order.CustomerId);
            var paramTotalAmount = new SqlParameter("@pn_total_amount", order.TotalAmount);
            var paramTaxAmount = new SqlParameter("@pn_tax_amount", order.TaxAmount);
            var paramNetAmount = new SqlParameter("@pn_net_amount", order.NetAmount);
            var paramComments = new SqlParameter("@pn_comments", order.Comments);

            var orderIdParameter = new SqlParameter();
            orderIdParameter.ParameterName = "@pn_output_id";
            orderIdParameter.Direction = ParameterDirection.Output;
            orderIdParameter.SqlDbType = SqlDbType.Int;

            await db.Database.ExecuteSqlCommandAsync("Exec dbp_insert_orders @pn_customer_id, @pn_total_amount, @pn_tax_amount,@pn_net_amount, @pn_comments, @pn_output_id OUTPUT", paramCustomerId, paramTotalAmount, paramTaxAmount, paramNetAmount, paramComments, orderIdParameter).ContinueWith((result) =>
            {
                var res = result.Result;

                if (Convert.ToInt32(orderIdParameter.Value) > 1)
                {
                    order.ID = Convert.ToInt32(orderIdParameter.Value);
                }
            });

            //db.Orders.Add(order);
            await db.SaveChangesAsync();

            return CreatedAtRoute("DefaultApi", new { id = order.ID }, order);
        }
        public async Task<IHttpActionResult> PostOrder(Order order)
        {
            if (!ModelState.IsValid)
            {
                return BadRequest(ModelState);
            }
            order.InsertDateTime = DateTime.Now;
            order.InsertProcess = "IrfankWEBAPI";
            order.InsertProcess = "IrfanTest";

            var pName = new SqlParameter("@pv_order_name", order.OrderName);
            var pCustId = new SqlParameter("@pv_customer_id", order.CustomerId);
            var pDate = new SqlParameter("@pv_order_date", order.OrderDate);
            var prequiredDate = new SqlParameter("@pv_required_date", order.RequiredDate);

            //var pMenuId = new SqlParameter("@pv_menu_id", order.MenuId);
            //var pPrice = new SqlParameter("@pv_unit_price", order.UnitPrice);
            //var pQuantity = new SqlParameter("@pv_quantity", order.Quantity);
            var pComments = new SqlParameter("@pv_comments", order.Comments);
            

            var orderIdParameter = new SqlParameter();
            orderIdParameter.ParameterName = "@pn_output_id";
            orderIdParameter.Direction = ParameterDirection.Output;
            orderIdParameter.SqlDbType = SqlDbType.Int;

            try
            {
              
            }
            catch (Exception ex)
            {
                throw new ApplicationException(ex.Message);
            }
           
            //db.Orders.Add(order);
            await db.SaveChangesAsync();

            return CreatedAtRoute("DefaultApi", new { id = order.ID }, order);
        }