пытается разобраться с кодом системы, который был передан мне. Это было написано в asp.net C # MVC.
Один раздел этой системы находит файлы в папке на сервере и импортирует их в базу данных. Сведения о файлах хранятся в файле Excel, который также находится в той же папке на сервере.
В настоящее время в таблице Excel, если в столбце PDFName есть значение, система будет искать файл, соответствующий этому имени. Если соответствующего файла нет, система не будет импортировать данные.
Что мне нужно сделать, это изменить его так, чтобы при наличии файла он импортировал файл со своими данными, однако если файла нет, он импортирует данные, так что можно добавить только файл впоследствии. Ниже приведен фрагмент кода, в котором он ищет соответствующий файл.
if (!string.IsNullOrEmpty(fileRow.PDFName))
{
try
{
FileInfo matchingFile = files.First(df => (df.Extension.ToLower() == ".pdf" && df.Name.Replace(df.Extension, "").ToLower() == fileRow.PDFName));
FTPFileEntry f = new FTPFileEntry()
{
FileExtension = matchingFile.Extension,
FileName = matchingFile.Name,
Name = titleRow.PDFName,
Type = matchingFile.Extension.Trim('.')
};
fileRow.FileEntry.Add(f);
}
catch (InvalidOperationException)
{
}
}
Я просто немного не уверен в том, как выполнить построение в условии, если нет подходящего файла, сделать что-то еще. Я думал что-то вроде:
if (!string.IsNullOrEmpty(fileRow.PDFName))
{
FileInfo matchingFile = files.First(df => (df.Extension.ToLower() == ".pdf" && df.Name.Replace(df.Extension, "").ToLower() == fileRow.PDFName));
if (matchingFile != null)
{
FTPFileEntry f = new FTPFileEntry()
{
FileExtension = matchingFile.Extension,
FileName = matchingFile.Name,
Name = titleRow.PDFName,
Type = matchingFile.Extension.Trim('.')
};
fileRow.FileEntry.Add(f);
}
else
{
//Add data to database
}
}
Мне просто интересно, пойду ли я в правильном направлении с этим? Любые указатели будут оценены:)