/// <summary> /// Used when a person wants to pay for everything another person has ordered /// </summary> public void PayForPerson(Person payer, Person target) { if (!payer.Equals(target) && target.State == States.Checkout) { if (payer.State != States.Checkout) { payer.State = States.Checkout; payer.OnPropertyChanged("Status"); } foreach (OrderLine line in OrderLines.Where(x => x.Owner.Equals(target))) { line.PayForAll(payer); } payer.OnPropertyChanged("OrderLines"); target.OnPropertyChanged("OrderLines"); } }