protected void Upload_Click(object sender, EventArgs e) { PageErrors errors = PageErrors.getErrors(null, Page.Master); errors.clear(); if (ImportFile.HasFile) { //DataTable dataTable = HROne.CSVProcess.CSVReader.parse(CNDImportFile.PostedFile.InputStream); string strTmpFolder = HROne.Common.Folder.GetOrCreateSessionTempFolder(Session.SessionID).FullName;; //Environment.GetFolderPath(Environment.SpecialFolder.InternetCache); string strTmpFile = System.IO.Path.Combine(strTmpFolder, AppUtils.ServerDateTime().ToString("~yyyyMMddHHmmss_") + ImportFile.FileName); ImportFile.SaveAs(strTmpFile); ImportTimeCardRecordProcess timeCardRecordImport = new ImportTimeCardRecordProcess(dbConn, Session.SessionID); timeCardRecordImport.DateSequence = this.Attendance_ImportFormatParameterControl1.DateSequence; timeCardRecordImport.DateSeparator = this.Attendance_ImportFormatParameterControl1.DateSeparator; timeCardRecordImport.YearFormat = this.Attendance_ImportFormatParameterControl1.YearFormat; timeCardRecordImport.TimeSeparator = this.Attendance_ImportFormatParameterControl1.TimeSeparator; timeCardRecordImport.DateColumnIndex = this.Attendance_ImportFormatParameterControl1.DateColumnIndex; timeCardRecordImport.TimeColumnIndex = this.Attendance_ImportFormatParameterControl1.TimeColumnIndex; timeCardRecordImport.DateColumnIndex2 = this.Attendance_ImportFormatParameterControl1.DateColumnIndex2; timeCardRecordImport.TimeColumnIndex2 = this.Attendance_ImportFormatParameterControl1.TimeColumnIndex2; timeCardRecordImport.LocationColumnIndex = this.Attendance_ImportFormatParameterControl1.LocationColumnIndex; timeCardRecordImport.TimeCardNumColumnIndex = this.Attendance_ImportFormatParameterControl1.TimeCardNumColumnIndex; timeCardRecordImport.ColumnDelimiter = this.Attendance_ImportFormatParameterControl1.ColumnDelimiter; timeCardRecordImport.UploadFileHasHeader = this.Attendance_ImportFormatParameterControl1.UploadFileHasHeader; //DataTable dataTable = HROne.Import.ExcelImport.parse(strTmpFile); //using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\csv\;Extended Properties='Text;'")) try { timeCardRecordImport.UploadToTempDatabase(strTmpFile, WebUtils.GetCurUser(Session).UserID, string.Empty); timeCardRecordImport.ImportToDatabase(); errors.addError(HROne.Translation.PageMessage.IMPORT_SUCCESSFUL); Attendance_ImportFormatParameterControl1.SaveSettings(); } catch (HRImportException ex) { if (timeCardRecordImport.errors.List.Count > 0) { foreach (string errorString in timeCardRecordImport.errors.List) { errors.addError(errorString); } } else { errors.addError(ex.Message); } } System.IO.File.Delete(strTmpFile); } else { errors.addError(HROne.Translation.PageErrorMessage.ERROR_INVALID_FILE); } }
static void Main(string[] args) { const string TIMECARD_IMPORT_FUNCTION_CODE = "ATT006"; //string sourceFile = string.Empty; string zipPassword = string.Empty; if (args.GetLength(0) > 2) { zipPassword = args[2]; } if (args.GetLength(0) > 1) { logFilePath = args[1]; if (!System.IO.Directory.Exists(logFilePath)) { logFilePath = string.Empty; WriteErrorLog("Log Path does not exists"); WriteErrorLog("Parameter: " + string.Join(" ", args)); return; } else { logFilePath = ((string)(new System.IO.DirectoryInfo(logFilePath).FullName + System.IO.Path.DirectorySeparatorChar.ToString())).Replace(System.IO.Path.DirectorySeparatorChar.ToString() + System.IO.Path.DirectorySeparatorChar.ToString(), System.IO.Path.DirectorySeparatorChar.ToString()); } } string[] fileNameList = null; if (args.GetLength(0) > 0) { string filePath = args[0]; string fileName = System.IO.Path.GetFileName(filePath); string folderName = System.IO.Path.GetDirectoryName(filePath); fileNameList = System.IO.Directory.GetFiles(folderName, fileName, System.IO.SearchOption.TopDirectoryOnly); } if (fileNameList == null) { WriteErrorLog("Import File not found"); WriteErrorLog("Parameter: " + string.Join(" ", args)); return; } HROneConfig HROneConfig = new HROneConfig(System.IO.Path.Combine(AppDomain.CurrentDomain.BaseDirectory, @"..\HROne.config")); DatabaseConnection dbConn = HROneConfig.GetDatabaseConnection(); if (dbConn != null) { ImportTimeCardRecordProcess timeCardRecordImport = new ImportTimeCardRecordProcess(dbConn, "IMPORT_" + AppUtils.ServerDateTime().ToString("yyyyMMddHHmmssSSS")); timeCardRecordImport.DateSequence = ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_DATE_SEQUENCE); timeCardRecordImport.DateSeparator = ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_DATE_SEPARATOR); timeCardRecordImport.YearFormat = ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_DATE_YEAR_FORMAT); timeCardRecordImport.TimeSeparator = ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_TIME_SEPARATOR); timeCardRecordImport.DateColumnIndex = int.Parse(ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_DATE_COLUMNINDEX)); timeCardRecordImport.TimeColumnIndex = int.Parse(ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_TIME_COLUMNINDEX)); timeCardRecordImport.DateColumnIndex2 = int.Parse(ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_DATE_COLUMNINDEX_2)); timeCardRecordImport.TimeColumnIndex2 = int.Parse(ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_TIME_COLUMNINDEX_2)); timeCardRecordImport.LocationColumnIndex = int.Parse(ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_LOCATION_COLUMNINDEX)); timeCardRecordImport.TimeCardNumColumnIndex = int.Parse(ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_TIMECARDNUM_COLUMNINDEX)); timeCardRecordImport.ColumnDelimiter = ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_COLUMN_DELIMITER); timeCardRecordImport.UploadFileHasHeader = ESystemParameter.getParameter(dbConn, PARAM_CODE_TIMECARD_FILE_HAS_HEADER).Equals("Y"); //DataTable dataTable = HROne.Import.ExcelImport.parse(strTmpFile); //using (OleDbConnection conn = new OleDbConnection(@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\csv\;Extended Properties='Text;'")) HROne.Common.AuditTrail.StartFunction(dbConn, new HROne.Lib.Entities.EUser(), TIMECARD_IMPORT_FUNCTION_CODE, false); try { foreach (string sourceFile in fileNameList) { DataTable timeCardRecordTable = timeCardRecordImport.UploadToTempDatabase(sourceFile, 0, zipPassword); timeCardRecordImport.ImportToDatabase(); timeCardRecordImport.ClearTempTable(); WriteProgramLog(sourceFile + " has been imported successfully"); //WriteProgramLog(timeCardRecordTable.Rows.Count + " time card record(s) imported"); //WriteProgramLog("0 time card record(s) imported"); } } catch (HRImportException ex) { if (timeCardRecordImport.errors.List.Count > 0) { foreach (string errorString in timeCardRecordImport.errors.List) { WriteErrorLog(errorString); } } else { WriteErrorLog(ex.Message); } } catch (Exception ex) { WriteErrorLog(ex.Message); //return; } HROne.Common.AuditTrail.EndFunction(dbConn); } else { WriteErrorLog("no connection"); } }