//Methods public void AddNewRow(ClassDataFile dataFile, ref ClassImportInfoDataTable infoTable) { DataRow newRow = infoTable.infoTable.NewRow(); newRow["File_Name"] = dataFile.FileName; newRow["Self_Check_Result"] = ""; newRow["AuditFile_Check_Result"] = "Not Checked Yet"; infoTable.infoTable.Rows.Add(newRow); infoTable.infoTable.AcceptChanges(); }
public static List<ClassDataFile> CompileFileList(string pickUpLocation, ref ClassImportInfoDataTable infoTable, bool useAuditFile) { List<ClassDataFile> fileList = new List<ClassDataFile>(); String[] filePaths = Directory.GetFiles(pickUpLocation); ClassDataFile[] datFiles = new ClassDataFile[filePaths.Count()]; int count = 0; if (useAuditFile) { string auditFileLocation = Properties.Settings.Default.AuditFileLocation; ClassAuditFile auditFile = new ClassAuditFile(auditFileLocation); DataTables.ClassAuditEntriesDataTable auditEntriesTable = new DataTables.ClassAuditEntriesDataTable(); auditEntriesTable = DataTables.ClassAuditEntriesDataTable.FillEntriesTable(auditFile); if (auditEntriesTable.entriesTable.Rows.Count >= 1) { foreach (String fileLoc in filePaths) { datFiles[count] = new ClassDataFile(filePaths[count]); infoTable.AddNewRow(datFiles[count], ref infoTable); string message = string.Empty; message = ClassAuditing.SelfCheck(datFiles[count]); infoTable.UpdateRow(datFiles[count], "Self_Check_Result", message, ref infoTable); message = ClassAuditing.AuditFileCheck(datFiles[count], auditEntriesTable); infoTable.UpdateRow(datFiles[count], "AuditFile_Check_Result", message, ref infoTable); //• ONLY ADD FILE TO LIST IF AUDIT PASSED if ((datFiles[count].PassedSelfCheck == true) && (datFiles[count].PassedAuditFileCheck == true)) fileList.Add(datFiles[count]); count++; } } } else { foreach (String fileLoc in filePaths) { datFiles[count] = new ClassDataFile(filePaths[count]); infoTable.AddNewRow(datFiles[count], ref infoTable); string message = string.Empty; message = ClassAuditing.SelfCheck(datFiles[count]); infoTable.UpdateRow(datFiles[count], "Self_Check_Result", message, ref infoTable); //• ONLY ADD FILE TO LIST IF AUDIT PASSED if (datFiles[count].PassedSelfCheck == true) fileList.Add(datFiles[count]); count++; } } return fileList; }
//This class sould contain the static methods for the two types of Auditing, als use static properties for the messages. public static DataTable CheckForInCompleteAudits(string connectionString, ClassAuditEntriesDataTable entriesTable, ref ClassImportInfoDataTable infoTable) { DataTable _resultTable = new DataTable(); _resultTable = ClassSQLAccess.SelectInCompletesAudits(connectionString, entriesTable); if (_resultTable.Rows.Count >= 1) UpdateInCompleteAudits(_resultTable, entriesTable, ref infoTable, connectionString); return _resultTable; }
public static void SaveTableToCSV(ClassImportInfoDataTable infoTable, string csvFilePath, string fileName) { int columns = infoTable.infoTable.Columns.Count; int rows = infoTable.infoTable.Rows.Count; try { StreamWriter sw = new StreamWriter(csvFilePath + "\\" + fileName, false); for (int i = 0; i < columns; i++) { sw.Write(infoTable.infoTable.Columns[i]); if (i < columns - 1) { sw.Write(","); } } sw.Write(sw.NewLine); foreach (DataRow dr in infoTable.infoTable.Rows) { for (int i = 0; i < columns; i++) { if (!Convert.IsDBNull(dr[i])) { sw.Write(dr[i].ToString()); } if (i < columns - 1) { sw.Write(","); } } sw.Write(sw.NewLine); } sw.Close(); } catch (Exception ex) { throw ex; } }
public static void UpdateInCompleteAudits(DataTable table, ClassAuditEntriesDataTable entriesTable, ref ClassImportInfoDataTable infoTable, string connectionString) { string message; foreach (DataRow dataRow in table.Rows) { ClassDataFile datFile = new ClassDataFile(dataRow); infoTable.AddNewRow(datFile, ref infoTable); message = ClassGatherInfo.VerifyFileIntact(datFile, entriesTable); message = AuditFileCheck(datFile, entriesTable); infoTable.UpdateRow(datFile, "AuditFile_Check_Result", message, ref infoTable); //• ONLY UPDATE THE ENTRY IF AUDIT PASSED if (datFile.PassedAuditFileCheck) ClassSQLAccess.UpdateIncompleteAudit(datFile, connectionString); } }
public string SaveTableToExcel(ClassImportInfoDataTable infoTable, string ExcelFilePath, string fileName) { Excel.Application exApp; exApp = new Excel.Application(); Excel.Workbook exWorkBook; exWorkBook = exApp.Workbooks.Add(Type.Missing); Excel.Worksheet exWorkSheet; exWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)exWorkBook.ActiveSheet; exWorkSheet.Name = fileName; int columns = infoTable.infoTable.Columns.Count; int rows = infoTable.infoTable.Rows.Count; // column headings for (int i = 0; i < columns; i++) { exWorkSheet.Cells[1, (i + 1)] = infoTable.infoTable.Columns[i].ColumnName; } // rows for (int i = 0; i < rows; i++) { // to do: format datetime values before printing for (int j = 0; j < columns; j++) { exWorkSheet.Cells[(i + 2), (j + 1)] = infoTable.infoTable.Rows[i][j]; } } if (ExcelFilePath != null && ExcelFilePath != "") { try { exWorkSheet.SaveAs(ExcelFilePath + fileName); exApp.Quit(); } catch (Exception ex) { throw new Exception("ExportToExcel: Excel file could not be saved! Check filepath.\n" + ex.Message); } } else // no filepath is given { exApp.Visible = true; } return "Saved"; }
public void UpdateRow(ClassDataFile dataFile, string resultType, string resultMessage, ref ClassImportInfoDataTable infoTable) { DataRow row = infoTable.infoTable.Select("File_Name = '" + dataFile.FileName + "'").FirstOrDefault(); row[resultType] = resultMessage.ToString(); infoTable.infoTable.AcceptChanges(); }