// TODO: expose some infra callbacks instead of the domain one public void Route(InvestorInstructionDto investorInstructionDto, Action <InstructionExecutedDto> instructionExecutedCallback, Action <InstructionFailedDto> instructionFailedCallback) { // Maps the DTO model to the domain one var investorIntruction = new InvestorInstruction(investorInstructionDto.UniqueIdentifier.Value, investorInstructionDto.Way, investorInstructionDto.Quantity, investorInstructionDto.Price, investorInstructionDto.AllowPartialExecution, investorInstructionDto.GoodTill); var dtoCallBacks = new InvestorInstructionDtoCallBacks(instructionExecutedCallback, instructionFailedCallback); this.sor.Route(investorIntruction, dtoCallBacks.ExecutedCallback, dtoCallBacks.FailedCallbacks); // TODO: cleanup the dtoCallback resource }
private bool Equals(InvestorInstructionDto other) { return(object.Equals(this.UniqueIdentifier, other.UniqueIdentifier) && this.Way == other.Way && this.Quantity == other.Quantity && this.Price == other.Price && this.AllowPartialExecution == other.AllowPartialExecution && this.GoodTill.Equals(other.GoodTill)); }