public void RefreshRecipies() { Modified = false; RecipesCollection.Clear(); IngredientsRowsCollection.Clear(); Worker.EnqueueTask(new WorkerTask((args) => { try { using (var proxy = new WorkChannel()) { return proxy.GetRecipeTabData(new EmptyRequest { Login = ClientConfig.CurrentUser.Email, Password = ClientConfig.CurrentUser.Password }); } // using (var db = new PizzaUnitOfWork()) // { // return db.inTransaction(uof => // { // Console.WriteLine("LoadDataStart"); // var result = new Trio<IEnumerable<Recipe>, PizzaNetDataModel.Model.Size[], IEnumerable<Ingredient>> // { // First = db.Recipies.FindAllEagerly(), // Second = db.Sizes.FindAll().ToArray(), // Third = db.Ingredients.FindAll() // }; // Console.WriteLine("after query"); // Console.WriteLine("Result is null: {0}", result == null); // return result; // }); // } } catch (Exception exc) { Console.WriteLine(exc.Message); return exc; } }, (s, args) => { if (args.Result is Exception) { Utils.HandleException(args.Result as Exception); return; } var result = args.Result as TrioResponse<List<RecipeDTO>, List<SizeDTO>, List<OrderIngredientDTO>>; // var result = args.Result as Trio<IEnumerable<Recipe>, PizzaNetDataModel.Size[], IEnumerable<Ingredient>>; if (result == null) { Console.WriteLine("Result is null"); Utils.showError(Utils.Messages.UNKNOWN_ERROR_FORMAT); return; } foreach (var item in result.First) { var rc = new RecipeControl(); rc.Recipe = item; rc.Update(result.Second.ToArray()); RecipesCollection.Add(rc); } foreach (var item in result.Third) { var row = new IngredientsRowWork(item, false); row.ButtonIncludeChanged += row_PropertyChanged; IngredientsRowsCollection.Add(row); } Sizes = result.Second.ToArray(); // foreach (var item in result.First) // { // var rc = new RecipeControl(); // rc.Recipe = item; // rc.RecalculatePrices(result.Second.ToArray()); // RecipesCollection.Add(rc); // Console.WriteLine(item.Name); // } // foreach (var item in result.Third) // { // var row = new IngredientsRowWork(item, false); // row.ButtonIncludeChanged += row_PropertyChanged; // IngredientsRowsCollection.Add(row); // } })); }
public void RefreshRecipes() { this.IngredientsCollection.Clear(); this.RecipesCollection.Clear(); this.OrderedPizzasCollection.Clear(); this.Ingredients.Clear(); Worker.EnqueueTask(new WorkerTask((args) => { try { using (var proxy = new WorkChannel()) { return proxy.GetRecipeTabData(new PizzaNetCommon.Requests.EmptyRequest { Login = ClientConfig.CurrentUser.Email, Password = ClientConfig.CurrentUser.Password }); } //using (var db = new PizzaUnitOfWork()) //{ // return db.inTransaction(uof => // { // Console.WriteLine("LoadDataStart"); // var result = new Trio<IEnumerable<Recipe>, PizzaNetDataModel.Model.Size[], IEnumerable<Ingredient>> // { // First = uof.Db.Recipies.FindAllEagerly(), // Second = uof.Db.Sizes.FindAll().ToArray(), // Third = uof.Db.Ingredients.FindAll() // }; // Console.WriteLine("after query"); // Console.WriteLine("Result is null: {0}", result == null); // return result; // }); //} } catch (Exception exc) { return exc; } }, (s, args) => { if (args.Result is Exception) { Utils.HandleException(args.Result as Exception); return; } var result = args.Result as TrioResponse<List<RecipeDTO>, List<SizeDTO>, List<OrderIngredientDTO>>; if (result == null) { Utils.showExclamation(Utils.Messages.RECIPES_REFRESH_FAILED); return; } if (result.Second.Count != 3) throw new Exception(INVALID_SIZES_COUNT); foreach (var item in result.First) { var rc = new RecipeControl(); rc.Recipe = item; rc.RecalculatePrices(result.Second.ToArray()); RecipesCollection.Add(rc); Console.WriteLine(item.Name); } foreach (var item in result.Third) { var row = new IngredientsRow(item, 0, result.Second[0]); row.PropertyChanged += row_PropertyChanged; IngredientsCollection.Add(row); Ingredients.Add(item); } // MODIFIED Tag uses now dependency property SmallSize = result.Second[0]; MedSize = result.Second[1]; GreatSize = result.Second[2]; CurrentSizeValue = result.Second[0]; })); }