//[Authorize(Roles = "AddUser")]
        //[Permission(Action = "Create", Function = "USER")]
        public HttpResponseMessage Create(HttpRequestMessage request, OrderBackupViewModel orderVm)
        {
            if (ModelState.IsValid)
            {
                var newOrder = new OrderBackup();
                newOrder.UpdateDetailOrder(orderVm);
                try
                {
                    var listOrderDetails = new List <OrderBackupDetail>();
                    foreach (var item in orderVm.OrderDetails)
                    {
                        listOrderDetails.Add(new OrderBackupDetail()
                        {
                            OrderID   = newOrder.ID,
                            ProductID = item.ProductID,
                            Quantity  = item.Quantity,
                            Price     = item.Price,
                        });
                    }
                    newOrder.OrderDetails = listOrderDetails;
                    var result = _orderService.Create(newOrder);

                    return(request.CreateResponse(HttpStatusCode.OK, result));
                }
                catch (Exception ex)
                {
                    return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ex.Message));
                }
            }
            else
            {
                return(request.CreateErrorResponse(HttpStatusCode.BadRequest, ModelState));
            }
        }
 public static void UpdateDetailOrder(this OrderBackup order, OrderBackupViewModel orderVm)
 {
     order.ID = orderVm.ID;
     order.CustomerMessage = orderVm.CustomerMessage;
     order.PaymentMethod   = orderVm.PaymentMethod;
     order.CreatedDate     = orderVm.CreatedDate;
     order.CreatedBy       = orderVm.CreatedBy;
     order.PaymentStatus   = orderVm.PaymentStatus;
     order.Status          = orderVm.Status;
     order.CustomerId      = orderVm.CustomerId;
 }