private void SetUpExporter() { if (!CoreDataLib.IsLive()) { _tempServerPath = @"\\SVRsql4\E$\CoreData\ExportFiles\Test\Temp\"; } else { _tempServerPath = @"E:\CoreData\ExportFiles\Temp\"; } PathAndFileName = _tempServerPath + ExportItem.ExportItemName + Extension; }
public PropertySupplierMapping(string fileToProcess) { if (CoreDataLib.IsLive()) { PathToExport = "E:\\CoreData\\ExportFiles\\"; } else { PathToExport = @"\\SVRsql4\E$\CoreData\ExportFiles\"; } fileName = fileToProcess; DoProcessing(); }
private void SetupExport() { if (!CoreDataLib.IsLive()) { _serverPath = @"\\SVRsql4\E$\CoreData\ExportFiles\Test\"; _exportServerTemp = @"E:\CoreData\ExportFiles\Test\Temp\"; _tempServerPath = _serverPath + @"Temp\"; } else { _serverPath = "E:\\CoreData\\ExportFiles\\"; _exportServerTemp = @"E:\CoreData\ExportFiles\Temp\"; _tempServerPath = _serverPath + @"Temp\"; } _pathAndFileName = _tempServerPath + ExportItem.ExportItemName + ".csv"; }
public override bool Export(ReportLogger reportLogger) { _reportLogger = reportLogger; SetupExport(); int stepId = reportLogger.AddStep(); try { FileInfo fileInfo = new FileInfo(PathAndFileName); FileInfo serverPathAndFile = new FileInfo(_serverPath + fileInfo.Name); FileInfo serverPath = new FileInfo(_serverPath); FileInfo tempDirectory = new FileInfo(_serverPath + @"Temp\"); string filename = fileInfo.Name.Split('.')[0]; XmlExport(fileInfo); if (File.Exists(serverPathAndFile.FullName)) { File.Delete(serverPathAndFile.FullName); } File.Move(tempDirectory + filename + _extension, serverPathAndFile.FullName); if (CoreDataLib.IsLive()) { if (ExportItem.ExportItemFtpId > 0) { FileFtp.FtpFile(serverPathAndFile, reportLogger, ExportItem); } } reportLogger.EndStep(stepId); } catch (Exception exception) { _reportLogger.EndStep(stepId, exception); return(false); } return(true); }
private void BcpExport() { int stepId = _csvExporteLogger.AddStep(); FileInfo fileInfo = new FileInfo(_pathAndFileName); FileInfo serverPathAndFile = new FileInfo(_serverPath + fileInfo.Name); FileInfo serverPath = new FileInfo(_serverPath); FileInfo tempDirectory = new FileInfo(_serverPath + @"Temp\"); string filename = fileInfo.Name.Split('.')[0]; _serverPathAndFile = serverPathAndFile.FullName; StringBuilder headers = new StringBuilder(); foreach (string header in _selectStatementBuilder.GetOutputHeaders) { headers.Append(header + "|"); } headers.Remove(headers.Length - 1, 1); using (SqlConnection conn = new SqlConnection(DataConnection.SqlConnCoreData)) { SqlCommand sqlCommand = new SqlCommand(); sqlCommand.CommandType = CommandType.Text; sqlCommand.CommandTimeout = 720000; sqlCommand.Connection = conn; StringBuilder sqlBuilder = new StringBuilder(); sqlBuilder.Append(@"DECLARE @bcpCmd as VARCHAR(8000);"); sqlBuilder.Append(@"SET @bcpCmd= 'bcp ""SET NOCOUNT ON;"); sqlBuilder.Append(_selectClause); sqlBuilder.Append(@";SET NOCOUNT OFF;"""); sqlBuilder.Append(" queryout "); sqlBuilder.Append(_exportServerTemp + fileInfo.Name); sqlBuilder.Append(" -t \"" + _del + "\" -r(!!!!!!!!!!)"); if (CoreDataLib.IsLive()) { sqlBuilder.Append( " -c -C ACP -S SVRsql4 -d CoreData -U CoreData -P CoreD@T@'; EXEC master..xp_cmdshell @bcpCmd;"); } else { sqlBuilder.Append( " -c -C ACP -S SVRsql4 -d CoreData_Test -U CoreData -P CoreD@T@'; EXEC master..xp_cmdshell @bcpCmd;"); } sqlBuilder.Replace("@LangId", _selectStatementBuilder.LanguageId); string sql = sqlBuilder.ToString(); sqlCommand.CommandText = sql; conn.Open(); sqlCommand.ExecuteNonQuery(); if (File.Exists(tempDirectory + fileInfo.Name)) { CreateCsvFile(tempDirectory, filename, fileInfo, headers, serverPathAndFile, serverPath, _selectStatementBuilder.LanguageId); } else { _csvExporteLogger.EndStep(stepId, new Exception("File not found")); } _csvExporteLogger.EndStep(stepId); } }
private void CreateCsvFile(FileInfo tempDirectory, string filename, FileInfo fileInfo, StringBuilder headers, FileInfo serverPathAndFile, FileInfo serverPath, string languageEncoding) { int stepId = _csvExporteLogger.AddStep(); try { string line; if (File.Exists(tempDirectory + filename + TEMPFILE_APPENDING)) { File.Delete(tempDirectory + filename + TEMPFILE_APPENDING); } StreamWriter writer = null; StreamReader reader = null; FileStream fs = new FileStream(tempDirectory + fileInfo.Name, FileMode.Open); FileStream outStream = new FileStream(tempDirectory + filename + TEMPFILE_APPENDING, FileMode.Append); reader = new StreamReader(fs, Encoding.Default); string encoding = Get.GetLanguageEncoding(languageEncoding); if (String.IsNullOrEmpty(encoding)) { writer = new StreamWriter(outStream, Encoding.GetEncoding("windows-1252")); } else { writer = new StreamWriter(outStream, Encoding.GetEncoding(encoding)); } if (headers.Length > 0) { writer.WriteLine(headers); } string[] stringSeperators = { "(!!!!!!!!!!)" }; string[] fieldSeperators = { "!|!" }; string lastEntry = ""; while ((line = reader.ReadLine()) != null) { string[] lines = line.Split(stringSeperators, StringSplitOptions.RemoveEmptyEntries); if (lines.Length > 0) { for (int i = 0; i <= lines.Length - 1; i++) { if (lines[i].Split(fieldSeperators, StringSplitOptions.None).Length - 1 == headers.ToString().Split('|').Length - 1) { string row = lines[i].Replace("!|!", "|"); writer.WriteLine(row); } else { lastEntry = lastEntry + lines[i]; if (lastEntry.Split(fieldSeperators, StringSplitOptions.None).Length - 1 == headers.ToString().Split('|').Length - 1) { lastEntry = lastEntry.Replace("!|!", "|"); writer.WriteLine(lastEntry); lastEntry = ""; } } } } } writer.Flush(); reader.Close(); writer.Close(); File.Delete(tempDirectory + fileInfo.Name); if (File.Exists(serverPathAndFile.FullName)) { File.Delete(serverPathAndFile.FullName); } File.Move(tempDirectory + filename + TEMPFILE_APPENDING, serverPathAndFile.FullName); File.Delete(tempDirectory + filename + TEMPFILE_APPENDING); if (CoreDataLib.IsLive()) { if (ExportItem.ExportItemFtpId > 0) { FileFtp.FtpFile(serverPathAndFile, _csvExporteLogger, ExportItem); } //FtpExportedFile(pathAndFileToFtp); } _csvExporteLogger.EndStep(stepId); } catch (Exception exception) { _csvExporteLogger.EndStep(stepId, exception); } }
public static void Run() { if (!CoreDataLib.IsLive()) { List <ExportItem> runList = Get.GetAllRunItems(); foreach (ExportItem exportItem in runList) { ReportLogger reportLogger = new ReportLogger(exportItem.ExportItemName); try { //exportItem.Export(reportLogger); if (exportItem.ExportItemName == "LCH_FullStock_HotelOnly_HC_ENG") { exportItem.Export(reportLogger); //LchFullStockImagesEngTsmExportItem expItem = new LchFullStockImagesEngTsmExportItem(exportItem); //expItem.Export(reportLogger); } //exportItem.Export(reportLogger); //if (exportItem.ExportItemName.Contains("LCH_FullStock_HotelOnly_ENG_100R")) //{ // exportItem.Export(reportLogger); //} reportLogger.EndLog(); } catch (Exception e) { reportLogger.EndLog(e); } } //Parallel.ForEach(runList, currentExportItem => //{ // ReportLogger reportLogger = new ReportLogger(currentExportItem.ExportItemName); // try // { // reportLogger.StartLog(currentExportItem.ExportItemName); // currentExportItem.Export(reportLogger); // reportLogger.EndLog(); // } // catch (Exception e) // { // reportLogger.EndLog(e); // Emailer.SendEmail("*****@*****.**", "CoreDataReportService", "MainProcess->Run", e); // } //}); } else { List <ExportItem> runList = Get.GetRunItems(DateTime.Now.Hour); Parallel.ForEach(runList, currentExportItem => { ReportLogger reportLogger = new ReportLogger(currentExportItem.ExportItemName); try { reportLogger.StartLog(currentExportItem.ExportItemName); currentExportItem.Export(reportLogger); reportLogger.EndLog(); } catch (Exception e) { reportLogger.EndLog(e); Emailer.SendEmail("*****@*****.**", "CoreDataReportService", "MainProcess->Run", e); } }); } }