Beispiel #1
0
        public async Task Buy(Grocery grocery)
        {
            if (grocery.Bought != 0)
            {
                ChamberOfSecrets.Instance.group.AvailableGroceries.AddToList(grocery, grocery.Bought);
                Grocery g = new Grocery()
                {
                    Name            = grocery.Name,
                    Amount          = grocery.Bought,
                    Bought          = 0,
                    Type            = grocery.Type,
                    MeasurementUnit = grocery.MeasurementUnit
                };
                await Task.Run(() =>
                               ChamberOfSecrets.Proxy.dbAvailableGroceriesInsert(g.ToAvaliableAvailableGroceriesDetails()));

                Groceries.Groceries.Find(x => x.Name == grocery.Name).Amount -= grocery.Bought;
                await Task.Run(() =>
                               ChamberOfSecrets.Proxy.dbUpdateShoppingCart((float)Groceries.Groceries.Find(x => x.Name == grocery.Name).Amount
                                                                           , true, grocery.Name, ChamberOfSecrets.Instance.group.Id));

                if ((Groceries.Groceries.Find(x => x.Name == grocery.Name).Amount) <= 0)
                {
                    await Task.Run(() => ChamberOfSecrets.Proxy.dbDeleteShoppingCart(grocery.Name, ChamberOfSecrets.Instance.group.Id));

                    RemoveFromShoppingCart(grocery);
                }
                else
                {
                    Groceries.Groceries.Find(x => x.Name == grocery.Name).Bought = 0;
                }
            }
            else if (grocery.Bought == 0)
            {
                ChamberOfSecrets.Instance.group.AvailableGroceries.AddToList(grocery, grocery.Amount);
                await Task.Run(() =>
                               ChamberOfSecrets.Proxy.dbAvailableGroceriesInsert(grocery.ToAvaliableAvailableGroceriesDetails()));

                await Task.Run(() =>
                               ChamberOfSecrets.Proxy.dbDeleteShoppingCart(grocery.Name, ChamberOfSecrets.Instance.group.Id));

                RemoveFromShoppingCart(grocery);
            }
        }