예제 #1
0
        public MovieGroup GetMatchDataByContents(MovieContents myContents)
        {
            bool IsSite = (myContents.Kind == MovieContents.KIND_SITE);
            bool IsFile = (myContents.Kind == MovieContents.KIND_FILE);
            //bool IsContentsSite = (myContents.Kind == MovieContents.KIND_CONTENTS && myContents.SiteName != null && myContents.SiteName.Length > 0);
            //bool IsContentsFile = (myContents.Kind == MovieContents.KIND_CONTENTS && (myContents.SiteName == null || myContents.SiteName.Length <= 0));

            Regex regex = null;
            if (IsSite)
            {
                regex = new Regex(".*" + Regex.Escape(myContents.Label) + "$", RegexOptions.IgnoreCase);
            }

            foreach (MovieGroup data in listMovieGroup)
            {
                if (IsSite)// || IsContentsSite)
                {
                    if (data.Kind != MovieGroup.KIND_SITE)
                        continue;
                }
                else if (IsFile)
                {
                    if (data.Kind != MovieGroup.KIND_DIR)
                        continue;
                }

                if (IsSite)
                {
                    if (data.Label.ToUpper() == myContents.SiteName.ToUpper() && regex.IsMatch(data.Explanation))
                        return data;

                    continue;
                }
                else if (IsFile)
                {
                    if (data.Explanation.Length > 0 && data.Explanation.ToUpper() == myContents.Label.ToUpper())
                        return data;

                    continue;
                }
                else //if (IsContentsSite)
                {
                    if (data.Label.ToUpper() == myContents.SiteName.ToUpper())
                    {
                        if (Directory.Exists(Path.Combine(data.Explanation, myContents.Name)))
                            return data;
                    }

                    if (File.Exists(Path.Combine(data.Explanation, myContents.Name)))
                        return data;

                    continue;
                }
            }

            return null;
        }
 public void Delete(MovieContents myData)
 {
     listMovieContens.Remove(myData);
 }
        public static List<MovieContents> GetDbViewContents(DbConnection myDbCon)
        {
            List<MovieContents> listMContents = new List<MovieContents>();

            if (myDbCon == null)
                myDbCon = new DbConnection();

            string queryString
                        = "SELECT KIND "
                        + "    , ID, NAME, SIZE "
                        + "    , FILE_DATE, MOVIE_NEWDATE, SELL_DATE "
                        + "    , RATING, LABEL, COMMENT, REMARK "
                        + "    , SITE_NAME "
                        + "    , PRODUCT_NUMBER "
                        + "    , FILE_COUNT, MOVIE_COUNT, PHOTO_COUNT "
                        + "    , EXTENSION, CREATE_DATE, UPDATE_DATE "
                        + "    , TAG "
                        + "  FROM V_MOVIE_CONTENTS "
                        + ""
                        + "";

            SqlDataReader reader = null;
            try
            {
                reader = myDbCon.GetExecuteReader(queryString);

                do
                {

                    if (reader.IsClosed)
                    {
                        _logger.Debug("V_MOVIE_CONTENTS reader.IsClosed");
                        throw new Exception("COMPANY_ARREARS_DETAILの残高の取得でreaderがクローズされています");
                    }

                    while (reader.Read())
                    {
                        MovieContents data = new MovieContents();

                        data.Kind = DbExportCommon.GetDbInt(reader, 0);
                        data.Id = DbExportCommon.GetDbInt(reader, 1);
                        data.Name = DbExportCommon.GetDbString(reader, 2);
                        data.Size = DbExportCommon.GetLong(reader, 3);
                        data.FileDate = DbExportCommon.GetDbDateTime(reader, 4);
                        data.MovieNewDate = DbExportCommon.GetDbDateTime(reader, 5);
                        data.SellDate = DbExportCommon.GetDbDateTime(reader, 6);
                        data.Rating = DbExportCommon.GetDbInt(reader, 7);
                        data.Label = DbExportCommon.GetDbString(reader, 8);
                        data.Comment = DbExportCommon.GetDbString(reader, 9);
                        data.Remark = DbExportCommon.GetDbString(reader, 10);
                        data.SiteName = DbExportCommon.GetDbString(reader, 11);
                        data.ProductNumber = DbExportCommon.GetDbString(reader, 12);
                        data.FileCount = DbExportCommon.GetDbInt(reader, 13);
                        data.MovieCount = DbExportCommon.GetDbString(reader, 14);
                        data.PhotoCount = DbExportCommon.GetDbString(reader, 15);
                        data.Extension = DbExportCommon.GetDbString(reader, 16);
                        data.CreateDate = DbExportCommon.GetDbDateTime(reader, 17);
                        data.UpdateDate = DbExportCommon.GetDbDateTime(reader, 18);
                        data.Tag = DbExportCommon.GetDbString(reader, 19);
                        //data.ChildTableName = MovieContents.TABLE_KIND_MOVIE_FILESCONTENTS;

                        listMContents.Add(data);
                    }
                } while (reader.NextResult());
            }
            finally
            {
                if (reader != null ) reader.Close();
            }

            myDbCon.closeConnection();

            return listMContents;
        }
        public void RefrectData(MovieContents myData)
        {
            if (myData == null)
                return;

            if (myData.Name != null && myData.Name.Length > 0 && Name != myData.Name.Trim())
                Name = myData.Name;
            if (myData.Tag != null && myData.Tag.Length > 0 && Tag != myData.Tag.Trim())
                Tag = myData.Tag;
            if (myData.Label != null && myData.Label.Length > 0 && Label != myData.Label.Trim())
                Label = myData.Label;
            if (myData.SellDate.Year != 1900)
                SellDate = myData.SellDate;
            if (myData.ProductNumber != null && myData.ProductNumber.Length > 0 && ProductNumber != myData.ProductNumber.Trim())
                ProductNumber = myData.ProductNumber;
            if (myData.Extension != null && myData.Extension.Length > 0 && Extension != myData.Extension.ToUpper().Trim())
                Extension = myData.Extension.ToUpper().Trim();

            return;
        }
        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);
                }
            }
        }
        private MovieContents GetMovieContentsFromTextbox(
            TextBox myTextBoxName
            , TextBox myTextBoxTag
            , TextBox myTextBoxLabel
            , TextBox myTextBoxSellDate
            , TextBox myTextBoxProductNumber
            , TextBox myTextBoxExtension
            , TextBox myTextBoxFileDate
            , TextBox myTextBoxFileCount)
        {
            MovieContents data = new MovieContents();

            if (myTextBoxName != null && myTextBoxName.Text.Trim().Length > 0)
                data.Name = myTextBoxName.Text;
            if (myTextBoxTag != null && myTextBoxTag.Text.Trim().Length > 0)
                data.Tag = myTextBoxTag.Text;
            if (myTextBoxLabel != null && myTextBoxLabel.Text.Trim().Length > 0)
                data.Label = myTextBoxLabel.Text;
            if (myTextBoxSellDate != null && myTextBoxSellDate.Text.Trim().Length > 0)
                data.SellDate = Convert.ToDateTime(myTextBoxSellDate.Text);
            if (myTextBoxProductNumber != null && myTextBoxProductNumber.Text.Trim().Length > 0)
                data.ProductNumber = myTextBoxProductNumber.Text;
            if (myTextBoxExtension != null && myTextBoxExtension.Text.Trim().Length > 0)
                data.Extension = myTextBoxExtension.Text;
            if (myTextBoxFileDate != null && myTextBoxFileDate.Text.Trim().Length > 0)
                data.FileDate = Convert.ToDateTime(myTextBoxFileDate.Text);
            if (myTextBoxFileCount != null && myTextBoxFileCount.Text.Trim().Length > 0)
                data.FileCount = Convert.ToInt32(myTextBoxFileCount.Text);

            return data;
        }
        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;
                }
            }
        }