//それぞれのボタンを押したときの処理
        public void btn_Click(object sender, RoutedEventArgs e)
        {
            //senderからクリックしたユーザ名を取得
            string userName = sender.ToString();

            userName = userName.Replace("System.Windows.Controls.Button: ", "");
            int x = userName.IndexOf(".");

            userName = userName.Remove(0, x + 1);

            string[] files;

            //ファイル共有するならこっち
            if (Directory.Exists(GetUniversalName(@"\\MCDYNA20\ContentsData")))
            {
                string searchDirectory = @"\\MCDYNA20\ContentsData\Annotation\" + userName + "\\" + epubFileName.Replace(".epub", "");
                string unc_path        = GetUniversalName(searchDirectory);

                //ユーザフォルダ内に内にあるすべてのキャプチャ検索
                files = System.IO.Directory.GetFiles(unc_path, "*", SearchOption.TopDirectoryOnly);
            }

            //しないならこっち
            else
            {
                string searchDirectory = epubDirectory.Replace("epub", "Annotation") + "\\" + userName + "\\" + epubFileName.Replace(".epub", "");

                //ユーザフォルダ内に内にあるすべてのキャプチャ検索
                files = System.IO.Directory.GetFiles(searchDirectory, "*", SearchOption.TopDirectoryOnly);
            }

            for (int i = 0; i < files.Length; i++)
            {
                // 配列を拡張
                Array.Resize(ref captureOwnerId, i + 1);
                captureOwnerId[i] = userName;
            }

            PNGSelectAnnotationWindow pslaw = new PNGSelectAnnotationWindow();

            pslaw.Show();
            pslaw.init(files, captureOwnerId, false);

            this.Close();
        }
Ejemplo n.º 2
0
        //要素(あるいはページ)ごとにすべてのユーザのキャプチャを表示させる
        public void elementButton_Click(object sender, RoutedEventArgs e)
        {
            //キャプチャのリスト(files)のそれぞれの書き主のID
            string[] captureOwnerId = new string[1];

            isElement = true;
            string[] directories;
            string[] files = new string[1];
            int      i     = 0;


            //ファイル共有するならこっち
            if (Directory.Exists(GetUniversalName(@"\\MCDYNA20\ContentsData")))
            {
                string searchDirectory = @"\\MCDYNA20\ContentsData\Annotation";
                string unc_path        = GetUniversalName(searchDirectory);

                try
                {
                    //Annotationフォルダ内に内にあるユーザのディレクトリを検索
                    directories = System.IO.Directory.GetDirectories(unc_path, "*", SearchOption.TopDirectoryOnly);

                    //それぞれのユーザのディレクトリから、対象の要素(あるいはページ)に対するキャプチャを探す
                    foreach (string d in directories)
                    {
                        //現在の要素(あるいはページ)に対する全ユーザのキャプチャを検索
                        string[] captures = System.IO.Directory.GetFiles(d + "\\" + epubFileName.Replace(".epub", ""), imageFileName + "*" + ".png", System.IO.SearchOption.TopDirectoryOnly);
                        foreach (string c in captures)
                        {
                            // 配列を拡張
                            Array.Resize(ref files, i + 1);
                            files[i] = c;

                            // 配列を拡張
                            Array.Resize(ref captureOwnerId, i + 1);
                            captureOwnerId[i] = d.Replace(unc_path + "\\", "");

                            i++;
                        }
                    }
                }
                catch
                {
                    MessageBox.Show("ファイルがありません。");
                    return;
                }
            }

            //しないならこっち
            else
            {
                string searchDirectory = epubDirectory.Replace("epub", "Annotation");

                try
                {
                    //Annotationフォルダ内に内にあるユーザのディレクトリを検索
                    directories = System.IO.Directory.GetDirectories(searchDirectory, "*", SearchOption.TopDirectoryOnly);

                    //それぞれのユーザのディレクトリから、対象の要素(あるいはページ)に対するキャプチャを探す
                    foreach (string d in directories)
                    {
                        //現在の要素(あるいはページ)に対する全ユーザのキャプチャを検索
                        string[] captures = System.IO.Directory.GetFiles(d + "\\" + epubFileName.Replace(".epub", ""), imageFileName + "*" + ".png", System.IO.SearchOption.TopDirectoryOnly);
                        foreach (string c in captures)
                        {
                            // 配列を拡張
                            Array.Resize(ref files, i + 1);
                            files[i] = c;

                            // 配列を拡張
                            Array.Resize(ref captureOwnerId, i + 1);
                            captureOwnerId[i] = d.Replace(searchDirectory + "\\", "");

                            i++;
                        }
                    }
                }
                catch
                {
                    MessageBox.Show("ファイルがありません");
                    return;
                }
            }

            PNGSelectAnnotationWindow pslaw = new PNGSelectAnnotationWindow();

            pslaw.Owner = this;
            pslaw.Show();
            pslaw.init(files, captureOwnerId, isElement);
        }