internal void RemoveOrder(int orderIndex)
        {
            OrdersRow or = OrdersCollection[orderIndex];
            Worker.EnqueueTask(new WorkerTask((args) =>
            {
                try
                {
                    using (var proxy = new WorkChannel())
                    {
                        proxy.RemoveOrder(new UpdateOrRemoveRequest<OrderDTO>
                        {
                            Data = null,
                            DataToRemove = or.Order,
                            Login = ClientConfig.CurrentUser.Email,
                            Password = ClientConfig.CurrentUser.Password
                        });
                    }
                    return true;
                }
                catch(Exception e)
                {
                    return e;
                }
                //using (var db = new PizzaUnitOfWork())
                //{
                //    return db.inTransaction(uof =>
                //    {

                //        Console.WriteLine("Remove order");

                //        Order o = db.Orders.Get(or.Order.OrderID);
                //        db.Orders.Delete(o);
                //        db.Commit();
                //        Console.WriteLine("Order " + or.Order.OrderID + " removed.");
                //        return or;
                //    });
                //}
            },
            (s, a) =>
            {
                if (a.Result is Exception)
                {
                    Utils.HandleException(a.Result as Exception);
                    return;
                }
                if (!((a.Result as bool?)??false))
                {
                    Utils.showError(Utils.Messages.UNKNOWN_ERROR_FORMAT);
                    return;
                }
                RefreshCurrentOrders();
            }));
        }