Я хочу создать службу, которая перемещает документ и переименовывает его на основе таблицы, которая может использоваться запросом SQL.У меня есть тот же код, который использует нажатие кнопки и делает то, что нужно сделать.Однако, когда я запускаю службу, она видит документы, но затем переходит к захвату идентификатора для документа, но останавливается на запросе SQL и не продолжает.
Если я вынимаю вызовы SQL, он перемещает документы и переименовывает их в общее имя, которое я могу назначить.Я хочу автоматизировать это и использовать SQL-запрос.
public void OnTimer(object sender, System.Timers.ElapsedEventArgs args)
{
eventLog1.WriteEntry("Monitoring the System.", EventLogEntryType.Information, eventId++);
try
{
string dest = @"F:\Temp2\";
foreach (var file in Directory.EnumerateFiles(@"F:\Temp\"))
{
List<Document> ld = new List<Document>();
SQLImport si = new SQLImport();
string fileName = Path.GetFileName(file.ToString());
ld = si.getDocID();
int docID = ld[0].DocID;
int newDocName = docID + 1;
int accountNumber = 1;
string docStatus = "New Import";
string fileName2 = docRetrieval.doc(newDocName.ToString());
string newdocName = fileName2 + ".pdf";
string nameChange = file.Replace(fileName, newdocName);
si.setDocumentInformation(newDocName, accountNumber, dest, docStatus);
string destFile = Path.Combine(dest, Path.GetFileName(nameChange));
if (!File.Exists(destFile))
File.Move(file, destFile);
}
}
catch (Exception)
{
eventLog1.WriteEntry("The process failed: {0}");
}
}
SQLImport / Export:
public List<Document> getDocID()
{
using (IDbConnection connection = new SqlConnection(helper.CnnVal("WorkflowConfiguration")))
{
var output4 = connection.Query<Document>($"Select DocID From [Workflow Creation].[dbo].[CustomerDoc] ORDER BY DocID DESC").ToList();
return output4;
}
}
Что упускается из виду?