/// <summary> /// Додати добавку /// </summary> /// <param name="additiv">Добавка</param> public bool AddAdditiv(IAdditiv additiv) { // якщо стаканчика немає, додавати нічого не можна if (!IsGlass) { return(false); } // необхідно не допустити переповнення стаканчика // розрахунок об'єму продукту який пробують додати double size = (additiv.TypeOfValue == TypeValue.Volume) ? additiv.Size : additiv.Size * 0.5; // якщо перший раз то ініціалізуємо additivs = additivs ?? new List <IAdditiv>(); // якщо є вільне місце то додаємо продукт if (additivs.Count == 0) { if (Free >= size) { additivs.Add(additiv); return(true); } else { return(false); } } // необхідно недопустити переповнення в наступних випадках if (Free >= size) { additivs.Add(additiv); return(true); } return(false); }
/// <summary> /// Видалити 1 порцію добавки /// </summary> public void RemoveAdditiv(IAdditiv product) => additivs?.Remove(product);