/// <summary> /// 一覧クリックイベント /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void dataGridView1_CellContentClick(object sender, DataGridViewCellEventArgs e) { int no = (int)dataGridView1.CurrentRow.Cells[colNo.Name].Value; var shiwake = Static.ShiwakeDs.Shiwake.Where(x => x.No == no).First(); if (dataGridView1.Columns[e.ColumnIndex].Name == colUpd.Name) { // 修正 txtNo.Text = shiwake.No.ToString(); // 連番 cmbKmk_Kr.SelectedItem = shiwake.KrKmkName; // 科目名(借方) cmbHKmk_Kr.Text = shiwake.KrHKmkName; // 補助科目名(借方) cmbKmk_Ks.SelectedItem = shiwake.KsKmkName; // 科目名(貸方) cmbHKmk_Ks.Text = shiwake.KsHKmkName; // 補助科目名(貸方) txtHi.Text = shiwake.CustomDate; // 取引日 txtKin.Text = shiwake.Kingaku.ToString(); // 金額 txtTekiyo.Text = shiwake.Tekiyo; // 摘要 btnRepair.Enabled = true; cmbKmk_Kr.Focus(); } else if (dataGridView1.Columns[e.ColumnIndex].Name == colDel.Name) { // 削除 shiwake.Delete(); // XML 保存 Static.SaveShiwakeXML(); } }
/// <summary> /// 追加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRegist_Click(object sender, EventArgs e) { // 入力チェック if (!IsAdd()) { return; } // 常に最大を足す int no = Static.GetShiwakeNo(); var shiwake = Static.ShiwakeDs.Shiwake.NewShiwakeRow(); shiwake.No = no; shiwake.KmkKbn = KmkKbn.経費.ToString(); SetRow(shiwake); Static.ShiwakeDs.Shiwake.AddShiwakeRow(shiwake); // 日付と、金額だけ、クリアする txtHi.Text = ""; // txtKin.Text = ""; // XML 保存 Static.SaveShiwakeXML(); btnRepair.Enabled = false; cmbHKmk_Kr.Focus(); }
/// <summary> /// 追加 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRegist_Click(object sender, EventArgs e) { // 入力チェック if (!IsAdd()) { return; } // 常に最大を足す int no = Static.ShiwakeDs.Shiwake.Count() == 0 ? 1 : Static.ShiwakeDs.Shiwake.Max(x => x.No) + 1; var shiwake = Static.ShiwakeDs.Shiwake.NewShiwakeRow(); shiwake.No = no; shiwake.KmkKbn = KmkKbn.資産.ToString(); SetRow(shiwake); Static.ShiwakeDs.Shiwake.AddShiwakeRow(shiwake); // 日付と、金額だけ、クリアする txtHi.Text = ""; // XML 保存 Static.SaveShiwakeXML(); btnRepair.Enabled = false; txtHi.Focus(); }
/// <summary> /// 修正 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnRepair_Click(object sender, EventArgs e) { // 入力チェック if (!IsAdd()) { return; } var shiwake = Static.ShiwakeDs.Shiwake.Where(x => x.No == int.Parse(txtNo.Text)).FirstOrDefault(); SetRow(shiwake); // XML 保存 Static.SaveShiwakeXML(); btnRepair.Enabled = false; txtNo.Text = ""; txtHi.Text = ""; }
/// <summary> /// CSV出力する /// </summary> /// <param name="isYayoi">弥生か?</param> private void OutputCSV(ClickType clickType) { if (IsOutput() == false) { return; } var date = new DateTime(Static.Nendo, 1, 1); var sb = new System.Text.StringBuilder(); if (rdoHoliday.Checked) { while (Static.Nendo == date.Year) { // 土曜日、日曜日、祝日を出力 int week = (int)date.DayOfWeek; if (!Static.HolidayList.Any(x => x.Date == date) && !(week == 0 || week == 6)) { date = date.AddDays(1); continue; } if (clickType == ClickType.YayoiCsv) { // 弥生で取込めるフォーマット sb.AppendLine(CreateYayoiCSV(date)); } else if (clickType == ClickType.Csv) { // 日付,科目,補助科目,金額,摘要 sb.AppendLine(CreateCSV(date)); } else { // 経費を足す AddShiwake(date); } date = date.AddDays(1); } } else if (rdoYobi.Checked) { bool isChecked = false; foreach (Control ctl in grpYobi.Controls) { if (ctl is CheckBox) { if ((ctl as CheckBox).Checked) { isChecked = true; break; } } } if (!isChecked) { MessageBox.Show("曜日が1つも指定されていません。曜日を指定してください。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } while (Static.Nendo == date.Year) { if ((chkYobiNichi.Checked && date.DayOfWeek == DayOfWeek.Sunday) || (chkYobiGetsu.Checked && date.DayOfWeek == DayOfWeek.Monday) || (chkYobiKa.Checked && date.DayOfWeek == DayOfWeek.Tuesday) || (chkYobiSui.Checked && date.DayOfWeek == DayOfWeek.Wednesday) || (chkYobiMoku.Checked && date.DayOfWeek == DayOfWeek.Thursday) || (chkYobiKin.Checked && date.DayOfWeek == DayOfWeek.Friday) || ((chkYobiDo.Checked && date.DayOfWeek == DayOfWeek.Saturday))) { if (clickType == ClickType.YayoiCsv) { // 弥生で取込めるフォーマット sb.AppendLine(CreateYayoiCSV(date)); } else if (clickType == ClickType.Csv) { // 日付,科目,補助科目,金額,摘要 sb.AppendLine(CreateCSV(date)); } else { // 経費を足す AddShiwake(date); } } date = date.AddDays(1); } } else if (rdoTsuki.Checked) { bool isChecked = false; foreach (Control ctl in grpTsuki.Controls) { if (ctl is CheckBox) { if ((ctl as CheckBox).Checked) { isChecked = true; break; } } } if (!isChecked) { MessageBox.Show("月が1つも指定されていません。月を指定してください。", "エラー", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } while (Static.Nendo == date.Year) { // 土曜日、日曜日、祝日は読み飛ばし if (Static.HolidayList.Any(x => x.Date == date)) { date = date.AddDays(1); continue; } // 土日も外す int week = (int)date.DayOfWeek; if (week == 0 || week == 6) { date = date.AddDays(1); continue; } if ((chkTsuki01.Checked && date.Month == 1) || (chkTsuki02.Checked && date.Month == 2) || (chkTsuki03.Checked && date.Month == 3) || (chkTsuki04.Checked && date.Month == 4) || (chkTsuki05.Checked && date.Month == 5) || (chkTsuki06.Checked && date.Month == 6) || (chkTsuki07.Checked && date.Month == 7) || (chkTsuki08.Checked && date.Month == 8) || (chkTsuki09.Checked && date.Month == 9) || (chkTsuki10.Checked && date.Month == 10) || (chkTsuki11.Checked && date.Month == 11) || (chkTsuki12.Checked && date.Month == 12)) { if (clickType == ClickType.YayoiCsv) { // 弥生で取込めるフォーマット sb.AppendLine(CreateYayoiCSV(date)); } else if (clickType == ClickType.Csv) { // 日付,科目,補助科目,金額,摘要 sb.AppendLine(CreateCSV(date)); } else { // 経費を足す AddShiwake(date); } } date = date.AddDays(1); } } else { while (Static.Nendo == date.Year) { if (rdoNormal.Checked) { // 休日は除外 if (Static.HolidayList.Any(x => x.Date == date)) { date = date.AddDays(1); continue; } // 土日も外す int week = (int)date.DayOfWeek; if (week == 0 || week == 6) { date = date.AddDays(1); continue; } } if (clickType == ClickType.YayoiCsv) { // 弥生で取込めるフォーマット sb.AppendLine(CreateYayoiCSV(date)); } else if (clickType == ClickType.Csv) { // 日付,科目,補助科目,金額,摘要 sb.AppendLine(CreateCSV(date)); } else { // 経費を足す AddShiwake(date); } date = date.AddDays(1); } } if (clickType != ClickType.Shiwake) { if (IsSaveFile(sb.ToString(), clickType == ClickType.YayoiCsv) == true) { MessageBox.Show("CSV出力しました。", "保存", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("経費に追加しました。", "保存", MessageBoxButtons.OK, MessageBoxIcon.Information); Static.SaveShiwakeXML(); } }