public FinCalcViewModel( ILocalizationService localizationService, IMediator mediator, ICommandInvoker calculatorRemote, ICalculationCommandReceiver calculator, ISubscriptionAggregator subscriptionAggregator) { this.mediator = mediator; this.calculatorRemote = calculatorRemote; this.calculator = calculator; this.calculator.OutputText.TextChanged += this.OnOutputTextChanged; this.calculatorRemote.CommandExecuted += this.OnCommandExecuted; this.calculatorRemote.CommandFailed += this.OnCommandFailed; subscriptionAggregator.Subscribe(this); this.OnClearPressed(); }
private static void SetImplementationOfCalculatorCommandObjects(out ICalculationCommandReceiver receiver, out ICommandInvoker invoker) { var commands = new List <ICalculatorCommand>(); var tmpReceiver = new TwoOperandsCalculator(new SingleNumberOutput(), new SingleNumberInput(9)); var assemblies = new[] { Assembly.GetAssembly(typeof(ICalculatorCommand)), }; foreach (var assembly in assemblies) { assembly.GetTypes() .Where(type => type.BaseType == typeof(BaseCommand)) .ToList().ForEach(commandType => commands.Add((ICalculatorCommand)Activator.CreateInstance(commandType, new object[] { tmpReceiver }))); } receiver = tmpReceiver; invoker = new CalculatorRemote(new CommandList(commands)); }
public CalculateStartCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.CalculateStart; }
public GetEffectiveInterestCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.GetEffectiveInterest; }
public CalculateYearsCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.CalculateYears; }
public LoadMemoryValueCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.LoadMemoryValue; }
public SetEndCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.SetEnd; }
public GetNominalInterestRateCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.GetNominalInterestRate; }
public CalculateEffectiveInterestRateCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.CalculateEffectiveInterest; }
public SetRatesPerAnnumCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.SetRatesPerAnnum; }
public SetAdvanceCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.SetAdvance; }
public DecimalSeparatorCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.DecimalSeparator; }
public AlgebSignCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.AlgebSign; }
public ClearCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.Clear; }
public SetRepaymentRateCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.SetRepaymentRate; }
public OperatorCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.Operator; }
public DigitCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.Digit; }
public CalculatePercentCommand(ICalculationCommandReceiver calculator) { this.calculator = calculator; this.CommandWord = CommandWord.PercentCalculation; }