public void ReadRecordB(string record)
 {
     m_SequenceNumberB.ExtractValueFromRecord(record);
     m_AccountNumberB.ExtractValueFromRecord(record);
     m_CusipB.ExtractValueFromRecord(record);
     m_UnderlyingCusipB.ExtractValueFromRecord(record);
     m_InvestmentProfessionalB.ExtractValueFromRecord(record);
     m_IntroductingBrokerB.ExtractValueFromRecord(record);
     m_FullyPaidLendingQuantity.ExtractValueFromRecord(record);
     m_FullyPaidLendingQuantityCollateralAmount.ExtractValueFromRecord(record);
     m_OptionRoot.ExtractValueFromRecord(record);
     if (IsOption)
     {
         m_ExpirationDateB.ExtractValueFromRecord(record);
         m_CallPutIndicator.ExtractValueFromRecord(record);
         m_StrikePriceB.ExtractValueFromRecord(record);
     }
     m_TDRepoQuantity.ExtractValueFromRecord(record);
     m_SDRepoQuantity.ExtractValueFromRecord(record);
     m_TDReverseRepoQuantity.ExtractValueFromRecord(record);
     m_SDReverseRepoQuantity.ExtractValueFromRecord(record);
     m_CollateralPledgeQuantity.ExtractValueFromRecord(record);
     m_CorporateExecutiveServicesCollateralPledgeQuantity.ExtractValueFromRecord(record);
     m_TDRepoLiquidatingValue.ExtractValueFromRecord(record);
     m_SDRepoLiquidatingValue.ExtractValueFromRecord(record);
     m_TDReverseRepoLiquidatingValue.ExtractValueFromRecord(record);
     m_SDReverseRepoLiquidatingValue.ExtractValueFromRecord(record);
     m_CollateralPledgeLiquidatingValue.ExtractValueFromRecord(record);
     m_CorporateExecutiveServicesCollateralPledgeLiquidatingValue.ExtractValueFromRecord(record);
     m_SDRepoLoanAmount.ExtractValueFromRecord(record);
     m_TDReverseRepoLoanAmount.ExtractValueFromRecord(record);
     m_SDReverseRepoLoanAmount.ExtractValueFromRecord(record);
     m_AccruedInterestValue.ExtractValueFromRecord(record);
     m_DividendorCouponRate.ExtractValueFromRecord(record);
 }
 public void ReadRecordA(string record)
 {
     m_SequenceNumber.ExtractValueFromRecord(record);
     m_AccountNumber.ExtractValueFromRecord(record);
     m_PortfolioAccountType.ExtractValueFromRecord(record);
     m_Cusip.ExtractValueFromRecord(record);
     m_IntroductingBroker.ExtractValueFromRecord(record);
     m_InvestmentProfessional.ExtractValueFromRecord(record);
     m_ProcessDate.ExtractValueFromRecord(record);
     m_ReconciliationBreakIndicator.ExtractValueFromRecord(record);
     m_Quantity.ExtractValueFromRecord(record);
     m_CostBasis.ExtractValueFromRecord(record);
     m_SecuritySymbol.ExtractValueFromRecord(record);
     m_OptionRoot.ExtractValueFromRecord(record);
     if (IsOption)
     {
         m_ExpirationDate.ExtractValueFromRecord(record);
         m_CallPutIndicator.ExtractValueFromRecord(record);
         m_StrikePrice.ExtractValueFromRecord(record);
     }
     m_DateOfData.ExtractValueFromRecord(record);
 }
 public void ReadRecordA(string record)
 {
     m_SequenceNumberA.ExtractValueFromRecord(record);
     m_AccountNumberA.ExtractValueFromRecord(record);
     m_CusipA.ExtractValueFromRecord(record);
     m_UnderlyingCusipA.ExtractValueFromRecord(record);
     m_InvestmentProfessionalA.ExtractValueFromRecord(record);
     m_IntroductingBrokerA.ExtractValueFromRecord(record);
     m_CurrencySecurityIndicator.ExtractValueFromRecord(record);
     m_IssueCurrency.ExtractValueFromRecord(record);
     m_TDQuantityUpdateDate.ExtractValueFromRecord(record);
     m_SDQuantityUpdateDate.ExtractValueFromRecord(record);
     m_TDQuantity.ExtractValueFromRecord(record);
     m_SDQuantity.ExtractValueFromRecord(record);
     m_SEGQuantity.ExtractValueFromRecord(record);
     m_SafekeepingQuantity.ExtractValueFromRecord(record);;
     m_TransferQuantity.ExtractValueFromRecord(record);
     m_PendingTransferQuantity.ExtractValueFromRecord(record);
     m_LegalTransferQuantity.ExtractValueFromRecord(record);
     m_TenderedQuantity.ExtractValueFromRecord(record);
     m_PendingPapersQuantity.ExtractValueFromRecord(record);
     m_ShortAgainstBoxQuantity.ExtractValueFromRecord(record);
     m_NetworkedQuantity.ExtractValueFromRecord(record);
     m_PendingSplitQuantity.ExtractValueFromRecord(record);
     m_CoveredQuantity.ExtractValueFromRecord(record);
     m_TDQuantityBought.ExtractValueFromRecord(record);
     m_TDQuantitySold.ExtractValueFromRecord(record);
     m_RegTRequirement.ExtractValueFromRecord(record);
     m_HouseMarginRequirement.ExtractValueFromRecord(record);
     m_ExchangeRequirement.ExtractValueFromRecord(record);
     m_EquityRequirement.ExtractValueFromRecord(record);
     m_SecuritySymbol.ExtractValueFromRecord(record);
     m_SecurityType.ExtractValueFromRecord(record);
     m_SecurityMod.ExtractValueFromRecord(record);
     m_SecurityCalc.ExtractValueFromRecord(record);
     m_MinorProductCode.ExtractValueFromRecord(record);
     m_NetworkEligibilityIndicator.ExtractValueFromRecord(record);
     if (IsOption)
     {
         m_StrikePriceA.ExtractValueFromRecord(record);
         m_ExpirationDateA.ExtractValueFromRecord(record);
     }
     m_ContractSize.ExtractValueFromRecord(record);
     m_ConversionRatio.ExtractValueFromRecord(record);
     m_AccountShortName.ExtractValueFromRecord(record);
     m_StateCode.ExtractValueFromRecord(record);
     m_CountryCode.ExtractValueFromRecord(record);
     m_NumberofDescriptionLines.ExtractValueFromRecord(record);
     m_DescriptionLine1.ExtractValueFromRecord(record);
     m_DescriptionLine2.ExtractValueFromRecord(record);
     m_DescriptionLine3.ExtractValueFromRecord(record);
     m_DescriptionLine4.ExtractValueFromRecord(record);
     m_DescriptionLine5.ExtractValueFromRecord(record);
     m_DescriptionLine6.ExtractValueFromRecord(record);
     m_DividendOption.ExtractValueFromRecord(record);
     m_LTCapialGainsOption.ExtractValueFromRecord(record);
     m_STCapialGainsOption.ExtractValueFromRecord(record);
     m_FirmTradingIndicator.ExtractValueFromRecord(record);
     m_PositionCurrency.ExtractValueFromRecord(record);
     m_TDLiquidatingValue.ExtractValueFromRecord(record);
     m_PoolFactor.ExtractValueFromRecord(record);
     m_ExchangeRate.ExtractValueFromRecord(record);
     m_SDLiquidatingValue.ExtractValueFromRecord(record);
     m_AlternateSecurityIdType.ExtractValueFromRecord(record);
     m_AlternateSecurityId.ExtractValueFromRecord(record);;
     m_StructureProductIndicator.ExtractValueFromRecord(record);
 }
Esempio n. 4
0
        protected T[] FillRecords(StreamReader reader)
        {
            List <T> abRecordList = new List <T>();
            T        abRecord     = default(T);
            string   currentLine  = "";
            bool     reachedEOF   = false;

            try
            {
                while (currentLine != null)
                {
                    // read next line
                    currentLine = reader.ReadLine();

                    // on eof, save current record and exit loop
                    if ((currentLine == null) || reachedEOF)
                    {
                        if (abRecord != null)
                        {
                            abRecordList.Add(abRecord);
                        }
                        break;
                    }

                    // otherwise, process this line
                    else
                    {
                        switch (m_transactionCode.ExtractValueFromRecord(currentLine))
                        {
                        case "BOF":     // beginning of file
                            m_headerDate.ExtractValueFromRecord(currentLine);
                            if (m_headerDate.FieldValue < Utilities.PreviousDate)
                            {
                                throw new ReconciliationImportException("Header record has an invalid date: " + m_headerDate.FieldValue.ToShortDateString());
                            }
                            break;

                        case "EOF":     // end of file
                            reachedEOF = true;
                            break;

                        default:
                            // if we have a current record and sequence numbers do not match, save that record
                            if (abRecord != null)
                            {
                                if (abRecord.SequenceNumber != m_sequenceNumber.ExtractValueFromRecord(currentLine))
                                {
                                    abRecordList.Add(abRecord);
                                    abRecord = new T();
                                }
                            }
                            else
                            {
                                abRecord = new T();
                            }

                            // read data from current line
                            switch (m_recordIndicator.ExtractValueFromRecord(currentLine))
                            {
                            case "A":
                                abRecord.ReadRecordA(currentLine);
                                break;

                            case "B":
                                abRecord.ReadRecordB(currentLine);
                                break;

                            default:
                                throw new ReconciliationImportException("Record has an unidentified record indicator: " + m_recordIndicator.FieldValue);
                            }
                            break;
                        }
                    }
                }
            }
            catch (Exception e)
            {
                Utilities.Error("Error reading record: " + abRecord ?? "", e);
                abRecordList.Clear();
            }
            return(abRecordList.ToArray());
        }