/// <summary> /// 既存のロジック(MovieMakersのメソッド)を少し修正 /// </summary> /// <param name="myImportData"></param> /// <param name="myListMakers"></param> /// <returns></returns> public List <MovieMaker> GetMatchData(MovieImportData myImportData) { List <MovieMaker> matchMakerList = new List <MovieMaker>(); // 品番っぽい文字列が存在する場合 //if (myFileContents.Kind == MovieFileContents.KIND_AVRIP) if (myImportData.ProductNumber != null && myImportData.ProductNumber.Length > 0) { string[] label = myImportData.ProductNumber.Split('-'); var matchdata = from makerdata in listMaker where makerdata.MatchStr.ToUpper() == label[0].ToUpper() && // + '-' makerdata.MatchProductNumber.Length <= 0 select makerdata; if (matchdata.Count() > 0) { foreach (MovieMaker m in matchdata) { matchMakerList.Add(m); } } } if (matchMakerList.Count <= 0) { matchMakerList = MatchData(myImportData.CopyText); } return(matchMakerList); }
public void DataSet() { ColViewListData.Filter = delegate(object o) { MovieImportData data = o as MovieImportData; if (data.Kind == 5) { return(true); } return(false); }; }
public void Filter(string mySearchText) { if (mySearchText.Length <= 0) { collection.Filter = null; return; } collection.Filter = delegate(object o) { MovieImportData data = o as MovieImportData; if (data.ProductNumber.IndexOf(mySearchText) >= 0) { return(true); } return(false); }; }
public void DbUpdateIsTarget(MovieImportData myData, MySqlDbConnection myDbCon) { MySqlDbConnection dbcon; string sqlcmd = ""; // 引数にコネクションが指定されていた場合は指定されたコネクションを使用 if (myDbCon != null) { dbcon = myDbCon; } else { dbcon = new MySqlDbConnection(); } sqlcmd = "UPDATE import "; sqlcmd += "SET is_target = @IsTarget "; sqlcmd += "WHERE ID = @Id "; MySqlCommand command = new MySqlCommand(sqlcmd, dbcon.getMySqlConnection()); DataTable dtSaraly = new DataTable(); List <MySqlParameter> listSqlParams = new List <MySqlParameter>(); MySqlParameter sqlparam = new MySqlParameter("@IsTarget", MySqlDbType.Bit); sqlparam.Value = myData.IsTarget; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Id", MySqlDbType.Int32); sqlparam.Value = myData.Id; listSqlParams.Add(sqlparam); dbcon.SetParameter(listSqlParams.ToArray()); dbcon.execSqlCommand(sqlcmd); return; }
public void DbDelete(MovieImportData myData, MySqlDbConnection myDbCon) { MySqlDbConnection dbcon; string sqlcmd = ""; // 引数にコネクションが指定されていた場合は指定されたコネクションを使用 if (myDbCon != null) { dbcon = myDbCon; } else { dbcon = new MySqlDbConnection(); } dbcon.openConnection(); sqlcmd = "DELETE FROM import WHERE ID = @Id "; MySqlCommand command = new MySqlCommand(sqlcmd, dbcon.getMySqlConnection()); DataTable dtSaraly = new DataTable(); List <MySqlParameter> listSqlParams = new List <MySqlParameter>(); MySqlParameter sqlparam = new MySqlParameter("@Id", MySqlDbType.Int32); sqlparam.Value = myData.Id; listSqlParams.Add(sqlparam); dbcon.SetParameter(listSqlParams.ToArray()); command.Parameters.Add(sqlparam); command.ExecuteNonQuery(); return; }
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()); }
public void SetDbMovieFilesInfo(MovieImportData myImportData, StoreData myStoreData) { if (myStoreData == null) { throw new Exception("使われる想定のないメソッドが使用された、StoreDataを設定して下さい"); } targetImportData = myImportData; targetFileContentsData = new MovieFileContents(); targetFileContentsData.Name = DestFilename; targetFileContentsData.Label = LabelPath; targetFileContentsData.StoreLabel = myStoreData.Label; if (listExtension == null) { return; } foreach (string ext in listExtension) { if (ext.ToUpper().Equals(".JPG") || ext.ToUpper().Equals(".JPEG") || ext.ToUpper().Equals(".PNG") || ext.ToUpper().Equals(".ISO")) { continue; } // 動画ファイルが複数合った場合に後ろに付加する「_1」などのために名前順に並べ替える var dataMatch = from seldata in listSelectedFiles where seldata.FileInfo.Extension == ext orderby seldata.Name ascending select seldata; targetFileContentsData.Extension = ext.Replace(".", "").ToUpper(); targetFileContentsData.FileCount = dataMatch.Count(); if (dataMatch.Count() == 1) { foreach (TargetFiles sel in dataMatch) { targetFileContentsData.Size = sel.FileInfo.Length; targetFileContentsData.FileDate = sel.FileInfo.LastWriteTime; } } else { long size = 0; foreach (TargetFiles sel in dataMatch) { size += sel.FileInfo.Length; targetFileContentsData.FileDate = sel.FileInfo.LastWriteTime; } targetFileContentsData.Size = size; } } // 品番、販売日を設定 //DatabaseMovieFile.Parse(); targetFileContentsData.SellDate = targetImportData.ProductDate; targetFileContentsData.ProductNumber = targetImportData.ProductNumber; targetFileContentsData.Tag = targetImportData.Tag; targetFileContentsData.Rating = targetImportData.Rating; }
public List <MovieImportData> GetList(MySqlDbConnection myDbCon) { List <MovieImportData> listData = new List <MovieImportData>(); MySqlDbConnection dbcon; string sqlcmd = ""; // 引数にコネクションが指定されていた場合は指定されたコネクションを使用 if (myDbCon != null) { dbcon = myDbCon; } else { dbcon = new MySqlDbConnection(); } sqlcmd = "SELECT ID, copy_text, KIND, MATCH_PRODUCT, PRODUCT_NUMBER, sell_date, MAKER, TITLE, ACTRESSES, RAR_FLAG, SPLIT_FLAG, NAME_ONLY_FLAG, TAG, FILENAME, CREATED_AT, UPDATED_AT, HD_KIND, movie_file_id, RATING, JAV_POST_DATE, SIZE, PACKAGE, THUMBNAIL, DOWNLOAD_FILES, SEARCH_RESULT, DETAIL, jav_id, is_target, jav_url "; sqlcmd = sqlcmd + "FROM import "; sqlcmd = sqlcmd + "ORDER BY JAV_POST_DATE "; MySqlDataReader reader = null; try { reader = dbcon.GetExecuteReader(sqlcmd); do { if (reader.IsClosed) { //_logger.Debug("reader.IsClosed"); throw new Exception("MOVIE_SITESTOREの取得でreaderがクローズされています"); } while (reader.Read()) { MovieImportData data = new MovieImportData(); data.Id = MysqlExportCommon.GetDbInt(reader, 0); data.CopyText = MysqlExportCommon.GetDbString(reader, 1); data.Kind = MysqlExportCommon.GetDbInt(reader, 2); data.MatchProduct = MysqlExportCommon.GetDbString(reader, 3); data.ProductNumber = MysqlExportCommon.GetDbString(reader, 4); data.ProductDate = MysqlExportCommon.GetDbDateTime(reader, 5); data.StrMaker = MysqlExportCommon.GetDbString(reader, 6); data.Title = MysqlExportCommon.GetDbString(reader, 7); data.Actresses = MysqlExportCommon.GetDbString(reader, 8); data.RarFlag = Convert.ToBoolean(MysqlExportCommon.GetDbInt(reader, 9)); data.SplitFlag = Convert.ToBoolean(MysqlExportCommon.GetDbInt(reader, 10)); data.NameOnlyFlag = Convert.ToBoolean(MysqlExportCommon.GetDbInt(reader, 11)); data.Tag = MysqlExportCommon.GetDbString(reader, 12); data.Filename = MysqlExportCommon.GetDbString(reader, 13); data.CreateDate = MysqlExportCommon.GetDbDateTime(reader, 14); data.UpdateDate = MysqlExportCommon.GetDbDateTime(reader, 15); data.SetHdKind(MysqlExportCommon.GetDbInt(reader, 16)); data.FileId = MysqlExportCommon.GetDbInt(reader, 17); data.Rating = MysqlExportCommon.GetDbInt(reader, 18); data.JavPostDate = MysqlExportCommon.GetDbDateTime(reader, 19); data.Size = MysqlExportCommon.GetDbLong(reader, 20); data.Package = MysqlExportCommon.GetDbString(reader, 21); data.Thumbnail = MysqlExportCommon.GetDbString(reader, 22); data.DownloadFiles = MysqlExportCommon.GetDbString(reader, 23); data.SearchResult = MysqlExportCommon.GetDbString(reader, 24); data.Detail = MysqlExportCommon.GetDbString(reader, 25); data.JavId = MysqlExportCommon.GetDbLong(reader, 26); data.IsTarget = MysqlExportCommon.GetDbBool(reader, 27); data.JavUrl = MysqlExportCommon.GetDbString(reader, 28); listData.Add(data); } } while (reader.NextResult()); } finally { reader.Close(); } myDbCon.closeConnection(); return(listData); }
public MovieImportData GetNewest(MySqlDbConnection myDbCon) { MovieImportData newestData = new MovieImportData(); MySqlDbConnection dbcon; string sqlcmd = ""; // 引数にコネクションが指定されていた場合は指定されたコネクションを使用 if (myDbCon != null) { dbcon = myDbCon; } else { dbcon = new MySqlDbConnection(); } sqlcmd = "SELECT ID, COPY_TEXT, KIND, MATCH_PRODUCT, PRODUCT_NUMBER, SELL_DATE, MAKER, TITLE, ACTRESSES, RAR_FLAG, SPLIT_FLAG, NAME_ONLY_FLAG, TAG, FILENAME, RATING, JAV_POST_DATE, PACKAGE, THUMBNAIL, DOWNLOAD_FILES, jav_id, is_target, CREATED_AT, UPDATED_AT "; sqlcmd = sqlcmd + "FROM import "; sqlcmd = sqlcmd + "ORDER BY CREATED_AT DESC"; MySqlDataReader reader = null; try { reader = myDbCon.GetExecuteReader(sqlcmd); if (reader.IsClosed) { //_logger.Debug("reader.IsClosed"); throw new Exception("MOVIE_SITESTOREの取得でreaderがクローズされています"); } if (reader.Read()) { newestData.Id = MysqlExportCommon.GetDbInt(reader, 0); newestData.CopyText = MysqlExportCommon.GetDbString(reader, 1); newestData.Kind = MysqlExportCommon.GetDbInt(reader, 2); newestData.MatchProduct = MysqlExportCommon.GetDbString(reader, 3); newestData.ProductNumber = MysqlExportCommon.GetDbString(reader, 4); newestData.ProductDate = MysqlExportCommon.GetDbDateTime(reader, 5); newestData.StrMaker = MysqlExportCommon.GetDbString(reader, 6); newestData.Title = MysqlExportCommon.GetDbString(reader, 7); newestData.Actresses = MysqlExportCommon.GetDbString(reader, 8); newestData.RarFlag = Convert.ToBoolean(MysqlExportCommon.GetDbInt(reader, 9)); newestData.SplitFlag = Convert.ToBoolean(MysqlExportCommon.GetDbInt(reader, 10)); newestData.NameOnlyFlag = Convert.ToBoolean(MysqlExportCommon.GetDbInt(reader, 11)); newestData.Tag = MysqlExportCommon.GetDbString(reader, 12); newestData.Filename = MysqlExportCommon.GetDbString(reader, 13); newestData.Rating = MysqlExportCommon.GetDbInt(reader, 14); newestData.JavPostDate = MysqlExportCommon.GetDbDateTime(reader, 15); newestData.Package = MysqlExportCommon.GetDbString(reader, 16); newestData.Thumbnail = MysqlExportCommon.GetDbString(reader, 17); newestData.DownloadFiles = MysqlExportCommon.GetDbString(reader, 18); newestData.JavId = MysqlExportCommon.GetDbLong(reader, 19); newestData.IsTarget = MysqlExportCommon.GetDbBool(reader, 20); newestData.CreateDate = MysqlExportCommon.GetDbDateTime(reader, 21); newestData.UpdateDate = MysqlExportCommon.GetDbDateTime(reader, 22); } } finally { reader.Close(); } reader.Close(); myDbCon.closeConnection(); return(newestData); }
public void DbUpdate(MovieImportData myData, MySqlDbConnection myDbCon) { MySqlDbConnection dbcon; string sqlcmd = ""; // 引数にコネクションが指定されていた場合は指定されたコネクションを使用 if (myDbCon != null) { dbcon = myDbCon; } else { dbcon = new MySqlDbConnection(); } sqlcmd = "UPDATE import "; sqlcmd += "SET COPY_TEXT = @CopyText"; sqlcmd += ", KIND = @Kind"; sqlcmd += ", MATCH_PRODUCT = @MatchProduct"; sqlcmd += ", PRODUCT_NUMBER = @ProductNumber"; sqlcmd += ", SELL_DATE = @ProductDate"; sqlcmd += ", MAKER = @Maker "; sqlcmd += ", TITLE = @Title "; sqlcmd += ", ACTRESSES = @Actresses "; sqlcmd += ", RAR_FLAG = @RarFlag "; sqlcmd += ", SPLIT_FLAG = @SplitFlag "; sqlcmd += ", NAME_ONLY_FLAG = @NameOnlyFlag "; sqlcmd += ", TAG = @Tag "; sqlcmd += ", FILENAME = @Filename "; sqlcmd += ", HD_KIND = @HdKind "; sqlcmd += ", movie_file_id = @MovieFilesId "; sqlcmd += ", rating = @Rating "; sqlcmd += ", package = @Package "; sqlcmd += ", thumbnail = @Thumbnail "; sqlcmd += ", download_files = @DownloadFiles "; sqlcmd += "WHERE ID = @Id "; MySqlCommand command = new MySqlCommand(sqlcmd, dbcon.getMySqlConnection()); DataTable dtSaraly = new DataTable(); List <MySqlParameter> listSqlParams = new List <MySqlParameter>(); MySqlParameter sqlparam = new MySqlParameter("@CopyText", MySqlDbType.Text); sqlparam.Value = myData.CopyText; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Kind", MySqlDbType.Int32); sqlparam.Value = myData.Kind; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@MatchProduct", MySqlDbType.VarChar); sqlparam.Value = myData.MatchProduct; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@ProductNumber", MySqlDbType.VarChar); sqlparam.Value = myData.ProductNumber; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@ProductDate", MySqlDbType.DateTime); sqlparam.Value = myData.ProductDate; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Maker", MySqlDbType.Text); sqlparam.Value = myData.StrMaker; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Title", MySqlDbType.Text); sqlparam.Value = myData.Title; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Actresses", MySqlDbType.Text); sqlparam.Value = myData.Actresses; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@RarFlag", MySqlDbType.Int16); sqlparam.Value = myData.RarFlag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@SplitFlag", MySqlDbType.Int16); sqlparam.Value = myData.SplitFlag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@NameOnlyFlag", MySqlDbType.Int16); sqlparam.Value = myData.NameOnlyFlag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Tag", MySqlDbType.VarChar); sqlparam.Value = myData.Tag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Filename", MySqlDbType.Text); sqlparam.Value = myData.Filename; listSqlParams.Add(sqlparam); int HdKind = (myData.HdKind != null) ? myData.HdKind.Kind : ((myData.HdFlag == true) ? 1 : 0); sqlparam = new MySqlParameter("@HdKind", MySqlDbType.Int16); sqlparam.Value = HdKind; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@MovieFilesId", MySqlDbType.Int32); sqlparam.Value = myData.FileId; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Rating", MySqlDbType.Int32); sqlparam.Value = myData.Rating; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Package", MySqlDbType.VarChar); sqlparam.Value = myData.Package; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Thumbnail", MySqlDbType.VarChar); sqlparam.Value = myData.Thumbnail; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@DownloadFiles", MySqlDbType.VarChar); sqlparam.Value = myData.DownloadFiles; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Id", MySqlDbType.Int32); sqlparam.Value = myData.Id; listSqlParams.Add(sqlparam); dbcon.SetParameter(listSqlParams.ToArray()); dbcon.execSqlCommand(sqlcmd); return; }
public MovieImportData DbExport(MovieImportData myData, MySqlDbConnection myDbCon) { MySqlDbConnection dbcon; string sqlcmd = ""; // 引数にコネクションが指定されていた場合は指定されたコネクションを使用 if (myDbCon != null) { dbcon = myDbCon; } else { dbcon = new MySqlDbConnection(); } dbcon.openConnection(); sqlcmd = "INSERT INTO import(copy_text" + ", kind, match_product, product_number, sell_date" + ", maker, title, actresses, rar_flag" + ", tag, filename, hd_kind, movie_file_id" + ", split_flag, name_only_flag, jav_post_date, package" + ", thumbnail, download_files, search_result, detail" + ", jav_url, rating, size, jav_id, is_target" + ", created_at, updated_at)" + " VALUES( @CopyText" + ", @Kind, @MatchProduct, @ProductNumber, @ProductDate " + ", @Maker, @Title, @Actresses, @RarFlag " + ", @Tag, @Filename, @HdKind, @MovieFilesId " + ", @SplitFlag, @NameOnlyFlag, @JavPostDate, @Package " + ", @Thumbnail, @DownloadFIles, @SearchResult, @Detail " + ", @JavUrl, @Rating, @Size, @JavId, @IsTarget" + ", @CreatedAt, @UpdatedAt);"; MySqlCommand command = new MySqlCommand(sqlcmd, dbcon.getMySqlConnection()); DataTable dtSaraly = new DataTable(); List <MySqlParameter> listSqlParams = new List <MySqlParameter>(); MySqlParameter sqlparam = new MySqlParameter("@CopyText", MySqlDbType.VarChar); sqlparam.Value = myData.CopyText; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Kind", MySqlDbType.Int32); sqlparam.Value = myData.Kind; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@MatchProduct", MySqlDbType.VarChar); sqlparam.Value = myData.MatchProduct; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@ProductNumber", MySqlDbType.VarChar); sqlparam.Value = myData.ProductNumber; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@ProductDate", MySqlDbType.DateTime); sqlparam.Value = myData.ProductDate; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Maker", MySqlDbType.VarChar); sqlparam.Value = myData.GetMaker(); listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Title", MySqlDbType.VarChar); sqlparam.Value = myData.Title; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Actresses", MySqlDbType.VarChar); sqlparam.Value = myData.Actresses; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@RarFlag", MySqlDbType.Int16); sqlparam.Value = myData.RarFlag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Tag", MySqlDbType.VarChar); sqlparam.Value = myData.Tag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Filename", MySqlDbType.VarChar); sqlparam.Value = myData.Filename; listSqlParams.Add(sqlparam); int HdKind = (myData.HdKind != null) ? myData.HdKind.Kind : 0; sqlparam = new MySqlParameter("@HdKind", MySqlDbType.Int16); sqlparam.Value = HdKind; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@MovieFilesId", MySqlDbType.Int32); sqlparam.Value = myData.FileId; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@SplitFlag", MySqlDbType.Int16); sqlparam.Value = myData.SplitFlag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@NameOnlyFlag", MySqlDbType.Int16); sqlparam.Value = myData.NameOnlyFlag; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@JavPostDate", MySqlDbType.DateTime); sqlparam.Value = myData.JavPostDate; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Package", MySqlDbType.VarChar); sqlparam.Value = myData.Package; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Thumbnail", MySqlDbType.VarChar); sqlparam.Value = myData.Thumbnail; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@DownloadFiles", MySqlDbType.VarChar); sqlparam.Value = myData.DownloadFiles; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@SearchResult", MySqlDbType.VarChar); sqlparam.Value = myData.SearchResult; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Detail", MySqlDbType.VarChar); sqlparam.Value = myData.Detail; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@JavUrl", MySqlDbType.VarChar); sqlparam.Value = myData.JavUrl; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Rating", MySqlDbType.Int16); sqlparam.Value = myData.Rating; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@Size", MySqlDbType.Int64); sqlparam.Value = myData.Size; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@JavId", MySqlDbType.Int32); sqlparam.Value = myData.JavId; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@IsTarget", MySqlDbType.Int16); sqlparam.Value = myData.IsTarget; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@CreatedAt", MySqlDbType.DateTime); sqlparam.Value = myData.CreateDate; listSqlParams.Add(sqlparam); sqlparam = new MySqlParameter("@UpdatedAt", MySqlDbType.DateTime); sqlparam.Value = myData.UpdateDate; listSqlParams.Add(sqlparam); command.Parameters.AddRange(listSqlParams.ToArray()); command.ExecuteNonQuery(); MovieImportData data = GetNewest(dbcon); if (!data.ProductNumber.Equals(myData.ProductNumber)) { throw new Exception("最新のデータが違うため、取得出来ませんでした"); } return(data); }
public void Execute(MovieImportData myImportData, MovieFileContents myFileContents) { string destDir = "HD-" + myFileContents.GetLastSentenceFromLabel(); string fullPath = Path.Combine(BasePath, destDir); if (!Directory.Exists(fullPath)) { Directory.CreateDirectory(fullPath); } long size = 0; string ext = ""; DateTime dt = new DateTime(1900, 1, 1); foreach (TargetFiles data in listSelectedFiles) { string destFilename = Path.Combine(fullPath, myImportData.Filename + data.FileInfo.Extension); size += data.FileInfo.Length; ext = data.FileInfo.Extension.Substring(1); dt = data.FileInfo.LastWriteTime; File.Move(data.FileInfo.FullName, destFilename); } // JPEGなどのファイルのファイル名を変更(ファイル名を「XXX FHD」に更新する前にファイル名変更を実行) string[] mvFiles = Directory.GetFiles(myFileContents.Label, myFileContents.Name + "*"); Debug.Print(" " + myFileContents.Label + " " + myFileContents.Name); foreach (string pathname in mvFiles) { FileInfo fileinfo = new FileInfo(pathname); string sourcePathname = pathname; string sufix = fileinfo.Name.Replace(myFileContents.Name, ""); Debug.Print("sufix" + sufix + " pathname " + pathname); string destPathname = Path.Combine(myFileContents.Label, myImportData.Filename + sufix.ToLower()); File.Move(sourcePathname, destPathname); } MovieFileContentsService service = new MovieFileContentsService(); myFileContents.Name = myImportData.Filename; myFileContents.Size = size; if (!myFileContents.Extension.ToUpper().Equals(ext.ToUpper())) { MessageBoxResult result = MessageBox.Show("既存のファイルは削除しますか?", "削除確認", MessageBoxButton.OKCancel); if (result == MessageBoxResult.OK) { string[] files = Directory.GetFiles(myFileContents.Label, myFileContents.Name + "*" + myFileContents.Extension); List <TargetFiles> delTargetList = new List <TargetFiles>(); foreach (string pathname in files) { TargetFiles targetFiles = new TargetFiles(); targetFiles.FileInfo = new FileInfo(pathname); delTargetList.Add(targetFiles); } FilesRegisterService serviceFileRegister = new FilesRegisterService(dbcon); serviceFileRegister.BasePath = BasePath; serviceFileRegister.SetDbMovieFilesInfo(myImportData, null); serviceFileRegister.DeleteFiles(delTargetList); } myFileContents.Extension = ext; } try { dbcon.BeginTransaction("MOVIE_REGISTER"); service.DbUpdateFileInfo(myFileContents, dbcon); dbcon.CommitTransaction(); // MOVIE_IMPORTから削除 MovieImportService serviceImportService = new MovieImportService(); serviceImportService.DbDelete(myImportData, new MySqlDbConnection()); } catch (Exception ex) { Debug.Write(ex); dbcon.RollbackTransaction(); throw new Exception(ex.Message); } return; }
public void Delete(MovieImportData myData) { listData.Remove(myData); ColViewListData.Refresh(); }