Ejemplo n.º 1
0
            public void UpdateIngredient(Ingredient ingredient)
            {
                var updatingIngredient = Ingredients.Find(p => p.Id == ingredient.Id);
                var index = Ingredients.IndexOf(updatingIngredient);

                Ingredients[index] = ingredient;
                IngredientListChanged?.Invoke(this, new IngredientListChangedEventArgs(Ingredients, null));
            }
        public void AddIngredientWorks()
        {
            var facade     = new PositionListFacade(new PositionListStub(), new SizeListStub(), new IngredientListStub());
            var ingredient = new Ingredient(1, 1, new Size(1, "1", new Money(1), new Position(1, "1", "1")),
                                            new Consumable(1, "water", 0));
            var list = facade.AddIngredient(ingredient);

            Assert.AreEqual(ingredient, list[0]);
        }
Ejemplo n.º 3
0
 public static bool DoesConsumableExist(DTOIngredient ingredient, ICollection <DTOIngredient> ingredients, out string error)
 {
     if (ingredients.Any(p => p.Consumable.Id == ingredient.Consumable.Id && p.Id != ingredient.Id))
     {
         error = Texts.Instance.IngredientIsAlreadyPresent(ingredient.Consumable.Name);
         return(true);
     }
     error = null;
     return(false);
 }
Ejemplo n.º 4
0
 public static bool DoesIngredientExist(DTOIngredient ingredient, ICollection <DTOIngredient> ingredients, out string error)
 {
     if (ingredients.Any(p => p.Id == ingredient.Id))
     {
         error = Texts.Instance.IngredientAlreadyExists(ingredient.Consumable.Name);
         return(true);
     }
     error = Texts.Instance.IngredientCannotBeFound(ingredient.Consumable.Name);
     return(false);
 }
        public void GetIngredientListWorks()
        {
            var positionList = new PositionListDataHolder(new PositionRepositoryStub());

            positionList.LoadPositionList();
            var size           = new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1"));
            var ingredientList = positionList.GetIngredientList(size);
            var expected       = new DTOIngredient(1, 1, size, new DTO.Consumable(1, "water", 1));

            Assert.AreEqual(expected, ingredientList[0]);
            Assert.AreEqual(1, ingredientList.Count);
        }
        public void DeleteIngredientWorks()
        {
            var positionList = new PositionListDataHolder(new PositionRepositoryStub());

            positionList.LoadPositionList();
            var ingredient = new DTOIngredient(1, 1, new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")),
                                               new DTO.Consumable(1, "water", 1));

            positionList.DeleteIngredient(ingredient);
            var ingredientList = positionList.GetIngredientList(ingredient.Size);

            Assert.AreEqual(0, ingredientList.Count);
        }
        public void UpdateIngredientWorks()
        {
            var positionList = new PositionListDataHolder(new PositionRepositoryStub());

            positionList.LoadPositionList();
            var ingredient1 = new DTOIngredient(5, 1, new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")),
                                                new DTO.Consumable(1, "water", 1));

            positionList.AddIngredient(ingredient1);
            var ingredient2 = new DTOIngredient(5, 2, new DTOSize(1, "size1", new Money(1), new DTOPosition(1, "1", "1")),
                                                new DTO.Consumable(1, "water", 1));

            positionList.UpdateIngredient(ingredient2);

            var ingredientList = positionList.GetIngredientList(ingredient2.Size);

            Assert.AreEqual(ingredient2, ingredientList[1]);
        }
Ejemplo n.º 8
0
        public void DeleteIngredientWorks()
        {
            var facade = CreateFacade();

            facade.LoadPositionList();
            var position = new Position(1, "1", "1");

            facade.AddPosition(position);
            var size = new Size(0, "1", new Money(1), position);

            facade.AddSize(size);
            var ingredient1 = new Ingredient(1, 1, size, new Consumable(1, "1", 1));
            var ingredient2 = new Ingredient(1, 1, size, new Consumable(2, "2", 1));

            facade.AddIngredient(ingredient1);
            var ingredients = facade.DeleteIngredient(ingredient2);

            Assert.AreEqual(0, ingredients.Count);
        }
Ejemplo n.º 9
0
        public void CantAddIngredientWithIdenticalConsumable()
        {
            var facade = CreateFacade();

            facade.LoadPositionList();
            var position = new Position(1, "1", "1");

            facade.AddPosition(position);
            var size = new Size(0, "1", new Money(1), position);

            facade.AddSize(size);
            var ingredient1 = new Ingredient(1, 1, size, new Consumable(1, "1", 1));
            var ingredient2 = new Ingredient(2, 1, size, new Consumable(1, "1", 1));

            facade.AddIngredient(ingredient1);
            var ingredients = facade.AddIngredient(ingredient2);

            Assert.AreEqual(ingredient1, ingredients[0]);
            Assert.AreEqual(1, ingredients.Count);
        }
Ejemplo n.º 10
0
        public void AddIngredient(DTOIngredient ingredient, ICollection <Consumable> consumables)
        {
            var domainIngredient = new Ingredient(ingredient.Id, this, consumables.First(p => p.Id == ingredient.Consumable.Id));

            ingredients.Add(domainIngredient);
        }
Ejemplo n.º 11
0
 public void DeleteIngredient(Ingredient ingredient)
 {
     Ingredients.Remove(ingredient);
     IngredientListChanged?.Invoke(this, new IngredientListChangedEventArgs(Ingredients, null));
 }
Ejemplo n.º 12
0
 public void AddIngredient(DTOIngredient ingredient)
 {
     positions.First(p => p.Id == ingredient.Size.Position.Id).Sizes.First(p => p.Id == ingredient.Size.Id)
     .AddIngredient(new DTOIngredient(GetNewIngredientId(ingredient.Id), ingredient.Amount, ingredient.Size, ingredient.Consumable),
                    consumables);
 }
Ejemplo n.º 13
0
 public void AddIngredient(Ingredient ingredient)
 {
     Ingredients.Add(ingredient);
     IngredientListChanged?.Invoke(this, new IngredientListChangedEventArgs(Ingredients, null));
 }
 public void DeleteIngredient(DTOIngredient ingredient)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 15
0
 public void DeleteIngredient(DTOIngredient ingredient)
 {
     positions.First(p => p.Id == ingredient.Size.Position.Id).Sizes.First(p => p.Id == ingredient.Size.Id)
     .DeleteIngredient(ingredient);
 }
Ejemplo n.º 16
0
 public void UpdateIngredient(DTOIngredient ingredient)
 {
     ingredients.First(p => p.Id == ingredient.Id).TryUpdateIngredient(ingredient, out _);
 }
 public void UpdateIngredient(Ingredient ingredient)
 {
     throw new NotImplementedException();
 }
Ejemplo n.º 18
0
 public void DeleteIngredient(DTOIngredient ingredient)
 {
     ingredients.Remove(ingredients.First(p => p.Id == ingredient.Id));
 }
Ejemplo n.º 19
0
 public bool TryUpdateIngredient(DTOIngredient ingredient, out string error)
 {
     this.amount = ingredient.Amount;
     error       = null;
     return(true);
 }