// dgridMovieGroup_SelectionChangedから呼び出し public GroupFilesInfo ClearAndExecute(int myFilterKind, MovieGroup myGroupData) { Clear(); if (myGroupData.Kind == 1) SetLabel(myGroupData.Explanation); else if (myGroupData.Kind == 3) SetSiteContents(myGroupData.Label, myGroupData.Explanation); else if (myGroupData.Kind == 4) SetActress(myGroupData.Name); GroupFilesInfo FilesInfo = Execute(); return FilesInfo; }
public static MovieGroup DbExport(MovieGroup myMovieGroup, DbConnection myDbCon) { if (myDbCon == null) myDbCon = new DbConnection(); myDbCon.openConnection(); string querySting = "INSERT INTO MOVIE_GROUP( NAME, LABEL, EXPLANATION, KIND ) VALUES ( @pName, @pLabel, @pExplanation, @pKind ) "; SqlParameter[] sqlparams = new SqlParameter[4]; // Create and append the parameters for the Update command. sqlparams[0] = new SqlParameter("@pName", SqlDbType.VarChar); sqlparams[0].Value = myMovieGroup.Name; sqlparams[1] = new SqlParameter("@pLabel", SqlDbType.VarChar); sqlparams[1].Value = myMovieGroup.Label; sqlparams[2] = new SqlParameter("@pExplanation", SqlDbType.VarChar); sqlparams[2].Value = myMovieGroup.Explanation; sqlparams[3] = new SqlParameter("@pKind", SqlDbType.Int); sqlparams[3].Value = myMovieGroup.Kind; myDbCon.SetParameter(sqlparams); myDbCon.execSqlCommand(querySting); string queryString = "SELECT " + " ID, NAME, LABEL, EXPLANATION, KIND, CREATE_DATE, UPDATE_DATE " + " FROM MOVIE_GROUP WHERE ID IN (SELECT MAX(ID) FROM MOVIE_GROUP) " + "" + ""; SqlDataReader reader = null; MovieGroup data = null; try { reader = myDbCon.GetExecuteReader(queryString); do { if (reader.IsClosed) { _logger.Debug("reader.IsClosed"); throw new Exception("MOVIE_SITESTOREの取得でreaderがクローズされています"); } while (reader.Read()) { data = new MovieGroup(); data.Id = DbExportCommon.GetDbInt(reader, 0); data.Name = DbExportCommon.GetDbString(reader, 1); data.Label = DbExportCommon.GetDbString(reader, 2); data.Explanation = DbExportCommon.GetDbString(reader, 3); data.Kind = DbExportCommon.GetDbInt(reader, 4); data.CreateDate = DbExportCommon.GetDbDateTime(reader, 5); data.UpdateDate = DbExportCommon.GetDbDateTime(reader, 6); } } while (reader.NextResult()); } finally { reader.Close(); } return data; }
public static List<MovieGroup> GetDbData(DbConnection myDbCon) { List<MovieGroup> listMovieGroup = new List<MovieGroup>(); if (myDbCon == null) myDbCon = new DbConnection(); string queryString = "SELECT " + " ID, NAME, LABEL, EXPLANATION, KIND, CREATE_DATE, UPDATE_DATE " + " FROM MOVIE_GROUP " + "" + ""; SqlDataReader reader = null; try { reader = myDbCon.GetExecuteReader(queryString); do { if (reader.IsClosed) { _logger.Debug("reader.IsClosed"); throw new Exception("MOVIE_SITESTOREの取得でreaderがクローズされています"); } while (reader.Read()) { MovieGroup data = new MovieGroup(); data.Id = DbExportCommon.GetDbInt(reader, 0); data.Name = DbExportCommon.GetDbString(reader, 1); data.Label = DbExportCommon.GetDbString(reader, 2); data.Explanation = DbExportCommon.GetDbString(reader, 3); data.Kind = DbExportCommon.GetDbInt(reader, 4); data.CreateDate = DbExportCommon.GetDbDateTime(reader, 5); data.UpdateDate = DbExportCommon.GetDbDateTime(reader, 6); listMovieGroup.Add(data); } } while (reader.NextResult()); } finally { reader.Close(); } reader.Close(); myDbCon.closeConnection(); return listMovieGroup; }
public void DbDelete(MovieGroup myData, DbConnection myDbCon) { ColViewListMovieGroup.Remove(myData); MovieGroups.DbDelete(myData, myDbCon); }
public static void DbDelete(MovieGroup myData, DbConnection myDbCon) { if (myDbCon == null) myDbCon = new DbConnection(); myDbCon.openConnection(); string querySting = "DELETE FROM MOVIE_GROUP WHERE ID = @pId "; SqlParameter[] sqlparams = new SqlParameter[1]; sqlparams[0] = new SqlParameter("@pId", SqlDbType.Int); sqlparams[0].Value = myData.Id; myDbCon.SetParameter(sqlparams); myDbCon.execSqlCommand(querySting); myDbCon.closeConnection(); }
public void ExportMovieGroupFromMovieFilesTagOnly(List<MovieGroup> myListGroup) { List<string> listTag = GetOnlyTagList(); foreach (string data in listTag) { string[] csvSplit = data.Split(','); if (csvSplit.Length > 1) { foreach (string field in csvSplit) { var checkdata = from groupInfo in myListGroup where groupInfo.Name == field.Trim() select groupInfo; if (checkdata.Count() <= 0) { Debug.Print("TAGのみ " + field); MovieGroup ginfo = new MovieGroup(); ginfo.Name = field; ginfo.Explanation = "TAGのみ"; ginfo.Kind = 4; MovieGroups.DbExport(ginfo, dbcon); } } } else { var checkdata = from groupInfo in myListGroup where groupInfo.Name == data.Trim() select groupInfo; if (checkdata.Count() <= 0) { Debug.Print("TAGのみ " + data); MovieGroup ginfo = new MovieGroup(); ginfo.Name = data; ginfo.Explanation = "TAGのみ"; ginfo.Kind = 4; MovieGroups.DbExport(ginfo, dbcon); } } } }
public void Add(MovieGroup myData) { listMovieGroup.Add(myData); }
private void OnDisplayImage(MovieContents myMovieContents, MovieGroup myTargetGroup) { // パラメータがnullの場合は画像表示を全てクリア if (myMovieContents == null) { imagePackage.Source = null; return; } if (image == null) image = new common.Image(myMovieContents, myTargetGroup); // PackageImage // Visibleの場合のみ表示 FileInfo fileInfoPackage = image.GetDefaultPackageFileInfo(); if (fileInfoPackage != null && fileInfoPackage.Exists) { string path = myMovieContents.GetExistPath(myTargetGroup); if (path != null) { txtStatusBar.Text = myMovieContents.ExistMovie[0]; txtStatusBarFileLength.Text = CommonMethod.GetDisplaySize(myMovieContents.Size); imagePackage.Source = ImageMethod.GetImageStream(fileInfoPackage.FullName); } } else { imagePackage.Source = null; } // ImageContents // Visibleの場合のみ表示 // Kind == 1 ( File ) // isThumbnail // true サムネイル画像を表示 // false Dirがあれば、Dir内の画像、無い場合はパッケージを表示、ImagePackageを非表示 // Kind == 2 ( Site ) if (image.IsThumbnail()) { List<FileInfo> listFileInfo = image.listImageFileInfo; if (listFileInfo != null && listFileInfo.Count >= 1) { imageSitesImageOne.Source = ImageMethod.GetImageStream(listFileInfo[0].FullName); imageSitesImageOne.ToolTip = listFileInfo[0].Name; imageSitesImageTwo.Visibility = Visibility.Collapsed; imageSitesImageThree.Visibility = Visibility.Collapsed; imageSitesImageFour.Visibility = Visibility.Collapsed; imageSitesImageOne.SetValue(Grid.RowSpanProperty, 2); imageSitesImageOne.SetValue(Grid.ColumnSpanProperty, 2); BitmapImage bitmapImage = (BitmapImage)imageSitesImageOne.Source; imageSitesImageOne.Width = lgridMain.ColumnDefinitions[MAIN_COLUMN_NO_CONTENTS].ActualWidth; imageSitesImageOne.Height = (imageSitesImageOne.Width / bitmapImage.Width) * bitmapImage.Height; imageSitesImageOne.Stretch = Stretch.Uniform; } } else { List<FileInfo> listFileInfo = image.listImageFileInfo; txtbImageInfo.Text = image.DisplayPage; txtStatusBar.Text = Path.Combine(myMovieContents.Label, myMovieContents.Name); txtStatusBarFileLength.Text = CommonMethod.GetDisplaySize(myMovieContents.Size); if (listFileInfo.Count > 1) { imageSitesImageOne.SetValue(Grid.RowSpanProperty, 1); imageSitesImageOne.SetValue(Grid.ColumnSpanProperty, 1); imageSitesImageOne.Width = imageSitesImageTwo.Width; imageSitesImageOne.Height = imageSitesImageTwo.Height; if (listFileInfo.Count >= 1) { imageSitesImageOne.Source = ImageMethod.GetImageStream(listFileInfo[0].FullName); imageSitesImageOne.ToolTip = listFileInfo[0].Name; imageSitesImageOne.Visibility = Visibility.Visible; } if (listFileInfo.Count >= 2) { imageSitesImageTwo.Source = ImageMethod.GetImageStream(listFileInfo[1].FullName); imageSitesImageTwo.ToolTip = listFileInfo[1].Name; imageSitesImageTwo.Visibility = Visibility.Visible; } else imageSitesImageTwo.Visibility = Visibility.Collapsed; if (listFileInfo.Count >= 3) { imageSitesImageThree.Source = ImageMethod.GetImageStream(listFileInfo[2].FullName); imageSitesImageThree.ToolTip = listFileInfo[2].Name; imageSitesImageThree.Visibility = Visibility.Visible; } else imageSitesImageThree.Visibility = Visibility.Collapsed; if (listFileInfo.Count >= 4) { imageSitesImageFour.Source = ImageMethod.GetImageStream(listFileInfo[3].FullName); imageSitesImageFour.ToolTip = listFileInfo[3].Name; imageSitesImageFour.Visibility = Visibility.Visible; } else imageSitesImageFour.Visibility = Visibility.Collapsed; } else { if (listFileInfo.Count >= 1) { imageSitesImageOne.Source = ImageMethod.GetImageStream(listFileInfo[0].FullName); imageSitesImageOne.ToolTip = listFileInfo[0].Name; imageSitesImageOne.Visibility = Visibility.Visible; } else imageSitesImageOne.Source = null; imageSitesImageTwo.Visibility = Visibility.Collapsed; imageSitesImageThree.Visibility = Visibility.Collapsed; imageSitesImageFour.Visibility = Visibility.Collapsed; imageSitesImageOne.SetValue(Grid.RowSpanProperty, 2); imageSitesImageOne.SetValue(Grid.ColumnSpanProperty, 2); } } }
public string GetExistPath(MovieGroup myGroup) { if (myGroup == null) return null; IsExecuteExistPath = true; if (Kind == KIND_FILE) { string fileName = Path.Combine(Label, Name) + "." + Extension.ToLower(); if (File.Exists(fileName)) { ExistMovie = new string[1]; ExistMovie[0] = fileName; return new FileInfo(fileName).DirectoryName; } else { ExistMovie = Directory.GetFiles(Label, Name + "_*." + Extension.ToLower()); if (ExistMovie != null && ExistMovie.Length > 0) return new FileInfo(ExistMovie[0]).DirectoryName; } } else if (Kind == KIND_SITE) { string path = Path.Combine(myGroup.Explanation, Name); if (Directory.Exists(path)) return new DirectoryInfo(path).FullName; } if (Kind == MovieContents.KIND_CONTENTS) { string path = Path.Combine(myGroup.Explanation, Name); if (Directory.Exists(path)) return new DirectoryInfo(path).FullName; if (File.Exists(path)) { ExistMovie = new string[1]; ExistMovie[0] = path; return new FileInfo(path).DirectoryName; } } return null; }
private void OnAddGroupDelete(object sender, RoutedEventArgs e) { if (dispinfoSelectGroup == null) return; MessageBoxResult result = MessageBox.Show("DBから削除します", "削除確認", MessageBoxButton.OKCancel); if (result == MessageBoxResult.Cancel) return; ColViewMovieGroup.DbDelete(dispinfoSelectGroup, null); dispinfoSelectGroup = null; }
private void dgridMovieGroup_SelectionChanged(object sender, SelectionChangedEventArgs e) { dispinfoSelectGroup = (MovieGroup)dgridMovieGroup.SelectedItem; if (dispinfoSelectGroup == null) return; // 画像表示はクリア OnDisplayImage(null, dispinfoTargetGroupBySelectContents); // 選択されているグループで表示 GroupFilesInfo filesInfo = ColViewMovieContents.ClearAndExecute(ColViewMovieGroup.FilterKind, dispinfoSelectGroup); this.Title = "未評価 [" + filesInfo.Unrated + "/" + filesInfo.FileCount + "] Size [" + CommonMethod.GetDisplaySize(filesInfo.Size) + "]"; txtbGroupInfo.Text = "未評価 [" + filesInfo.Unrated + "/" + filesInfo.FileCount + "] Size [" + CommonMethod.GetDisplaySize(filesInfo.Size) + "]"; }
private void dgridMovieContents_SelectionChanged(object sender, SelectionChangedEventArgs e) { dispinfoSelectContents = (MovieContents)dgridMovieContents.SelectedItem; image = null; if (dispinfoSelectContents != null) { txtLargeComment.Text = dispinfoSelectContents.Comment; cmbLargeRating.SelectedValue = dispinfoSelectContents.Rating; } else return; dispinfoTargetGroupBySelectContents = ColViewMovieGroup.GetMatchDataByContents(dispinfoSelectContents); if (dispinfoTargetGroupBySelectContents == null) txtStatusBar.Text = "" + dispinfoSelectContents.Label + "に一致するグループが存在しませんでした"; OnDisplayImage(dispinfoSelectContents, dispinfoTargetGroupBySelectContents); if (dispinfoContentsVisibleKind == CONTENTS_VISIBLE_KIND_DETAIL) { if (dispinfoSelectContents == null) return; if (dispinfoSelectContents.Kind == MovieContents.KIND_FILE || dispinfoSelectContents.Kind == MovieContents.KIND_CONTENTS) { lgridSiteDetail.Visibility = Visibility.Collapsed; lgridFileDetail.Visibility = Visibility.Visible; ColViewFileDetail = new detail.FileDetail(dispinfoSelectContents, dispinfoTargetGroupBySelectContents); dgridFileDetail.ItemsSource = ColViewFileDetail.listFileInfo; OnRefreshFileDetailInfo(null, null); return; } lgridSiteDetail.Visibility = Visibility.Visible; lgridFileDetail.Visibility = Visibility.Collapsed; txtSiteDetailContentsName.Text = dispinfoSelectContents.Name; txtSiteDetailContentsTag.Text = dispinfoSelectContents.Tag; string path = dispinfoSelectContents.GetExistPath(dispinfoTargetGroupBySelectContents); txtSiteDetailContentsPath.Text = path; txtSiteDetailContentsComment.Text = dispinfoSelectContents.Comment; if (path != null) { ScreenDisableBorderSiteDetail.Width = 0; ScreenDisableBorderSiteDetail.Height = 0; ScreenDisableBorderImageContents.Width = 0; ScreenDisableBorderImageContents.Height = 0; txtSiteDetailContentsPath.Text = path; txtSiteDetailContentsComment.Text = dispinfoSelectContents.Comment; ColViewSiteDetail = new SiteDetail(txtSiteDetailContentsPath.Text); dgridSiteDetail.ItemsSource = ColViewSiteDetail.listFileInfo; btnSiteDetailImage.Content = "Image (" + ColViewSiteDetail.ImageCount + ")"; btnSiteDetailMovie.Content = "Movie (" + ColViewSiteDetail.MovieCount + ")"; btnSiteDetailList.Content = "List (" + ColViewSiteDetail.ListCount + ")"; imageSiteDetail.Source = ImageMethod.GetImageStream(ColViewSiteDetail.StartImagePathname); } // 存在しないpathの場合 else { ScreenDisableBorderSiteDetail.Width = Double.NaN; ScreenDisableBorderSiteDetail.Height = Double.NaN; ScreenDisableBorderImageContents.Width = Double.NaN; ScreenDisableBorderImageContents.Height = Double.NaN; dgridSiteDetail.ItemsSource = null; imageSiteDetail.Source = null; } } }
private void btnAddGroupExecute_Click(object sender, RoutedEventArgs e) { if (cmbAddGroupKind.SelectedValue == null) { MessageBox.Show("KINDが指定されていません"); return; } int kind = Convert.ToInt32(cmbAddGroupKind.SelectedValue); if (kind == MovieGroup.KIND_DIR) { DirectoryInfo dir = new DirectoryInfo(txtAddGroupExplanation.Text); if (!dir.Exists) { MessageBox.Show("説明に指定されているフォルダが存在しません"); return; } } if (txtbAddGroupMode.Text == "Regist") { MovieGroup registerData = new MovieGroup(); registerData.Name = txtAddGroupName.Text; registerData.Explanation = txtAddGroupExplanation.Text; registerData.Label = txtAddGroupLabel.Text; registerData.Kind = kind; registerData = MovieGroups.DbExport(registerData, dbcon); ColViewMovieGroup.Add(registerData); ColViewMovieGroup.Refresh(); // .Execute(MovieGroupFilterAndSorts.EXECUTE_MODE_NORMAL); } else { dispinfoSelectGroup.Name = txtAddGroupName.Text; dispinfoSelectGroup.Explanation = txtAddGroupExplanation.Text; dispinfoSelectGroup.Label = txtAddGroupLabel.Text; dispinfoSelectGroup.DbUpdate(dbcon); } txtAddGroupName.Text = ""; txtAddGroupExplanation.Text = ""; txtAddGroupLabel.Text = ""; cmbAddGroupKind.SelectedValue = null; txtAddGroupId.Text = ""; txtbAddGroupMode.Text = ""; dispinfoIsGroupAddVisible = false; LayoutChange(); }
private void btnAddGroupCheck_Click(object sender, RoutedEventArgs e) { int kind = Convert.ToInt32(cmbAddGroupKind.SelectedValue); if (kind == MovieGroup.KIND_DIR) { DirectoryInfo dir = new DirectoryInfo(txtAddGroupExplanation.Text); if (!dir.Exists) { MessageBox.Show("説明に指定されているフォルダが存在しません"); return; } } MovieGroup filterGroup = new MovieGroup(); filterGroup.Name = txtAddGroupName.Text; filterGroup.Explanation = txtAddGroupExplanation.Text; filterGroup.Label = txtAddGroupLabel.Text; filterGroup.Kind = kind; // 登録・更新で入力されているグループで表示 ColViewMovieContents.ClearAndExecute(ColViewMovieGroup.FilterKind, filterGroup); }