private void ValidateDuplicatedProduct(OutputItem item) { if (ExistsProduct(item.Product) is true) { throw ExceptionsFactory.FactoryDomainException(Messages.ProductFound); } }
private void ValidateDuplicatedItem(OutputItem item) { if (ExistsItem(item) is true) { throw ExceptionsFactory.FactoryDomainException(Messages.ItemFound); } }
private void ValidateIfNotExistsItem(OutputItem item) { if (ExistsItem(item) is false) { throw ExceptionsFactory.FactoryNotFoundException <Output>(item.Id); } }
public void AddItem(OutputItem item) { ValidateDuplicatedItem(item); ValidateDuplicatedProduct(item); _items.Add(item); CalculateTotalValue(); }
public void RemoveItem(OutputItem item) { ValidateOpenState(); ValidateIfNotExistsItem(item); _items.Remove(item); CalculateTotalValue(); }
public void UpdateItem(OutputItem item) { ValidateDuplicatedItem(item); ValidateDuplicatedProduct(item); OutputItem existItem = FindItemById(item.Id); existItem.Update(item.Amount, item.Value, item.Product); CalculateTotalValue(); }
private bool ExistsItem(OutputItem item) => Items.Any(x => x.Id == item.Id);