public void SaveFile() //ACH { var fileContent = string.Empty; var filePath = string.Empty; using (OpenFileDialog ofd = new OpenFileDialog()) { ofd.InitialDirectory = "C:\\"; ofd.Filter = "dat files (*.dat)|*.dat|All files (*.*)|*.*"; ofd.FilterIndex = 1; ofd.RestoreDirectory = true; if (ofd.ShowDialog() == DialogResult.OK) { filePath = ofd.FileName; SaveFileDialog sfd = new SaveFileDialog(); //put in own method to reuse with XML save if (g == 1) { sfd.Filter = "JSON Files | *.json"; sfd.DefaultExt = "json"; } else if (g == 2) { sfd.Filter = "XML Files | *.xml"; sfd.DefaultExt = "xml"; } else if (g == 3) { sfd.Filter = "JSON Files | *.json"; sfd.DefaultExt = "json"; } if (sfd.ShowDialog() == DialogResult.OK) { Path.GetFileName(sfd.FileName); var fileStream = ofd.OpenFile(); using (StreamReader reader = new StreamReader(fileStream)) { string line; int counter = 0; int PECount = 0; int ADCount = 0; Conversion c = new Conversion(); c.filepath = Path.GetFullPath(sfd.FileName); c.g = g; if (g == 1 || g == 2) { while ((line = reader.ReadLine()) != null) { if (line.Substring(0, 1).Contains("1")) { //File Header Record c.FHRConv(line); counter++; } else if (line.Substring(0, 1).Contains("5")) { //Batch Header Record c.BHRConv(line); counter++; } else if (line.Substring(0, 1).Contains("6")) { //Payment Entry PECount++; c.PECount = PECount; c.SECCheck(line); counter++; } else if (line.Substring(0, 1).Contains("7")) { //Addenda Record ADCount++; c.ADCount = ADCount; c.ARConv(line); counter++; } else if (line.Substring(0, 1).Contains("8")) { //Batch Control Record c.BCRConv(line); counter++; } else if (line.Substring(0, 1).Contains("9")) { //File Control Record c.FCRConv(line); counter++; } else { throw new System.InvalidOperationException("Unknown line number. Raw line: \n" + line); } } } else if (g == 3) { while ((line = reader.ReadLine()) != null) { if (line.Substring(0, 2).Contains("01")) { //File Header Record c.WIRE_FileHeader(line); counter++; } else if (line.Substring(0, 2).Contains("02")) { //Group Header c.WIRE_GroupHeader(line); counter++; } else if (line.Substring(0, 2).Contains("03")) { //Account Identifier and Summary Status PECount++; c.WIRE_AcctID(line); counter++; } else if (line.Substring(0, 2).Contains("16")) { //Transaction Detail ADCount++; c.ADCount = ADCount; c.WIRE_TransDetail(line); counter++; } else if (line.Substring(0, 2).Contains("88")) { //Continuation Record c.WIRE_Continuation(line); counter++; } else if (line.Substring(0, 2).Contains("49")) { //Account Trailer c.WIRE_AccountTrailer(line); counter++; } else if (line.Substring(0, 2).Contains("98")) { //Group Trailer c.WIRE_GroupTrailer(line); counter++; } else if (line.Substring(0, 2).Contains("99")) { //File Trailer c.WIRE_FileTrailer(line); counter++; } else { throw new System.InvalidOperationException("Unknown line number. Raw line: \n" + line); } } } MessageBox.Show("Conversion Complete!", "Done!"); } } } } }