Exemple #1
0
        private void ShowTables(SetTitleDbContext db)
        {
            var queryAllSetTiles = from setTitle in db.SetTitles
                                   select setTitle;
            var queryAllStartupProg = from startupProg in db.StartupProgs
                                      select startupProg;

            foreach (var data in queryAllSetTiles)
            {
                Console.WriteLine("SetTitleId = " + data.SetTitleId);
                Console.WriteLine("SetTitleName = " + data.TitleName);
                Console.WriteLine("SetTitle_StartupProg_Count = " + data.StartupProgs.Count);
            }
            Console.WriteLine();

            foreach (var data in queryAllStartupProg)
            {
                Console.WriteLine("StartupProgId = " + data.StartupProgId);
                Console.WriteLine("StartupProgName = " + data.StartupProgName);
                Console.WriteLine("StartupProgPath = " + data.StartupProgPath);
                Console.WriteLine("StartupProg_SetTitleId = " + data.SetTitleId);
                Console.WriteLine("StartupProg_SetTitle = " + data.SetTitle.SetTitleId);
            }
            Console.WriteLine();
        }
Exemple #2
0
        //「決定」ボタン
        private void decideButton_Click(object sender, EventArgs e)
        {
            if (!isValid)
            {
                return;
            }

            if (isAdd)
            {
                Console.WriteLine("Add Data");
                using (var db = new SetTitleDbContext())
                {
                    DbAdd(db);
                    ShowTables(db);
                }
            }
            else
            {
                Console.WriteLine("Edit Data");
                using (var db = new SetTitleDbContext())
                {
                    var datas_setTitle = from setTitle in db.SetTitles
                                         where setTitle.SetTitleId == setTitleId
                                         select setTitle;
                    var data_setTitle = datas_setTitle.First();
                    db.Remove(data_setTitle);
                    db.SaveChanges();
                    DbAdd(db, false);
                }
            }
            return;
        }
Exemple #3
0
        private void titleLabel_LinkClick(object sender, EventArgs e)
        {
            using (var db = new SetTitleDbContext())
            {
                Console.WriteLine("Clicked titleLabel");
                LinkLabel linkLabel  = sender as LinkLabel;
                int       setTitleId = (int)linkLabel.Tag;
                Console.WriteLine($"setTitleId = {setTitleId}");

                var setTitle_data = from setTitle in db.SetTitles
                                    where setTitle.SetTitleId == setTitleId
                                    orderby setTitle.SetTitleId
                                    select setTitle;
                var startupProg_data = from startupProg in db.StartupProgs
                                       where startupProg.SetTitleId == setTitleId
                                       orderby startupProg.StartupProgId
                                       select startupProg;
                addEditForm  addEditForm  = new addEditForm(setTitle_data, startupProg_data);
                DialogResult dialogResult = addEditForm.ShowDialog();
                if (dialogResult == DialogResult.OK)
                {
                    FormReload();
                }
            }
        }
Exemple #4
0
 private void startupButton_Click(object sender, EventArgs e)
 {
     using (var db = new SetTitleDbContext())
     {
         Button button            = sender as Button;
         int    setTitleId        = (int)button.Tag;
         var    startupProg_datas = from startupProg in db.StartupProgs
                                    where startupProg.SetTitleId == setTitleId
                                    orderby startupProg.StartupProgId
                                    select startupProg;
         foreach (var data in startupProg_datas)
         {
             try
             {
                 Console.WriteLine($"{data.StartupProgId}. {data.StartupProgName} = {data.StartupProgPath}");
                 var process = new System.Diagnostics.Process();
                 process.StartInfo.FileName        = $"{data.StartupProgPath}";
                 process.StartInfo.UseShellExecute = true;
                 process.Start();
             }
             catch (Exception exc)
             {
                 Console.WriteLine($"ExceptionType: {exc.GetType()}");
                 MessageBox.Show($"{data.StartupProgName}: {data.StartupProgPath}\nパスを確認してください", "ファイルを開くことができませんでした", MessageBoxButtons.OK, MessageBoxIcon.Error);
                 continue;
             }
         }
     }
 }
Exemple #5
0
        private void DbAdd(SetTitleDbContext db, bool isAdd = true)
        {
            if (isAdd)
            {
                db.Add(new SetTitle {
                    TitleName = settitleTextBox.Text
                });
            }
            else
            {
                db.Add(new SetTitle {
                    SetTitleId = setTitleId, TitleName = settitleTextBox.Text
                });
            }
            db.SaveChanges();

            SetTitle set;

            if (isAdd)
            {
                set = db.SetTitles
                      .OrderBy(s => s.SetTitleId)
                      .Last();
            }
            else
            {
                var sets = from setTitle in db.SetTitles
                           where setTitle.SetTitleId == setTitleId
                           select setTitle;
                set = sets.First();
            }
            for (int i = 0; i < PROG_NUM; i++)
            {
                try
                {
                    set.StartupProgs.Add(new StartupProg
                    {
                        StartupProgName = prognameTextBoxes[i].Text,
                        StartupProgPath = pathTextBoxes[i].Text,
                        SetTitleId      = set.SetTitleId,
                        SetTitle        = set
                    });
                    db.SaveChanges();
                }
                catch (NullReferenceException ne)                 //起動できる上限数より少ないファイルを設定した場合
                {
                    db.SaveChanges();
                    break;
                }
                finally
                {
                    DbOrganize(db);
                }
            }
        }
Exemple #6
0
 private void deleteButton_Click(object sender, EventArgs e)
 {
     using (var db = new SetTitleDbContext())
     {
         var datas = from setTitle in db.SetTitles
                     where setTitle.SetTitleId == setTitleId
                     select setTitle;
         var data = datas.First();
         db.Remove(data);
         db.SaveChanges();
     }
 }
Exemple #7
0
        //データベース内のデータを整理する(空白のみのデータを削除)
        private void DbOrganize(SetTitleDbContext db)
        {
            var datas = from startupProg in db.StartupProgs
                        select startupProg;

            foreach (var data in datas)
            {
                if (data.StartupProgName.Trim().Length == 0 || data.StartupProgPath.Trim().Length == 0)
                {
                    db.Remove(data);
                    db.SaveChanges();
                }
            }
        }
Exemple #8
0
        //メニューバーの項目がクリックされた場合
        private void toolStrip1_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {
            const string ADD        = "add";
            const string BULKDELETE = "bulkdelete";

            var item = e.ClickedItem as ToolStripButton;

            switch (item.Tag)
            {
            //追加ボタン
            case ADD:
                Console.WriteLine("Clicked addButton in InitForm.");
                addEditForm addeditform = new addEditForm();
                if (addeditform.ShowDialog() == DialogResult.OK)
                {
                    FormReload();
                }
                break;

            //一括削除ボタン
            case BULKDELETE:
                DialogResult result = MessageBox.Show("すべて削除しますか?", "一括削除", MessageBoxButtons.YesNo);
                if (result != DialogResult.Yes)
                {
                    break;
                }
                using (var db = new SetTitleDbContext())
                {
                    Console.WriteLine("all delete");
                    var datas = from setTitle in db.SetTitles
                                select setTitle;
                    foreach (var data in datas)
                    {
                        db.Remove(data);
                    }
                    db.SaveChanges();
                }
                FormReload();
                break;
            }
        }
Exemple #9
0
        private void Form1_Load(object sender, EventArgs e)         //InitForm起動時、1回のみ呼び出される
        {
            Console.WriteLine("Form1: Loaded");
            using (var db = new SetTitleDbContext())
            {
                var queryAllSetTiles = from setTitle in db.SetTitles
                                       select setTitle;
                int numberofData = 0;                 //クエリで取得したデータの個数
                foreach (var data in queryAllSetTiles)
                {
                    string    TITLELABEL_NAME   = "";
                    string    TITLELABEL_TEXT   = "";
                    const int TITLELABEL_OFFSET = 0;
                    int[]     TITLELABEL_LOCATE = new int[2] {
                        0, 0
                    };
                    int TITLELABEL_TAG = data.SetTitleId;

                    string       STARTUPBUTTON_NAME   = $"startupButton{numberofData}";
                    const string STARTUPBUTTON_TEXT   = "起動";
                    const int    STARTUPBUTTON_OFFSET = 0;
                    int[]        STARTUPBUTTON_LOCATE = new int[2] {
                        0, 0
                    };
                    int[] STARTUPBUTTON_SIZE = new int[2] {
                        112, 34
                    };
                    int STARTUPBUTTON_TAG = data.SetTitleId;

                    numberofData++;

                    if (numberofData % 2 == 1)                     //奇数番目の場合、フォームの左側に表示
                    {
                        //titleLabel
                        TITLELABEL_NAME   = $"titleLabel{numberofData}";
                        TITLELABEL_TEXT   = data.TitleName;
                        TITLELABEL_LOCATE = new int[2] {
                            88, 67 * (numberofData / 2 + 1)
                        };

                        //startupButton
                        STARTUPBUTTON_NAME   = $"startupButton{numberofData}";
                        STARTUPBUTTON_LOCATE = new int[2] {
                            215, 67 * (numberofData / 2 + 1)
                        };
                    }
                    else                     //偶数番目の場合、フォームの右側に表示
                    {
                        //titleLabel
                        TITLELABEL_NAME   = $"titleLabel{numberofData}";
                        TITLELABEL_TEXT   = data.TitleName;
                        TITLELABEL_LOCATE = new int[2] {
                            422, 67 * (numberofData / 2)
                        };

                        //startupButton
                        STARTUPBUTTON_NAME   = $"startupButton{numberofData}";
                        STARTUPBUTTON_LOCATE = new int[2] {
                            549, 67 * (numberofData / 2)
                        };
                    }
                    LinkLabel titleLabel = CreateTools.createLinkLabel(TITLELABEL_NAME, TITLELABEL_TEXT, TITLELABEL_LOCATE, panel1);
                    titleLabel.Tag          = TITLELABEL_TAG;
                    titleLabel.Font         = new Font("Yu Gothic UI", 9);
                    titleLabel.LinkClicked += titleLabel_LinkClick;

                    Button startupButton = CreateTools.createButton(STARTUPBUTTON_NAME, STARTUPBUTTON_TEXT, STARTUPBUTTON_TAG, STARTUPBUTTON_LOCATE, STARTUPBUTTON_SIZE, panel1);
                    startupButton.Tag    = STARTUPBUTTON_TAG;
                    startupButton.Click += startupButton_Click;
                }
            }
            return;
        }