private void DbExport(KoreanPornoData myData, DbConnection myDbCon) { string sqlCommand = "INSERT INTO MOVIE_FILES (NAME, SIZE, FILE_DATE, LABEL, FILE_COUNT, EXTENSION, TAG) VALUES( @pName, @pSize, @pFileDate, @pLabel, @pFileCount, @pExtension, @pTag )"; SqlCommand command = new SqlCommand(sqlCommand, myDbCon.getSqlConnection()); List <SqlParameter> sqlparamList = new List <SqlParameter>(); SqlParameter sqlparam = new SqlParameter(); sqlparam = new SqlParameter("@pName", SqlDbType.VarChar); sqlparam.Value = myData.Name; sqlparamList.Add(sqlparam); sqlparam = new SqlParameter("@pSize", SqlDbType.Decimal); sqlparam.Value = myData.Size; sqlparamList.Add(sqlparam); sqlparam = new SqlParameter("@pFileDate", SqlDbType.DateTime); sqlparam.Value = myData.LastWriteTime; sqlparamList.Add(sqlparam); sqlparam = new SqlParameter("@pLabel", SqlDbType.VarChar); sqlparam.Value = myData.Label.ToUpper(); sqlparamList.Add(sqlparam); sqlparam = new SqlParameter("@pFileCount", SqlDbType.Int); sqlparam.Value = myData.FileCount; sqlparamList.Add(sqlparam); sqlparam = new SqlParameter("@pExtension", SqlDbType.VarChar); sqlparam.Value = myData.Extension.ToUpper(); sqlparamList.Add(sqlparam); sqlparam = new SqlParameter("@pTag", SqlDbType.VarChar); sqlparam.Value = myData.Tag.ToUpper(); sqlparamList.Add(sqlparam); myDbCon.SetParameter(sqlparamList.ToArray()); myDbCon.execSqlCommand(sqlCommand); return; }
public void DbExportContents(KoreanPornoData myData, StoreData myStoreData) { MySqlDbConnection dbcon = new MySqlDbConnection(); // データベースへ登録 string sqlCommand = "INSERT INTO av.contents (store_label, name, extension, tag, file_date, file_count, size, file_status, rating, comment) " + "VALUES( @pStoreLabel, @pName, @pExtension, @pTag, @pFileDate, @pFileCount, @pSize, @pFileStatus, @pRating, @pComment )"; MySqlCommand command = new MySqlCommand(sqlCommand, dbcon.getMySqlConnection()); List <MySqlParameter> listParams = new List <MySqlParameter>(); MySqlParameter param = new MySqlParameter("@pStoreLabel", MySqlDbType.VarChar); param.Value = myStoreData.Label; listParams.Add(param); param = new MySqlParameter("@pName", MySqlDbType.VarChar); param.Value = myData.Name; listParams.Add(param); param = new MySqlParameter("@pExtension", MySqlDbType.VarChar); param.Value = myData.Extension; listParams.Add(param); param = new MySqlParameter("@pTag", MySqlDbType.VarChar); param.Value = myData.Tag; listParams.Add(param); param = new MySqlParameter("@pFileDate", MySqlDbType.DateTime); if (myData.LastWriteTime.Year >= 2000) { param.Value = myData.LastWriteTime; } else { param.Value = Convert.DBNull; } listParams.Add(param); param = new MySqlParameter("@pFileCount", MySqlDbType.Int32); param.Value = myData.FileCount; listParams.Add(param); param = new MySqlParameter("@pSize", MySqlDbType.Decimal); param.Value = myData.Size; listParams.Add(param); param = new MySqlParameter("@pFileStatus", MySqlDbType.VarChar); param.Value = "exist"; listParams.Add(param); param = new MySqlParameter("@pRating", MySqlDbType.Int32); param.Value = myData.Rating; listParams.Add(param); param = new MySqlParameter("@pComment", MySqlDbType.VarChar); param.Value = myData.Comment; listParams.Add(param); dbcon.SetParameter(listParams.ToArray()); dbcon.execSqlCommand(sqlCommand); }
public void ExecuteArrangement(MovieImportData myTargetImportData, StoreData myStoreData, List <KoreanPornoFileInfo> myListFileInfo, string myComment) { List <KoreanPornoFileInfo> jpegFiles = new List <KoreanPornoFileInfo>(); List <KoreanPornoFileInfo> movieFiles = new List <KoreanPornoFileInfo>(); Regex regex = new Regex(FileGeneTargetFilesCollection.REGEX_IMAGE_EXTENTION, RegexOptions.IgnoreCase); foreach (KoreanPornoFileInfo data in myListFileInfo) { if (data.IsSelected && regex.IsMatch(data.FileInfo.Name)) { jpegFiles.Add(data); } else if (data.IsSelected) { movieFiles.Add(data); } } long totalSize = 0; string extensions = ""; foreach (KoreanPornoFileInfo data in movieFiles) { totalSize += data.FileInfo.Length; string ext = data.FileInfo.Extension.Substring(1); if (extensions.Length <= 0) { extensions = ext; } else { if (extensions.IndexOf(ext, StringComparison.OrdinalIgnoreCase) < 0) { extensions = extensions + "," + ext; } } } KoreanPornoData targetData = new KoreanPornoData(); targetData.Name = myTargetImportData.CopyText; targetData.Size = totalSize; targetData.FileCount = movieFiles.Count; targetData.Extension = extensions.ToUpper(); targetData.Label = ExportPath; targetData.LastWriteTime = myTargetImportData.JavPostDate; targetData.Tag = myTargetImportData.Tag; targetData.Rating = myTargetImportData.Rating; targetData.Comment = myComment; // ファイル移動先の生成(D:\Downloads\TEMP\KOREAN_PORNO7のフォルダを無ければ作成) string moveDestName = new DirectoryInfo(ExportPath).Name; string moveDestPath = Path.Combine(BasePath, moveDestName); if (!Directory.Exists(moveDestPath)) { DirectoryInfo dir = Directory.CreateDirectory(moveDestPath); moveDestPath = dir.FullName; } // JPEGファイルsの移動 int suffixNum = 1; foreach (var jpegFile in jpegFiles) { string filename = ""; if (jpegFiles.Count == 1) { filename = $"{myTargetImportData.CopyText}.jpg"; } else { filename = $"{myTargetImportData.CopyText}_{suffixNum}.jpg"; } if (File.Exists(Path.Combine(moveDestPath, filename))) { throw new Exception($"JPEG 既に同じファイル名が存在します {filename}"); } File.Move(jpegFile.FileInfo.FullName, Path.Combine(moveDestPath, filename)); suffixNum++; } // フォルダ作成しての動画の移動はJPEGの移動が終了してから if (IsCheckMoveFolder == true) { moveDestPath = Path.Combine(moveDestPath, targetData.Name); if (!Directory.Exists(moveDestPath)) { DirectoryInfo dir = Directory.CreateDirectory(moveDestPath); moveDestPath = dir.FullName; } } // 動画ファイルの移動、ファイル更新日 suffixNum = 1; foreach (KoreanPornoFileInfo file in movieFiles) { string filename = ""; if (IsCheckMoveFolder == true) { filename = file.DisplayFilename; } else { if (movieFiles.Count == 1) { filename = $"{myTargetImportData.CopyText}{file.FileInfo.Extension}"; } else { filename = $"{myTargetImportData.CopyText}_{suffixNum}{file.FileInfo.Extension}"; } } if (File.Exists(Path.Combine(moveDestPath, filename))) { throw new Exception($"動画 既に同じファイル名が存在します {filename}"); } string destFilename = System.IO.Path.Combine(moveDestPath, filename); // File.SetLastWriteTime(file.FileInfo.FullName, file.ChangeLastWriteTime); File.Move(file.FileInfo.FullName, destFilename); suffixNum++; } if (IsCheckMoveFolder == true) { foreach (KoreanPornoFileInfo file in myListFileInfo) { if (file.FileInfo.Extension == ".txt") { continue; } if (file.FileInfo.Extension == ".zip") { continue; } if (!File.Exists(file.FileInfo.FullName)) { continue; } string destFilename = System.IO.Path.Combine(moveDestPath, file.DisplayFilename); File.Move(file.FileInfo.FullName, destFilename); } } DbExportContents(targetData, myStoreData); DbExport(targetData, new DbConnection()); string rarFile = myTargetImportData.ProductNumber + ".rar"; string archiveFilePath = System.IO.Path.Combine(BasePath, rarFile); string frozenFolderPath = System.IO.Path.Combine(BasePath, myTargetImportData.ProductNumber); // 圧縮ファイル(Rar)の削除(ゴミ箱) if (File.Exists(archiveFilePath)) { FileSystem.DeleteFile( archiveFilePath, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); } // 解凍フォルダの削除(ゴミ箱) if (!string.IsNullOrEmpty(frozenFolderPath)) { if (Directory.Exists(frozenFolderPath)) { FileSystem.DeleteDirectory(frozenFolderPath, UIOption.OnlyErrorDialogs, RecycleOption.SendToRecycleBin); } } MovieImportService importService = new MovieImportService(); importService.DbDelete(myTargetImportData, new MySqlDbConnection()); }