public Commission(SecuritiesName securitiesName, int count, int expectedValue, CommissionType type) { this.securitiesName = securitiesName; this.count = count; this.expectedValue = expectedValue; this.type = type; this.done = false; }
public void modify(SecuritiesName securitiesName, int changeValue ) { Securities securities = this.find(securitiesName); if (securities != null) { securities.modify(changeValue); } }
private Securities find(SecuritiesName securitiesName) { Securities ret = null; foreach (Securities securities in this.listOfSecurities) { if (securities.Name == securitiesName) { ret = securities; break; } } return ret; }
public void createCommission(String clientName, SecuritiesName securitiesName, int count, int expectedValue, CommissionType type) { Client client = this.find(clientName); Securities securities = this.find(securitiesName); if (client != null && securities != null) { if (type == CommissionType.Buy && securities.Value < expectedValue) { throw new InvalidCommissionException("Cannot create " + type + " commission, 'cos the expectedValue is greater than the actual (" + securities + ", expectedValue: " + expectedValue + ")."); } else if (type == CommissionType.Sale && securities.Value > expectedValue) { throw new InvalidCommissionException("Cannot create " + type + " commission, 'cos the expectedValue is lower than the actual (" + securities + ", expectedValue: " + expectedValue + ")."); } client.addCommission(securities, count, expectedValue, type); } }
public void addSecurties(SecuritiesName name, int value) { this.listOfSecurities.Add(new Securities(name, value)); }
public Securities(SecuritiesName name, int value) { this.name = name; this.value = value; this.events = new List<ValueChangeEvent>(); }