internal void setupInstrumentAndfillStrikeInDecimal(ADMPositionImportWeb aDMSummaryImport, Instrument[] instruments, BrokerImportFiles brokerImportFiles) { if (aDMSummaryImport.PFC.CompareTo("05") == 0) { aDMSummaryImport.PFC = "S-"; } else if (aDMSummaryImport.PFC.CompareTo("02") == 0) { aDMSummaryImport.PFC = "C-"; } int instrumentCounter = 0; while (instrumentCounter < instruments.Length) { if (aDMSummaryImport.PFC.CompareTo(instruments[instrumentCounter].admCode) == 0) { break; } instrumentCounter++; } if (instrumentCounter >= instruments.Length) { instrumentCounter = 0; } aDMSummaryImport.instrumentArrayIdx = instrumentCounter; aDMSummaryImport.instrument = instruments[instrumentCounter]; subContractType((ADM_Input_Data)aDMSummaryImport, aDMSummaryImport.PSUBTY); if (brokerImportFiles == BrokerImportFiles.GMI_IMPORT_CSV_FILES) { aDMSummaryImport.strikeInDecimal = Convert.ToDouble(aDMSummaryImport.aDMStrike) * instruments[instrumentCounter].admFuturePriceFactor; } else if (brokerImportFiles == BrokerImportFiles.ADM_WEB_IMPORT_FILES) { aDMSummaryImport.strikeInDecimal = ConversionAndFormatting.convertToTickMovesDouble(aDMSummaryImport.aDMStrike, instruments[instrumentCounter].optionStrikeIncrement, instruments[instrumentCounter].optionADMStrikeDisplay); } else if (brokerImportFiles == BrokerImportFiles.BACKUP_SAVED_FILE) { aDMSummaryImport.strikeInDecimal = Convert.ToDouble(aDMSummaryImport.aDMStrike); } aDMSummaryImport.strike = ConversionAndFormatting.convertToTickMovesString(aDMSummaryImport.strikeInDecimal, instruments[aDMSummaryImport.instrumentArrayIdx].optionStrikeIncrement, instruments[aDMSummaryImport.instrumentArrayIdx].optionStrikeDisplay); }
internal void readADMDetailedPositionImportWeb(String[] fileNames, List <ADMPositionImportWeb> admSummaryFieldsList, ImportFileCheck importFileCheck, Instrument[] instruments)//, bool[] doNotImportFile) { BrokerImportFiles brokerImportFiles = BrokerImportFiles.BACKUP_SAVED_FILE; FTPInputFileTypes cSVImportFileType = FTPInputFileTypes.ADM_WEB_INTERFACE_FILES; importFileCheck.importfile = true; //bool importFile = true; #if DEBUG try #endif { Type admSummaryFieldTypes = typeof(ADM_DETAIL_FIELDS); Array admSummaryFieldTypeArray = Enum.GetNames(admSummaryFieldTypes); for (int fileCounter = 0; fileCounter < fileNames.Length; fileCounter++) { bool firstLine = true; if (File.Exists(fileNames[fileCounter])) { DateTime lastWriteTime = File.GetLastWriteTime(fileNames[fileCounter]); { FileStream fileStream = new FileStream(fileNames[fileCounter], FileMode.Open, FileAccess.Read, FileShare.ReadWrite); StreamReader streamReader = new StreamReader(fileStream); if (fileNames[fileCounter].ToLower().EndsWith(".csv")) { string[] parsedFileName = fileNames[fileCounter].Split('\\'); if (parsedFileName.Last().Substring(0, 3).ToLower().CompareTo("pos") == 0) { cSVImportFileType = FTPInputFileTypes.POSITION_FILE_WEDBUSH_OR_RCG; brokerImportFiles = BrokerImportFiles.GMI_IMPORT_CSV_FILES; } else if (parsedFileName.Last().Substring(0, 3).ToLower().CompareTo("prl") == 0) { cSVImportFileType = FTPInputFileTypes.TRANSACTION_FILE_WEDBUSH; brokerImportFiles = BrokerImportFiles.GMI_IMPORT_CSV_FILES; } else if (parsedFileName.Last().Substring(0, 4).ToLower().CompareTo("trnd") == 0) { cSVImportFileType = FTPInputFileTypes.TRANSACTION_FILE_RCG; brokerImportFiles = BrokerImportFiles.GMI_IMPORT_CSV_FILES; } else if (parsedFileName.Last().ToLower().EndsWith("adatpos.csv")) { cSVImportFileType = FTPInputFileTypes.POSITION_FILE_ADM; brokerImportFiles = BrokerImportFiles.GMI_IMPORT_CSV_FILES; } else if (parsedFileName.Last().ToLower().EndsWith("aaprlmcsv.csv")) { cSVImportFileType = FTPInputFileTypes.TRANSACTION_FILE_ADM; brokerImportFiles = BrokerImportFiles.ADM_WEB_IMPORT_FILES; } else { importFileCheck.importfile = false; String caption = "An imported file is not a 'pos' or 'prl' file"; String message = fileNames[fileCounter] + "\nis not a 'pos' or 'prl'"; MessageBoxButtons buttons = MessageBoxButtons.OK; System.Windows.Forms.DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Error); } } else { cSVImportFileType = FTPInputFileTypes.ADM_WEB_INTERFACE_FILES; brokerImportFiles = BrokerImportFiles.ADM_WEB_IMPORT_FILES; } bool setFileReader = false; Fill_GMI_ImportDelegate Import_GMI = null; while (!(streamReader.EndOfStream) && importFileCheck.importfile) { String line = streamReader.ReadLine(); if (line.Length > 0) { List <String> stringList; // = readSeparatedLine(line, '\t'); if (cSVImportFileType == FTPInputFileTypes.ADM_WEB_INTERFACE_FILES || importFileCheck.importingBackedUpSavedFile) { stringList = readSeparatedLine(line, '\t'); } else { stringList = readSeparatedLine(line, ','); } if (cSVImportFileType == FTPInputFileTypes.POSITION_FILE_ADM || cSVImportFileType == FTPInputFileTypes.TRANSACTION_FILE_ADM) { //there isn't a header line in these 2 file types from ADM ftp firstLine = false; } if (firstLine) { //firstLine = false; if (cSVImportFileType == FTPInputFileTypes.POSITION_FILE_WEDBUSH_OR_RCG) { if (stringList.Count > 0) { //brokerImportFiles = BrokerImportFiles.BACKUP_SAVED_FILE; if (stringList[0].CompareTo("R I D") == 0) { cSVImportFileType = FTPInputFileTypes.POSITION_FILE_RCG; } else { cSVImportFileType = FTPInputFileTypes.POSITION_FILE_WEDBUSH; } } } else if (importFileCheck.importingBackedUpSavedFile) { brokerImportFiles = BrokerImportFiles.BACKUP_SAVED_FILE; } //else if (brokerImportFiles == BrokerImportFiles.ADM_FILES) else if (cSVImportFileType == FTPInputFileTypes.ADM_WEB_INTERFACE_FILES) { int stringListCounter = 0; while (stringListCounter < stringList.Count) { if (stringListCounter >= admSummaryFieldTypeArray.Length || (stringListCounter < admSummaryFieldTypeArray.Length && stringList[stringListCounter].CompareTo( admSummaryFieldTypeArray.GetValue(stringListCounter)) != 0)) { String caption = "ADM FIELDS HAVE CHANGED, FIELDS DO NOT MATCH PREVIOUS INPUTS"; String message = fileNames[fileCounter] + "\nADM FIELDS HAVE CHANGED, THERE IS A PROBLEM \nFILE WILL NOT BE IMPORTED"; MessageBoxButtons buttons = MessageBoxButtons.OK; System.Windows.Forms.DialogResult result; // Displays the MessageBox. result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Error); importFileCheck.importfile = false; break; } stringListCounter++; } } } if (!setFileReader) { if ((importFileCheck.importingBackedUpSavedFile || cSVImportFileType == FTPInputFileTypes.ADM_WEB_INTERFACE_FILES) && importFileCheck.importfile) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_ImportFromBackup_Or_ADMWeb); setFileReader = true; } else if (cSVImportFileType == FTPInputFileTypes.POSITION_FILE_WEDBUSH) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_Position_Wedbush); setFileReader = true; } else if (cSVImportFileType == FTPInputFileTypes.TRANSACTION_FILE_WEDBUSH) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_Transaction_Wedbush); setFileReader = true; } else if (cSVImportFileType == FTPInputFileTypes.POSITION_FILE_RCG) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_Position_RCG); setFileReader = true; } else if (cSVImportFileType == FTPInputFileTypes.TRANSACTION_FILE_RCG) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_Transaction_RCG); setFileReader = true; } else if (cSVImportFileType == FTPInputFileTypes.POSITION_FILE_ADM) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_Position_ADM); setFileReader = true; } else if (cSVImportFileType == FTPInputFileTypes.TRANSACTION_FILE_ADM) { Import_GMI = new Fill_GMI_ImportDelegate(GMI_FileRead.FillGMI_Transaction_ADM); setFileReader = true; } } if (!firstLine && setFileReader) { ADMPositionImportWeb aDMSummaryImport = Import_GMI(stringList); if (aDMSummaryImport != null) { admSummaryFieldsList.Add(aDMSummaryImport); setupInstrumentAndfillStrikeInDecimal(aDMSummaryImport, instruments, brokerImportFiles); } } if (firstLine) { firstLine = false; } //if (stringList.Count > 0 //&& stringList[(int)ADM_DETAIL_FIELDS.PEXCH].Trim().Length > 0 //&& stringList[(int)ADM_DETAIL_FIELDS.PFC].Trim().Length > 0 //&& stringList[(int)ADM_DETAIL_FIELDS.PCTYM].Trim().Length > 0) //{ // ADMPositionImportWeb aDMSummaryImport = new ADMPositionImportWeb(); // admSummaryFieldsList.Add(aDMSummaryImport); // //aDMSummaryImport.rowInSummaryFieldList = admSummaryFieldsList.Count - 1; // aDMSummaryImport.RecordType = stringList[(int)ADM_DETAIL_FIELDS.RecordType]; // aDMSummaryImport.POFFIC = stringList[(int)ADM_DETAIL_FIELDS.POFFIC]; // aDMSummaryImport.PACCT = stringList[(int)ADM_DETAIL_FIELDS.PACCT]; // aDMSummaryImport.PCUSIP = stringList[(int)ADM_DETAIL_FIELDS.PCUSIP]; // aDMSummaryImport.PCUSIP2 = stringList[(int)ADM_DETAIL_FIELDS.PCUSIP2]; // aDMSummaryImport.Description = stringList[(int)ADM_DETAIL_FIELDS.Description]; // aDMSummaryImport.LongQuantity = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.LongQuantity); // aDMSummaryImport.ShortQuantity = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.ShortQuantity); // //aDMSummaryImport.Net = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.TradeDate); // //aDMSummaryImport.netContractsEditable = aDMSummaryImport.Net; // aDMSummaryImport.TradeDate = stringList[(int)ADM_DETAIL_FIELDS.TradeDate]; // aDMSummaryImport.TradePrice = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.TradePrice); // aDMSummaryImport.WeightedPrice = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.WeightedPrice); // //aDMSummaryImport.AveragePrice = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.AveragePrice); // aDMSummaryImport.RealTimePrice = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.RealTimePrice); // aDMSummaryImport.SettledPrice = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.SettledPrice); // aDMSummaryImport.PrelimPrice = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.PrelimPrice); // aDMSummaryImport.Value = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.Value); // aDMSummaryImport.ClosedValue = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.ClosedValue); // aDMSummaryImport.SettledValue = getDoubleOutOfStringList(stringList, ADM_DETAIL_FIELDS.SettledValue); // aDMSummaryImport.Currency = stringList[(int)ADM_DETAIL_FIELDS.Currency]; // aDMSummaryImport.PSUBTY = stringList[(int)ADM_DETAIL_FIELDS.PSUBTY]; // aDMSummaryImport.PEXCH = getIntOutOfStringList(stringList, ADM_DETAIL_FIELDS.PEXCH); // aDMSummaryImport.PFC = stringList[(int)ADM_DETAIL_FIELDS.PFC]; // aDMSummaryImport.aDMStrike = stringList[(int)ADM_DETAIL_FIELDS.Strike]; // aDMSummaryImport.PCTYM = stringList[(int)ADM_DETAIL_FIELDS.PCTYM]; // aDMSummaryImport.PCARD = stringList[(int)ADM_DETAIL_FIELDS.PCARD]; // setupInstrumentAndfillStrikeInDecimal(aDMSummaryImport, // instruments, brokerImportFiles); //} } } streamReader.Close(); fileStream.Close(); } } } // else // { // String caption = "ADM FIELDS HAVE CHANGED, FIELDS DO NOT MATCH PREVIOUS INPUTS"; // String message = fileName + "\nTHERE IS A PROBLEM \nFILE WILL NOT BE IMPORTED"; // MessageBoxButtons buttons = MessageBoxButtons.OK; // System.Windows.Forms.DialogResult result; // // // Displays the MessageBox. // result = MessageBox.Show(message, caption, buttons, MessageBoxIcon.Error); // } } #if DEBUG catch (Exception ex) { TSErrorCatch.errorCatchOut(Convert.ToString(this), ex); } #endif if (!importFileCheck.importfile) { admSummaryFieldsList.Clear(); } //return importFile; }