Exemple #1
0
        private void Handle(InformationReport report)
        {
            if (report == null)
            {
                throw new ArgumentNullException(nameof(report), "Invalid information report");
            }

            switch ((InformationReport.StatusCode)report.status_code)
            {
            case InformationReport.StatusCode.FAILURE:
            case InformationReport.StatusCode.DISCONNECTED:
            case InformationReport.StatusCode.DROPPED:
            case InformationReport.StatusCode.NOT_FOUND:
                marketDataNotResolvedEvent.Raise(report.id, report);
                return;

            case InformationReport.StatusCode.SUCCESS:
                if (report.accounts_report != null)
                {
                    accountResolvedEvent.Raise(report.accounts_report);
                }
                else if (report.symbol_resolution_report != null)
                {
                    if (report.symbol_resolution_report.contract_metadata != null)
                    {
                        contractMetadataReceivedEvent.Raise(report.symbol_resolution_report.contract_metadata);
                    }

                    marketDataResolvedEvent.Raise(report.id, report);
                }
                //else if (report.session_information_report != null)
                //{
                //    sessionsResolved(report.session_information_report);
                //}
                //else if (report.last_statement_balances_report != null)
                //{
                //    lastStatementBalancesResolved(report.last_statement_balances_report);
                //}
                //else if (report.historical_orders_report != null)
                //{
                //    HistoricalOrdersRequestResolved(report.historical_orders_report);
                //}
                break;

            case InformationReport.StatusCode.SUBSCRIBED:
                break;

            case InformationReport.StatusCode.UPDATE:
                break;
            }
        }
Exemple #2
0
        private async Task FillData(DataSet ds, InformationContext entity, List <InformationReport> reports)
        {
            foreach (DataRow item in ds.Tables[0].Rows)
            {
                InformationReport report = new InformationReport();
                report.ErrorCode = item["errorcode"] != null?Convert.ToInt32(item["errorcode"]) : 0;

                report.ErrorMessage    = item["errormessage"].ToString();
                report.NumberOfResults = item["numberofresults"].ToString();
                report.Results         = item["results"].ToString();
                report.StopID          = item["stopid"] != null?Convert.ToInt32(item["stopid"]) : 0;

                report.TimeStamp = item["timestamp"] != null?Convert.ToDateTime(item["timestamp"]) : DateTime.Now;

                reports.Add(report);
                entity.InformationReport.Add(report);
            }
            entity.SaveChanges();
        }