Exemplo n.º 1
0
        public void RefreshCurrentOrders()
        {
            Worker.EnqueueTask(new WorkerTask((args) =>
            {
                try
                {
                    //using (var db = new PizzaUnitOfWork())
                    //{
                    //    return db.inTransaction(uof =>
                    //    {
                    //        Console.WriteLine("Load Orders Start");
                    //        var result = uof.Db.Orders.FindAllEagerlyWhere((o) => o.State.StateValue == State.IN_REALISATION || o.State.StateValue == State.NEW);
                    //        Console.WriteLine("After query");
                    //        return result;
                    //    });
                    //}
                    using (var proxy = new WorkChannel())
                    {
                        return proxy.GetOrdersForUser(new EmptyRequest { Login = ClientConfig.CurrentUser.Email, Password = ClientConfig.CurrentUser.Password });
                    }

                }
                catch (Exception exc)
                {
                    return exc;
                }
            }, (s, a) =>
            {
                if (a.Result is Exception)
                {
                    Utils.HandleException(a.Result as Exception);
                    return;
                }
                ListResponse<OrderDTO> res = a.Result as ListResponse<OrderDTO>;
                if (res == null)
                {
                    Utils.showExclamation(Utils.Messages.ORDERS_REFRESH_FAILED);
                    return;
                }
                List<OrderDTO> orders = res.Data;

                bool[] current = new bool[orders.Count()];
                foreach (var order in orders)
                {
                    Console.WriteLine("Order#" + order.OrderID);
                    Console.WriteLine("Order state value: " + order.State.StateValue);
                    OrdersRow row = OrdersCollection.FirstOrDefault(r => { return r.Order.OrderID == order.OrderID; });
                    if (row != null) row.Order = order;
                    else OrdersCollection.Add(new OrdersRow(order));
                }
                OrdersCollection.NotifyCollectionChanged();
            }));
        }