public Order Remove(Product addition) { var orderAddition = Additions.FirstOrDefault(a => a.Product == addition); if (orderAddition == null) { return(this); } Price -= orderAddition.Product.Price; Container.DisposeInstance(orderAddition); Additions.Remove(orderAddition); return(this); }
public PN_Counter Add(int value, Guid nodeId) { var element = Additions.FirstOrDefault(e => e.Node.Id == nodeId); if (element is null) { element = new CounterElement(value, nodeId); } else { element.Add(value); } var additions = Additions.Where(e => e.Node.Id != nodeId).ToImmutableHashSet(); additions = additions.Add(element); return(new PN_Counter(additions, Subtractions)); }
public string ValidateRemove(Product addition) { var orderAddition = Additions.FirstOrDefault(a => a.Product == addition); return(orderAddition == null ? "No such addition" : null); }