2011-01-11 3 views
0

私に渡されたシステムのコードを把握しようとしています。 asp.net C#MVCで書かれています。MVC C#条件に一致する場合、名前に対応するサーバー上のファイルを検索します。

このシステムの1つのセクションは、サーバー上のフォルダ内のファイルを検索し、それらをデータベースにインポートします。ファイルの詳細は、サーバー上の同じフォルダにある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 
      } 
     } 

:私のようなものを考えていましたか?すべてのポインタは高く評価されます:)

答えて

2

私にはうまく見えます。 コードの最初のスニペットを使用してcatchセクションのデータをデータベースに追加することもできますが、例外をキャッチするとパフォーマンスは低下します(それにもかかわらず...)

関連する問題