public IBSampleApp() { InitializeComponent(); ibClient = new IBClient(this); marketDataManager = new MarketDataManager(ibClient, marketDataGrid_MDT); deepBookManager = new DeepBookManager(ibClient, deepBookGrid); historicalDataManager = new HistoricalDataManager(ibClient, historicalChart, barsGrid); realTimeBarManager = new RealTimeBarsManager(ibClient, rtBarsChart, rtBarsGrid); scannerManager = new ScannerManager(ibClient, scannerGrid); orderManager = new OrderManager(ibClient, liveOrdersGrid, tradeLogGrid); accountManager = new AccountManager(ibClient, accountSelector, accSummaryGrid, accountValuesGrid, accountPortfolioGrid, positionsGrid); contractManager = new ContractManager(ibClient, fundamentalsOutput, contractDetailsGrid); advisorManager = new AdvisorManager(ibClient, advisorAliasesGrid, advisorGroupsGrid, advisorProfilesGrid); optionsManager = new OptionsManager(ibClient, optionChainCallGrid, optionChainPutGrid, optionPositionsGrid); mdContractRight.Items.AddRange(ContractRight.GetAll()); mdContractRight.SelectedIndex = 0; conDetRight.Items.AddRange(ContractRight.GetAll()); conDetRight.SelectedIndex = 0; fundamentalsReportType.Items.AddRange(FundamentalsReport.GetAll()); fundamentalsReportType.SelectedIndex = 0; this.groupMethod.DataSource = AllocationGroupMethod.GetAsData(); this.groupMethod.ValueMember = "Value"; this.groupMethod.DisplayMember = "Name"; this.profileType.DataSource = AllocationProfileType.GetAsData(); this.profileType.ValueMember = "Value"; this.profileType.DisplayMember = "Name"; }
public void UpdateAdvisor_succeeded_if_Advisor_is_valid() { //arrange var uow = new Mock <IUnitOfWork>(); var repo = new Mock <IAdvisorRepository>(); repo.Setup(r => r.Update(It.IsNotNull <Advisor>())) .Verifiable(); uow.Setup(u => u.SaveChanges()) .ReturnsAsync(1) .Verifiable(); uow.Setup(u => u.AdvisorRepository) .Returns(repo.Object) .Verifiable(); var manager = new AdvisorManager(uow.Object); //act var result = manager.Update(new Advisor()).Result; //assert repo.Verify(); uow.Verify(); Assert.True(result.Succeeded); }
public void Get_succeeded_if_username_is_valid() { //arrange var uow = new Mock <IUnitOfWork>(); var repo = new Mock <IUserRepository>(); var admRepo = new Mock <IAdvisorRepository>(); repo.Setup(r => r.FindByUserName(It.IsNotNull <string>())) .ReturnsAsync(new User { UserId = Guid.NewGuid() }) .Verifiable(); admRepo.Setup(a => a.FindById(It.Is <Guid>(g => g != Guid.Empty))) .ReturnsAsync(new Advisor()) .Verifiable(); uow.Setup(u => u.AdvisorRepository) .Returns(admRepo.Object) .Verifiable(); uow.Setup(u => u.UserRepository) .Returns(repo.Object) .Verifiable(); var manager = new AdvisorManager(uow.Object); //act var result = manager.Get("name").Result; //assert repo.Verify(); admRepo.Verify(); uow.Verify(); Assert.NotNull(result); }
public void CreateAdvisor_succeeded_if_Advisor_is_valid() { //arrange var Advisors = new List <Advisor>(); var uow = new Mock <IUnitOfWork>(); var repo = new Mock <IUserRepository>(); repo.Setup(r => r.AddAdvisor(It.IsNotNull <Advisor>())) .Callback <Advisor>(a => Advisors.Add(a)) .Verifiable(); uow.Setup(u => u.SaveChanges()) .ReturnsAsync(1) .Verifiable(); uow.Setup(u => u.UserRepository) .Returns(repo.Object) .Verifiable(); var manager = new AdvisorManager(uow.Object); //act var result = manager.Create(new Advisor()).Result; //assert repo.Verify(); uow.Verify(); Assert.True(result.Succeeded); Assert.Equal(1, Advisors.Count); }
public void Get_returns_null_if_username_is_not_valid() { //arrange var uow = Mock.Of <IUnitOfWork>(); var manager = new AdvisorManager(uow); //act var result = manager.Get(null).Result; //assert Assert.Null(result); }
public void DeleteAdvisor_failed_if_name_is_null() { //arrange var uow = Mock.Of <IUnitOfWork>(); var manager = new AdvisorManager(uow); //act var result = manager.Delete((String)null).Result; //assert Assert.False(result.Succeeded); }
public void DeleteAdvisor_failed_if_id_is_not_valid() { //arrange var uow = Mock.Of <IUnitOfWork>(); var manager = new AdvisorManager(uow); //act var result = manager.Delete(Guid.Empty).Result; //assert Assert.False(result.Succeeded); }
public void UpdateAdvisor_failed_if_Advisor_is_not_valid() { //arrange var uow = Mock.Of <IUnitOfWork>(); var manager = new AdvisorManager(uow); //act var result = manager.Update(null).Result; //assert Assert.False(result.Succeeded); }
// GET: ProgDec/Create public ActionResult Create() { ProgDecProgramsStudents pps = new ProgDecProgramsStudents(); pps.ProgDec = new BL.Models.ProgDec(); pps.Programs = ProgramManager.Load(); pps.Students = StudentManager.Load(); pps.Advisors = AdvisorManager.Load(); //load them all return(View(pps)); }
public void DeleteAdvisor_succeeded_if_name_is_valid() { //arrange var AdvisorToDelete = new Advisor { User = new User() }; var Advisors = new List <Advisor> { AdvisorToDelete }; var uow = new Mock <IUnitOfWork>(); var repo = new Mock <IAdvisorRepository>(); var usrRepo = new Mock <IUserRepository>(); usrRepo.Setup(u => u.Remove(It.IsNotNull <User>())) .Callback <User>(a => Advisors.Remove(AdvisorToDelete)) .Verifiable(); usrRepo.Setup(u => u.FindByUserName(It.IsNotNull <string>())) .ReturnsAsync(new User { UserId = Guid.NewGuid() }) .Verifiable(); repo.Setup(r => r.FindById(It.Is <Guid>(g => g != Guid.Empty))) .ReturnsAsync(AdvisorToDelete) .Verifiable(); uow.Setup(u => u.SaveChanges()) .ReturnsAsync(1) .Verifiable(); uow.Setup(u => u.UserRepository) .Returns(usrRepo.Object) .Verifiable(); uow.Setup(u => u.AdvisorRepository) .Returns(repo.Object) .Verifiable(); var manager = new AdvisorManager(uow.Object); //act var result = manager.Delete("asdasd").Result; //assert usrRepo.Verify(); repo.Verify(); uow.Verify(); Assert.True(result.Succeeded); Assert.Equal(0, Advisors.Count); }
// GET: ProgDec/Edit/5 public ActionResult Edit(int id) { ProgDecProgramsStudents pps = new ProgDecProgramsStudents(); pps.ProgDec = ProgDecManager.LoadById(id); pps.Programs = ProgramManager.Load(); pps.Students = StudentManager.Load(); pps.Advisors = AdvisorManager.Load(); //load them all pps.ProgDec.Advisors = ProgDecManager.LoadAdvisors(id); pps.AdvisorIds = pps.ProgDec.Advisors.Select(a => a.Id); //Select the ids //Put Existing Advisors into Session Session["advisorids"] = pps.AdvisorIds; return(View(pps)); }
public void Get_succeeded_if_id_is_valid() { //arrange var uow = new Mock <IUnitOfWork>(); var repo = new Mock <IAdvisorRepository>(); repo.Setup(r => r.FindById(It.Is <Guid>(g => g != Guid.Empty))) .ReturnsAsync(new Advisor()) .Verifiable(); uow.Setup(u => u.AdvisorRepository) .Returns(repo.Object) .Verifiable(); var manager = new AdvisorManager(uow.Object); //act var result = manager.Get(Guid.NewGuid()).Result; //assert repo.Verify(); uow.Verify(); Assert.NotNull(result); }
public AdvisorDetailViewModel GetAdvisorDetailViewModel(int advisorId, bool isEdit) { var manager = new AdvisorManager(); var detailInfo = manager.GetProductDetailInfo(advisorId); if (detailInfo == null) { return(null); } detailInfo.IsEditable = AdvisorIsEditable(detailInfo.AdvisorMasterEntityId, detailInfo.AdvisorCompanyMasterEntityId, detailInfo.AdvisorCompanyParentMasterEntityId); detailInfo.IsPreview = false; detailInfo.AdvisorStatus = TypeChanger.DoEnum(detailInfo.Status, ProfileStatus.Unknown); detailInfo.Certifications = AdvisorInfoManager.GetAdvisorCertifications(detailInfo.AdvisorCertificationsXml); detailInfo.VisitedPlaces = AdvisorInfoManager.GetVisitedPlaces(detailInfo.AdvisorPlacesVisitedXml); detailInfo.Interests = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorInterestTypesXml); detailInfo.SpecialtyDestinations = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorSpecialtyCountriesXml); detailInfo.Languages = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorLanguagesXml); detailInfo.AlliancePrograms = BaseDetailInfoHelpers.GetTravelElements(detailInfo.AdvisorAllianceProgramsXml); detailInfo.ConditionalLeadsName = AdvisorInfoManager.GetConditionalLeadsName(detailInfo.AlliancePrograms); detailInfo.AdvisorPrimarydAddress = ProfileContactInfoManagerBase.GetPrimaryAddress(detailInfo.ProfileAddressXml); ProfileAddressManager.DisambiguateAddressCity(detailInfo.AdvisorPrimarydAddress, isEdit); if (HttpContext.Current.Request.QueryString["consumer"] == "1") { detailInfo.IsEditable = false; detailInfo.IsPreview = true; } var user = FederatedLoginClient.User; var viewModel = new AdvisorDetailViewModel { AdvisorMasterEntityId = detailInfo.AdvisorMasterEntityId, Status = detailInfo.AdvisorStatus, AdvisorName = string.Format("{0} {1}", detailInfo.AdvisorFirstName, detailInfo.AdvisorLastName) }; viewModel.ShowReviewsTab = ReviewHelper.ShowReview(detailInfo.TotalCompletedReviews, detailInfo.TotalBlockedReviews, detailInfo.TotalActiveReviews); if (viewModel.ShowReviewsTab) { viewModel.ReviewsInfoJson = new RatingAndReviewManager().GetReviewsInfoJsonForAdvisor(detailInfo); } viewModel.HeaderInfoPlus = new AdvisorHeaderInfoPlus { Header = new AdvisorHeaderInfoViewModel { AdvisorHeaderInfo = AdvisorInfoManager.BuildHeaderInfo(detailInfo) }, ContactAdvisor = GetContactAdvisor(detailInfo), ReviewBadge = ReviewHelper.BuildBadgeModelForAdvisorDetailPage(detailInfo) }; viewModel.AboutMePlus = new AdvisorAboutMePlus { Alliances = AdvisorInfoManager.BuildAboutMe(detailInfo), Overview = GetProfileOverviewInfo(detailInfo), IsActive = detailInfo.AdvisorIsActive, CompanyIsActive = detailInfo.AdvisorCompanyIsActive, AdvisorMasterEntityId = advisorId }; if (user.IsComposerUser) { AddCommunityInfoForAdvisor(viewModel.AboutMePlus); } viewModel.DetailInfo = detailInfo; viewModel.ContactInfo = AdvisorContactInfoManager.BuildContactInfo(detailInfo); viewModel.CobrandInfo = new AdvisorCobrandInfoViewModel { AdvisorCobrandInfo = AdvisorCobrandAndSettingsManager.BuildCobrandInfo(detailInfo) }; ProfileAddressManager.DisambiguateAddressCity(viewModel.ContactInfo.PrimaryAddress, isEdit); ProfileAddressManager.DisambiguateAddressCities(viewModel.ContactInfo.Addresses, isEdit); // note that if an advisor is using the agency default personalization, the advisor personalized address will be null var personalizedAddress = TouchPoints.Framework.Utilities.Xml.Deserialize <PersonalizationAddress>(detailInfo.AdvisorPersonalizedAddressXml) ?? new PersonalizationAddress(); detailInfo.AdvisorPersonalizedAddress = personalizedAddress; viewModel.AdvisorPersonalization = new AdvisorPersonalizationInfo { AdvisorName = detailInfo.AdvisorPersonalizedName, AgencyName = detailInfo.AgencyPersonalizedName, DoingBusinessAs = detailInfo.AdvisorPersonalizedDoingBusinessAs, AddressLine1 = personalizedAddress.AddressLine1, AddressLine2 = personalizedAddress.AddressLine2, City = personalizedAddress.City, RegionNameEng = personalizedAddress.State, RegionId = personalizedAddress.RegionId, RegionCode = personalizedAddress.RegionCode, CountryNameEng = personalizedAddress.Country, CountryId = personalizedAddress.CountryId, PostalCode = personalizedAddress.PostalCode, Phone = detailInfo.AdvisorPersonalizedPrimaryPhone, SecondPhone = detailInfo.AdvisorPersonalizedSecondaryPhone, WebAddress = detailInfo.AdvisorPersonalizedWebsite, Email = detailInfo.AdvisorPersonalizedEmail, StateOfSellerId = detailInfo.AdvisorPersonalizedStateOfSellerId, LogoUrl = detailInfo.AdvisorCompanyLogo, AssociatedMasterEntityId = detailInfo.AdvisorMasterEntityId, AssociatedParentMasterEntityId = detailInfo.AdvisorCompanyParentMasterEntityId, UseAgencyDefaultPersonalization = detailInfo.UseAgencyDefaultPersonalization }; personalizedAddress = Xml.Deserialize <PersonalizationAddress>(detailInfo.AgencyPersonalizedAddressXml) ?? new PersonalizationAddress(); viewModel.AgencyPersonalization = new AgencyPersonalizationInfo { AgencyName = detailInfo.AgencyPersonalizedName, AddressLine1 = personalizedAddress.AddressLine1, AddressLine2 = personalizedAddress.AddressLine2, City = personalizedAddress.City, RegionNameEng = personalizedAddress.State, RegionId = personalizedAddress.RegionId, RegionCode = personalizedAddress.RegionCode, CountryNameEng = personalizedAddress.Country, CountryId = personalizedAddress.CountryId, PostalCode = personalizedAddress.PostalCode, Phone = detailInfo.AgencyPersonalizedPrimaryPhone, SecondPhone = detailInfo.AgencyPersonalizedSecondaryPhone, WebAddress = detailInfo.AgencyPersonalizedWebsite, Email = detailInfo.AgencyPersonalizedEmail, StateOfSellerId = detailInfo.AgencyPersonalizedStateOfSellerId, LogoUrl = detailInfo.LogoUrl, AssociatedMasterEntityId = detailInfo.AdvisorCompanyMasterEntityId, AssociatedParentMasterEntityId = detailInfo.AdvisorCompanyParentMasterEntityId, }; viewModel.Information = new AdvisorInformationViewModel { AdvisorInformation = AdvisorInfoManager.BuildAdminInfo(detailInfo) }; viewModel.Specialties = new AdvisorTravelSpecialtiesViewModel { AdvisorTravelSpecialties = AdvisorInfoManager.BuildTravelSpecialties(detailInfo) }; // fill in personalization IC status, since the value in DetailInfo may be unreliable viewModel.AdvisorPersonalization.IsIndependentContractor = (viewModel.Information.AdvisorType.TypeId == AdvisorInfoManager.IndependentContractorTypeId); // TODO: only need these for edit by certain people with permissions if (null != viewModel.Specialties) { viewModel.Specialties.SpecialtyCountriesLookup = SpecialtyDestinations.Get(null, ProfileType.Advisor); } viewModel.OutOfOffice = new AdvisorOutOfOffice(); viewModel.Settings = AdvisorCobrandAndSettingsManager.BuildAdvisorSettings(detailInfo); AgencyViewManager.CalculateFieldLevelPermissions(viewModel.Settings, user); viewModel.SupplierMarketingOptions = new SupplierMarketingOptionsViewManager().GetSupplierMarketingOptionsForMember(advisorId); viewModel.SupplierMarketingOptions.MemberHasOverrideRole = detailInfo.OverrideAgencySupplierMarketing; viewModel.SupplierMarketingOptions.AgencyMeid = detailInfo.AdvisorCompanyMasterEntityId; viewModel.ConsumerNotifications = new ConsumerNotificationsViewManager().GetNotificationsForAdvisor(advisorId, viewModel.Settings.Meid, viewModel.Settings.ParentMeid); viewModel.SecurityData = new AdvisorProfileSecurityData(); var securityModel = TouchPoints.Framework.Utilities.Xml.Deserialize <StaffSecurityModelXml>(detailInfo.ProfileRolesXml); viewModel.AdvisorSecurity = SecurityManager.BuildAdvisorSecurity(securityModel); viewModel.HotelBooking = new AdvisorHotelBookingViewModel(); viewModel.HotelBooking.HotelBooking = new AdvisorHotelBooking { AdvisorMasterEntityId = viewModel.AdvisorMasterEntityId, AgentId = detailInfo.AgentId, BookingPrefatoryCode = detailInfo.BookingPrefatoryCode, BookingPseudoCityCode = detailInfo.BookingPseudoCityCode, BookingQueueNumber = detailInfo.BookingQueueNumber, AgentInterfaceId = detailInfo.AgentInterfaceId, SameAsAgency = detailInfo.IsBookingSameAsAgency }; viewModel.AdvisorLogoExists = !String.IsNullOrEmpty(viewModel.AdvisorPersonalization.LogoUrl); viewModel.AgencyDefaultLogoExists = !String.IsNullOrEmpty(viewModel.AgencyPersonalization.LogoUrl); viewModel.PersonalizationGuidelinesUrl = Config.AppSettings.PersonalizationGuidelinesUrl; return(viewModel); }
public IBSampleAppDialog() { InitializeComponent(); ibClient = new IBClient(signal); marketDataManager = new MarketDataManager(ibClient, marketDataGrid_MDT); deepBookManager = new DeepBookManager(ibClient, deepBookGrid); historicalDataManager = new HistoricalDataManager(ibClient, historicalChart, barsGrid); realTimeBarManager = new RealTimeBarsManager(ibClient, rtBarsChart, rtBarsGrid); scannerManager = new ScannerManager(ibClient, scannerGrid, scannerParamsOutput); orderManager = new OrderManager(ibClient, liveOrdersGrid, tradeLogGrid); accountManager = new AccountManager(ibClient, accountSelector, accSummaryGrid, accountValuesGrid, accountPortfolioGrid, positionsGrid); contractManager = new ContractManager(ibClient, fundamentalsOutput, contractDetailsGrid); //ibClient, form tab, form tab. https://interactivebrokers.github.io/tws-api/contract_details.html#gsc.tab=0 advisorManager = new AdvisorManager(ibClient, advisorAliasesGrid, advisorGroupsGrid, advisorProfilesGrid); optionsManager = new OptionsManager(ibClient, optionChainCallGrid, optionChainPutGrid, optionPositionsGrid, listViewOptionParams); acctPosMultiManager = new AcctPosMultiManager(ibClient, positionsMultiGrid, accountUpdatesMultiGrid); mdContractRight.Items.AddRange(ContractRight.GetAll()); mdContractRight.SelectedIndex = 0; conDetRight.Items.AddRange(ContractRight.GetAll()); conDetRight.SelectedIndex = 0; fundamentalsReportType.Items.AddRange(FundamentalsReport.GetAll()); fundamentalsReportType.SelectedIndex = 0; this.groupMethod.DataSource = AllocationGroupMethod.GetAsData(); this.groupMethod.ValueMember = "Value"; this.groupMethod.DisplayMember = "Name"; this.profileType.DataSource = AllocationProfileType.GetAsData(); this.profileType.ValueMember = "Value"; this.profileType.DisplayMember = "Name"; hdRequest_EndTime.Text = DateTime.Now.ToString("yyyyMMdd HH:mm:ss"); DateTime execFilterDefault = DateTime.Now.AddHours(-1); execFilterTime.Text = execFilterDefault.ToString("yyyyMMdd HH:mm:ss"); // Events liniking // All events belong to EWrapper interface and called Public member functions ibClient.Error += ibClient_Error; ibClient.ConnectionClosed += ibClient_ConnectionClosed; ibClient.CurrentTime += time => addTextToBox("Current Time: " + time + "\n"); ibClient.TickPrice += ibClient_TickPrice; ibClient.TickSize += ibClient_TickSize; ibClient.TickString += (tickerId, tickType, value) => addTextToBox("Tick string. Ticker Id:" + tickerId + ", Type: " + TickType.getField(tickType) + ", Value: " + value + "\n"); ibClient.TickGeneric += (tickerId, field, value) => addTextToBox("Tick Generic. Ticker Id:" + tickerId + ", Field: " + TickType.getField(field) + ", Value: " + value + "\n"); ibClient.TickEFP += (tickerId, tickType, basisPoints, formattedBasisPoints, impliedFuture, holdDays, futureLastTradeDate, dividendImpact, dividendsToLastTradeDate) => addTextToBox("TickEFP. " + tickerId + ", Type: " + tickType + ", BasisPoints: " + basisPoints + ", FormattedBasisPoints: " + formattedBasisPoints + ", ImpliedFuture: " + impliedFuture + ", HoldDays: " + holdDays + ", FutureLastTradeDate: " + futureLastTradeDate + ", DividendImpact: " + dividendImpact + ", DividendsToLastTradeDate: " + dividendsToLastTradeDate + "\n"); ibClient.TickSnapshotEnd += tickerId => addTextToBox("TickSnapshotEnd: " + tickerId + "\n"); ibClient.NextValidId += ibClient_NextValidId; // Receives next valid order id. Will be invoked automatically upon successfull API client connection. Used for sending connection status ibClient.DeltaNeutralValidation += (reqId, underComp) => addTextToBox("DeltaNeutralValidation. " + reqId + ", ConId: " + underComp.ConId + ", Delta: " + underComp.Delta + ", Price: " + underComp.Price + "\n"); ibClient.ManagedAccounts += accountsList => HandleMessage(new ManagedAccountsMessage(accountsList)); ibClient.TickOptionCommunication += (tickerId, field, impliedVolatility, delta, optPrice, pvDividend, gamma, vega, theta, undPrice) => HandleMessage(new TickOptionMessage(tickerId, field, impliedVolatility, delta, optPrice, pvDividend, gamma, vega, theta, undPrice)); ibClient.AccountSummary += (reqId, account, tag, value, currency) => HandleMessage(new AccountSummaryMessage(reqId, account, tag, value, currency)); ibClient.AccountSummaryEnd += reqId => HandleMessage(new AccountSummaryEndMessage(reqId)); ibClient.UpdateAccountValue += (key, value, currency, accountName) => HandleMessage(new AccountValueMessage(key, value, currency, accountName)); ibClient.UpdatePortfolio += (contract, position, marketPrice, marketValue, averageCost, unrealisedPNL, realisedPNL, accountName) => HandleMessage(new UpdatePortfolioMessage(contract, position, marketPrice, marketValue, averageCost, unrealisedPNL, realisedPNL, accountName)); ibClient.UpdateAccountTime += timestamp => HandleMessage(new UpdateAccountTimeMessage(timestamp)); ibClient.AccountDownloadEnd += account => HandleMessage(new AccountDownloadEndMessage(account)); ibClient.OrderStatus += (orderId, status, filled, remaining, avgFillPrice, permId, parentId, lastFillPrice, clientId, whyHeld) => HandleMessage(new OrderStatusMessage(orderId, status, filled, remaining, avgFillPrice, permId, parentId, lastFillPrice, clientId, whyHeld)); ibClient.OpenOrder += (orderId, contract, order, orderState) => HandleMessage(new OpenOrderMessage(orderId, contract, order, orderState)); ibClient.OpenOrderEnd += () => HandleMessage(new OpenOrderEndMessage()); ibClient.ContractDetails += (reqId, contractDetails) => HandleMessage(new ContractDetailsMessage(reqId, contractDetails)); ibClient.ContractDetailsEnd += (reqId) => HandleMessage(new ContractDetailsEndMessage()); ibClient.ExecDetails += (reqId, contract, execution) => HandleMessage(new ExecutionMessage(reqId, contract, execution)); ibClient.ExecDetailsEnd += reqId => addTextToBox("ExecDetailsEnd. " + reqId + "\n"); ibClient.CommissionReport += commissionReport => HandleMessage(new CommissionMessage(commissionReport)); ibClient.FundamentalData += (reqId, data) => HandleMessage(new FundamentalsMessage(data)); ibClient.HistoricalData += (reqId, date, open, high, low, close, volume, count, WAP, hasGaps) => HandleMessage(new HistoricalDataMessage(reqId, date, open, high, low, close, volume, count, WAP, hasGaps)); ibClient.HistoricalDataEnd += (reqId, startDate, endDate) => HandleMessage(new HistoricalDataEndMessage(reqId, startDate, endDate)); ibClient.MarketDataType += (reqId, marketDataType) => addTextToBox("MarketDataType. " + reqId + ", Type: " + marketDataType + "\n"); ibClient.UpdateMktDepth += (tickerId, position, operation, side, price, size) => HandleMessage(new DeepBookMessage(tickerId, position, operation, side, price, size, "")); ibClient.UpdateMktDepthL2 += (tickerId, position, marketMaker, operation, side, price, size) => HandleMessage(new DeepBookMessage(tickerId, position, operation, side, price, size, marketMaker)); ibClient.UpdateNewsBulletin += (msgId, msgType, message, origExchange) => addTextToBox("News Bulletins. " + msgId + " - Type: " + msgType + ", Message: " + message + ", Exchange of Origin: " + origExchange + "\n"); ibClient.Position += (account, contract, pos, avgCost) => HandleMessage(new PositionMessage(account, contract, pos, avgCost)); ibClient.PositionEnd += () => addTextToBox("PositionEnd \n"); ibClient.RealtimeBar += (reqId, time, open, high, low, close, volume, WAP, count) => HandleMessage(new RealTimeBarMessage(reqId, time, open, high, low, close, volume, WAP, count)); ibClient.ScannerParameters += xml => HandleMessage(new ScannerParametersMessage(xml)); ibClient.ScannerData += (reqId, rank, contractDetails, distance, benchmark, projection, legsStr) => HandleMessage(new ScannerMessage(reqId, rank, contractDetails, distance, benchmark, projection, legsStr)); ibClient.ScannerDataEnd += reqId => addTextToBox("ScannerDataEnd. " + reqId + "\r\n"); ibClient.ReceiveFA += (faDataType, faXmlData) => HandleMessage(new AdvisorDataMessage(faDataType, faXmlData)); ibClient.BondContractDetails += (requestId, contractDetails) => addTextToBox("Receiving bond contract details."); ibClient.VerifyMessageAPI += apiData => addTextToBox("verifyMessageAPI: " + apiData); ibClient.VerifyCompleted += (isSuccessful, errorText) => addTextToBox("verifyCompleted. IsSuccessfule: " + isSuccessful + " - Error: " + errorText); ibClient.VerifyAndAuthMessageAPI += (apiData, xyzChallenge) => addTextToBox("verifyAndAuthMessageAPI: " + apiData + " " + xyzChallenge); ibClient.VerifyAndAuthCompleted += (isSuccessful, errorText) => addTextToBox("verifyAndAuthCompleted. IsSuccessfule: " + isSuccessful + " - Error: " + errorText); ibClient.DisplayGroupList += (reqId, groups) => addTextToBox("DisplayGroupList. Request: " + reqId + ", Groups" + groups); ibClient.DisplayGroupUpdated += (reqId, contractInfo) => addTextToBox("displayGroupUpdated. Request: " + reqId + ", ContractInfo: " + contractInfo); ibClient.PositionMulti += (reqId, account, modelCode, contract, pos, avgCost) => HandleMessage(new PositionMultiMessage(reqId, account, modelCode, contract, pos, avgCost)); ibClient.PositionMultiEnd += (reqId) => HandleMessage(new PositionMultiEndMessage(reqId)); ibClient.AccountUpdateMulti += (reqId, account, modelCode, key, value, currency) => HandleMessage(new AccountUpdateMultiMessage(reqId, account, modelCode, key, value, currency)); ibClient.AccountUpdateMultiEnd += (reqId) => HandleMessage(new AccountUpdateMultiEndMessage(reqId)); ibClient.SecurityDefinitionOptionParameter += (reqId, exchange, underlyingConId, tradingClass, multiplier, expirations, strikes) => HandleMessage(new SecurityDefinitionOptionParameterMessage(reqId, exchange, underlyingConId, tradingClass, multiplier, expirations, strikes)); ibClient.SecurityDefinitionOptionParameterEnd += (reqId) => HandleMessage(new SecurityDefinitionOptionParameterEndMessage(reqId)); ibClient.SoftDollarTiers += (reqId, tiers) => HandleMessage(new SoftDollarTiersMessage(reqId, tiers)); }
public AdvisorUi() { InitializeComponent(); advisor = new Advisor(); advisorManager = new AdvisorManager(); }