Exemplo n.º 1
0
 internal void SaveChanges()
 {
     Worker.EnqueueTask(new WorkerTask((args) =>
     {
         try
         {
             var list = args[0] as List<StockIngredientDTO>;
             var removeList = args[1] as List<StockIngredientDTO>;
             using (var proxy = new WorkChannel())
             {
                 return proxy.UpdateOrRemoveIngredient(new UpdateOrRemoveRequest<List<StockIngredientDTO>>()
                 {
                     Login = ClientConfig.CurrentUser.Email,
                     Password = ClientConfig.CurrentUser.Password,
                     Data = list,
                     DataToRemove = removeList
                 });
             }
         }
         catch (Exception exc)
         {
             Console.WriteLine(exc.Message);
             return exc;
         }
     }, (s, e) =>
     {
         if (e.Result is Exception)
         {
             Utils.HandleException(e.Result as Exception);
             return;
         }
         var result = e.Result as ListResponse<StockIngredientDTO>;
         if (result == null)
         {
             Utils.showError(Utils.Messages.SAVE_CHANGES_FAILURE);
             return;
         }
         RewriteStockItems(result.Data);
         RemovedStockItemsList.Clear();
         Modified = false;
         ResetIds();
     }, StockItemsCollection.ToList(), RemovedStockItemsList));
 }