예제 #1
0
        /// <summary>
        /// <para>コンストラクタ</para>
        /// </summary>
        /// <param name="animeData">アニメデータ</param>
        public DataControlForm(AnimeDataBase animeData)
        {
            InitializeComponent();

            this.animeData = new AnimeDataBase(animeData);
            StatusLabel01.Text = animeData.Title + " のデータを操作中";
        }
예제 #2
0
 public AnimeDataBase(AnimeDataBase animeDataBase)
 {
     this.Count = animeDataBase.Count;
     this.Title = animeDataBase.Title;
     this.Place = animeDataBase.Place;
     this.Info = animeDataBase.Info;
     this.BroadcastDayOfWeek = animeDataBase.BroadcastDayOfWeek;
     this.BroadcastStartDay = animeDataBase.BroadcastStartDay;
     this.LastWatchDay = animeDataBase.LastWatchDay;
 }
예제 #3
0
        /// <summary>
        /// データベースに新しくアニメデータを追加するメソッド
        /// </summary>
        /// <param name="animeData">アニメデータ</param>
        /// <returns></returns>
        public bool AddAnimeData(AnimeDataBase animeData)
        {
            try
            {
                // タイトルの重複チェック
                for (int i = 0; i < animeDataBase.Count; i++)
                {
                    if (animeDataBase[i].Title == animeData.Title)
                        return false;
                }

                animeDataBase.Add(new AnimeDataBase(animeData));
            }
            catch
            {
                return false;
            }

            return true;
        }
예제 #4
0
        /// <summary>
        /// <para>コンストラクタ</para>
        /// <para>編集モードでウィンドウを生成する際に使用します</para>
        /// </summary>
        /// 
        /// <param name="placeList">視聴場所のリスト</param>
        public DataEditForm(AnimeDataBase animeData, AutoCompleteStringCollection placeList)
            : this(placeList)
        {
            this.animeData = new AnimeDataBase(animeData);

            // データのセット
            TitleTextBox.Text = animeData.Title;
            PlaceComboBox.Text = animeData.Place;
            BroadcastStartDayPicker.Value = animeData.BroadcastStartDay;
            for (int i = 0; i < BroadcastDayOfWeekComboBox.Items.Count; i++)
            {
                if (animeData.BroadcastDayOfWeek == BroadcastDayOfWeekComboBox.Items[i].ToString())
                {
                    BroadcastDayOfWeekComboBox.SelectedIndex = i;
                    break;
                }
            }

            // コントロールの無効化
            TitleTextBox.Enabled = false;
        }
예제 #5
0
        // OKボタンを押したときに発生するイベントメソッド
        private void OKButton_Click(object sender, EventArgs e)
        {
            // 値のチェック
            if (TitleTextBox.Text == "")
            {
                MessageBox.Show("タイトルが未入力です");
                return;
            }
            if (!(BroadcastDayOfWeekComboBox.SelectedIndex != -1))
            {
                MessageBox.Show("放送曜日が選択されていません");
                return;
            }

            // 有効化状態で追加か編集かを判定  有効 = 追加
            if (TitleTextBox.Enabled)
            {
                AnimeDataBase animeData = new AnimeDataBase(0, TitleTextBox.Text, PlaceComboBox.Text, "", BroadcastDayOfWeekComboBox.Text, BroadcastStartDayPicker.Value, DateTime.Now);

                // データの追加
                if (((MainForm)this.Owner).AddAnimeData(animeData))
                {
                    MessageBox.Show("データを追加しました!");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("データの追加に失敗しました");
                    return;
                }
            }
            else
            {
                animeData.Place = PlaceComboBox.Text;
                animeData.BroadcastDayOfWeek = BroadcastDayOfWeekComboBox.Text;
                animeData.BroadcastStartDay = BroadcastStartDayPicker.Value;

                // データの追加
                if (((MainForm)this.Owner).EditAnimeData(animeData))
                {
                    MessageBox.Show("データを更新しました!");
                    this.Close();
                }
                else
                {
                    MessageBox.Show("データの更新に失敗しました");
                    return;
                }
            }
        }
예제 #6
0
        /// <summary>
        /// データベースのアニメデータを編集するメソッド
        /// </summary>
        /// 
        /// <returns></returns>
        public bool EditAnimeData(AnimeDataBase animeData)
        {
            try
            {
                int targetIndex = 0;

                // タイトルからデータの位置を検索
                for (int i = 0; i < animeDataBase.Count; i++)
                {
                    if (animeDataBase[i].Title == animeData.Title)
                    {
                        targetIndex = i;
                        break;
                    }
                }

                // データの修正
                animeDataBase[targetIndex].Count = animeData.Count;
                animeDataBase[targetIndex].Title = animeData.Title;
                animeDataBase[targetIndex].Place = animeData.Place;
                animeDataBase[targetIndex].Info = animeData.Info;
                animeDataBase[targetIndex].BroadcastDayOfWeek = animeData.BroadcastDayOfWeek;
                animeDataBase[targetIndex].BroadcastStartDay = animeData.BroadcastStartDay;
                animeDataBase[targetIndex].LastWatchDay = animeData.LastWatchDay;
                DataBaseView.Refresh();
            }
            catch
            {
                return false;
            }

            return true;
        }