public void getFiles() { OpenFileDialog dialog = new OpenFileDialog(); dialog.InitialDirectory = "c:\\"; dialog.Filter = "Our files (*.xlsx, *.csv, *txt, *.xls)|*.xlsx; *.csv; *txt; *.xls"; dialog.Multiselect = true; dialog.FilterIndex = 0; dialog.RestoreDirectory = true; if (dialog.ShowDialog() == DialogResult.OK) { string[] selectedFiles = dialog.FileNames; bool ifCorrectFilesSelected = this.analyzeExtensions(selectedFiles); if (ifCorrectFilesSelected) { DataReader dataReader = new DataReader(); Dictionary <string, List <Object> > fileExtDataMap = new Dictionary <string, List <object> >(); foreach (string fileLocation in selectedFiles) { Auxiliary.IsFileLocked(fileLocation); string extension = Auxiliary.getExtension(fileLocation); fileExtDataMap.Add(extension, dataReader.readData(fileLocation)); } compareData(selectedFiles, dataReader, fileExtDataMap); } } }
private string checkFileName(string fileName) { if (!File.Exists(fileName)) { return(fileName); } else { DateTime now = DateTime.Now; string extension = Auxiliary.getExtension(fileName); int lastPeriod = fileName.LastIndexOf('.'); fileName = fileName.Substring(0, lastPeriod) + now.ToString("MM,dd,yyyy,H,mm,ss") + "." + extension; return(checkFileName(fileName)); } }
public List <Object> readData(string fileName) { List <Object> list = new List <Object>(); string extension = Auxiliary.getExtension(fileName); if (extension.Equals("txt")) { list = this.readTxtCSVFile(fileName, '\t'); } else if (extension.Equals("csv")) { list = this.readTxtCSVFile(fileName, ','); } else if (extension.Equals("xls") || extension.Equals("xlsx")) { ExcelReader reader = new ExcelReader(); DataInformation.setIfSpreadSheet(true); list = reader.readExcelFile(fileName, this); } return(list); }
public bool analyzeExtensions(string[] fileNames) { //if less than 2 files selected if (fileNames.Length < 2 || fileNames.Length > 2) { MessageBox.Show("inusfficient number of files selected"); return(false); } //check if the different types were selected, if 2 similar types were selected HashSet <string> set = new HashSet <string>(); foreach (string fileName in fileNames) { string extension = Auxiliary.getExtension(fileName); if (!set.Add(extension)) { MessageBox.Show("same type of files were selected"); return(false); } } return(true); }