void ItemDamagedCommandExecute(DeliverOrderItem deliverOrderItem)
 {
     if (deliverOrderItem == null)
     {
         return;
     }
     deliverOrderItem.OrderItemStatus = OrderItemStatus.Damaged;
     SetFormState(deliverOrderItem);
 }
 void ItemDeliveredCommandExecute(DeliverOrderItem deliverOrderItem)
 {
     if (deliverOrderItem == null)
     {
         return;
     }
     deliverOrderItem.OrderItemStatus = OrderItemStatus.Delivered;
     _deliverOrder.TotalDelivered    += deliverOrderItem.ExtendedPrice;
     SetFormState(deliverOrderItem);
 }
        void SetFormState(DeliverOrderItem deliverOrderItem)
        {
            if (deliverOrderItem != null)
            {
                try {
                    _orderService.UpdateDeliverOrderItem(deliverOrderItem.Id, deliverOrderItem.OrderItemStatus);
                    this.DeliverOrder.SetOrderStatus();
                    _orderService.UpdateDeliverOrder(this.DeliverOrder.Id, this.DeliverOrder.OrderStatus, this.DeliverOrder.ItemPercentDelivered, this.DeliverOrder.TotalDelivered);
                } catch (Exception ex) {
                    DisplayDialog("Update Error", ex.GetBaseException().Message);
                    GoBack();
                }
            }

            if (this.DeliverOrder.OrderStatus == OrderStatus.Partial && this.CompleteButtonText != Constants.CompleteRemainingButtonText)
            {
                this.CompleteButtonText = Constants.CompleteRemainingButtonText;
            }
        }