Exemplo n.º 1
0
 //private void SetOrderStateInBackground(OrdersRow or, State state)
 //{
 //    Worker.EnqueueTask(new WorkerTask((args) =>
 //    {
 //        using (var db = new PizzaUnitOfWork())
 //        {
 //            return db.inTransaction(uof =>
 //            {
 //                Console.WriteLine("Set in realisation");
 //                Order o = uof.Db.Orders.Get(or.Order.OrderID);
 //                o.State.StateValue = state.StateValue;
 //                uof.Db.Commit();
 //                Console.WriteLine("Order " + or.Order.OrderID + " state set to IN REALISATION");
 //                return or;
 //            });
 //        }
 //    },
 //    (s, a) =>
 //    {
 //        RefreshCurrentOrders();
 //        //or.Order.State = state;
 //        or.Update();
 //        // TODO zwalone sortowanie po zmianie stanu, nie uaktualnia się
 //    }));
 //}
 public void RefreshCurrentOrders()
 {
     Worker.EnqueueTask(new WorkerTask((args) =>
     {
         try
         {
             using (var proxy = new WorkChannel())
             {
                 return proxy.GetUndoneOrders(new PizzaNetCommon.Requests.EmptyRequest
                 {
                     Login = ClientConfig.CurrentUser.Email,
                     Password = ClientConfig.CurrentUser.Password
                 });
             }
             //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;
             //    });
             //}
         }
         catch (Exception exc)
         {
             Console.WriteLine(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)
         {
             OrdersRow row = OrdersCollection.FirstOrDefault(r => { return r.Order.OrderID == order.OrderID; });
             if (row != null) row.Order = order;
             else OrdersCollection.Add(new OrdersRow(order));
         }
     }));
 }