/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ private void btnAppend_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("登録しますか?") == DialogResult.Yes) { // 登録データのオブジェクトを作成 var entity = new Fare() { code = textRegCode.Text, year = Const.TARGET_YEAR, name = textRegName.Text, price_budget = Conversion.Parse(textRegPriceBudget.Text), price_actual = Conversion.Parse(textRegPriceActual.Text), note = textRegNote.Text, update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; // データ登録処理(既に同じコードが存在する場合は登録しない) using (var context = new CostAccountingEntities()) { var target = from t in context.Fare where t.code.Equals(entity.code) && t.year.Equals(entity.year) select t; if (target.Count() == 0) { context.Fare.Add(entity); context.SaveChanges(); Logger.Info(Message.INF003, new string[] { this.Text, Message.create(textRegCode, textRegName) }); Program.MessageBoxAfter("登録しました。"); Form_Prepare_FareReg_Load(sender, e); } else { Program.MessageBoxError("既に同じコードの設備が登録されています。"); } } } }
/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ private void btnAppend_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("登録しますか?") == DialogResult.Yes) { // 登録データのオブジェクトを作成 var entity = new ProductCode() { code = textRegCode.Text, year = Const.TARGET_YEAR, name = textRegName.Text, unit = textRegUnit.Text, kbn = getProductKbn(groupKbn1), note = textRegNote.Text, update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; // データ登録処理(既に同じコードが存在する場合は登録しない) using (var context = new CostAccountingEntities()) { var target = from t in context.ProductCode where t.code.Equals(entity.code) && t.year.Equals(entity.year) select t; if (target.Count() == 0) { context.ProductCode.Add(entity); context.SaveChanges(); Logger.Info(Message.INF003, new string[] { this.Text, Message.create(textRegCode, textRegName) }); Program.MessageBoxAfter("登録し、再検索を行いました。"); btnSearch_Click(sender, e); } else { Program.MessageBoxError("既に同じコードの商品が登録されています。"); } } } }
/************************************************************* * CSVファイル登録ボタン押下時の処理 *************************************************************/ private void btnFileReg_Click(object sender, EventArgs e) { if (string.IsNullOrEmpty(labelFilePath.Text)) { Program.MessageBoxError("CSVファイルを選択してください。"); return; } string productKbn = getProductKbn(groupKbn2); if (string.IsNullOrEmpty(productKbn)) { Program.MessageBoxError("商品区分を選択してください。"); return; } if (Program.MessageBoxBefore(productKbn + "として登録しますか?" + Environment.NewLine + "※現在登録されている" + productKbn + "データは削除されます※") == DialogResult.Yes) { using (var context = new CostAccountingEntities()) { // データ削除処理 var target = from t in context.ProductCode where t.year.Equals(Const.TARGET_YEAR) && t.kbn.Equals(productKbn) select t; context.ProductCode.RemoveRange(target); // データ登録処理 foreach (ListViewItem items in listView.Items) { // 登録データのオブジェクトを作成 var entity = new ProductCode() { code = items.SubItems[0].Text, year = Const.TARGET_YEAR, name = items.SubItems[1].Text, unit = items.SubItems[2].Text, kbn = productKbn, note = string.Empty, update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; context.ProductCode.Add(entity); } context.SaveChanges(); } Logger.Info(Message.INF003, new string[] { this.Text, Message.create(labelFilePath, recordCnt) + productKbn }); Program.MessageBoxAfter("登録し、再検索を行いました。"); btnSearch_Click(sender, e); } }
/************************************************************* * 削除ボタン押下時の処理 *************************************************************/ private void btnDelete_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("削除しますか?") == DialogResult.Yes) { using (var context = new CostAccountingEntities()) { var target = from t in context.ProductCode where t.year.Equals(Const.TARGET_YEAR) && t.code.Equals(textRegCode.Text) select t; if (target.Count() > 0) { //target.First().del_flg = Const.FLG_ON; context.ProductCode.Remove(target.First()); } context.SaveChanges(); } Logger.Info(Message.INF005, new string[] { this.Text, Message.create(textRegCode, textRegName) }); Program.MessageBoxAfter("削除し、再検索を行いました。"); btnSearch_Click(sender, e); } }
/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ private void btnAppend_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("登録しますか?") != DialogResult.Yes) return; // データ登録処理(削除→登録を行う) using (var context = new CostAccountingEntities()) { // データ削除 var target = from t in context.Other where t.year.Equals(Const.TARGET_YEAR) select t; context.Other.RemoveRange(target); // データ登録 var plan = new Other() { year = Const.TARGET_YEAR, category = (int)Const.CATEGORY_TYPE.Budget, wage_m = Conversion.Parse(wageM_plan.Text), wage_f = Conversion.Parse(wageF_plan.Text), wage_indirect = Conversion.Parse(wageIndirect_plan.Text), utilities_fd = Conversion.Parse(utilitiesFD_plan.Text), utilities_ad = Conversion.Parse(utilitiesAD_plan.Text), allocation_fd = Conversion.Parse(allocationFD_plan.Text), allocation_ad = Conversion.Parse(allocationAD_plan.Text), allocation_labor = Conversion.Parse(allocationLabor_plan.Text), allocation_sale = Conversion.Parse(allocationSale_plan.Text), allocation_mng = Conversion.Parse(allocationMng_plan.Text), allocation_ext = Conversion.Parse(allocationExt_plan.Text), rate_expend = Conversion.Parse(rateExpend_plan.Text), rate_loss = Conversion.Parse(rateLoss_plan.Text), tray_num = Conversion.Parse(trayNum_plan.Text), update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; var actual = new Other() { year = Const.TARGET_YEAR, category = (int)Const.CATEGORY_TYPE.Actual, wage_m = Conversion.Parse(wageM_actual.Text), wage_f = Conversion.Parse(wageF_actual.Text), wage_indirect = Conversion.Parse(wageIndirect_actual.Text), utilities_fd = Conversion.Parse(utilitiesFD_actual.Text), utilities_ad = Conversion.Parse(utilitiesAD_actual.Text), allocation_fd = Conversion.Parse(allocationFD_actual.Text), allocation_ad = Conversion.Parse(allocationAD_actual.Text), allocation_labor = Conversion.Parse(allocationLabor_actual.Text), allocation_sale = Conversion.Parse(allocationSale_actual.Text), allocation_mng = Conversion.Parse(allocationMng_actual.Text), allocation_ext = Conversion.Parse(allocationExt_actual.Text), rate_expend = Conversion.Parse(rateExpend_actual.Text), rate_loss = Conversion.Parse(rateLoss_actual.Text), tray_num = Conversion.Parse(trayNum_actual.Text), update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; context.Other.Add(plan); context.Other.Add(actual); context.SaveChanges(); } Logger.Info(Message.INF003, new string[] { this.Text, "-" }); Program.MessageBoxAfter("登録しました。"); }
/************************************************************* * フォーム終了時の処理 *************************************************************/ private void Form_Common_SelectYear_FormClosing(object sender, FormClosingEventArgs e) { // DBファイルのバキューム処理 string dbPath = System.Configuration.ConfigurationManager.AppSettings["dbPath"]; using (SQLiteConnection connection = new SQLiteConnection("Data Source=" + dbPath)) { connection.Open(); using (SQLiteCommand command = new SQLiteCommand(connection)) { command.CommandText = "vacuum;"; command.ExecuteNonQuery(); } } // DBサイズの記録 string today = DateTime.Now.ToString("yyyyMMdd"); using (var context = new CostAccountingEntities()) { var target = from t in context.DbSize where t.ymd.Equals(today) select t; if (target.Count() == decimal.Zero) { // 登録データのオブジェクトを作成 DateTime dt = DateTime.Now; var entity = new DbSize() { ymd = today, size = new FileInfo(dbPath).Length / 1024, // KB単位でDBファイルのサイズを記録 update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now }; // データ登録 context.DbSize.Add(entity); } else { target.First().size = new FileInfo(dbPath).Length / 1024; // KB単位でDBファイルのサイズを記録 target.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); target.First().update_date = DateTime.Now; } context.SaveChanges(); } // DBファイルのバックアップ string bkDir = new FileInfo(dbPath).DirectoryName + @"\" + "backup"; if (!Directory.Exists(bkDir)) Directory.CreateDirectory(bkDir); FileInfo dbFile = new FileInfo(dbPath); string bkFile = bkDir + @"\" + dbFile.Name + "." + today; dbFile.CopyTo(bkFile, true); // 一定期間を過ぎたDBのバックアップファイルを削除する foreach (string file in Directory.GetFiles(bkDir)) { FileInfo target = new FileInfo(file); string ymd = target.Extension.TrimStart('.'); today = Regex.Replace(today, @"(\d{4})(\d{2})(\d{2})", @"$1/$2/$3"); ymd = Regex.Replace(ymd, @"(\d{4})(\d{2})(\d{2})", @"$1/$2/$3"); TimeSpan span = DateTime.Parse(today) - DateTime.Parse(ymd); if (span.Days > Conversion.Parse(Properties.Resources.bkfileStoragePeriod)) target.Delete(); } Logger.Info(Message.INF002); }
/************************************************************* * 初期データ登録ボタン押下時の処理 *************************************************************/ private void btnDefaultDataReg_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("初期データを登録しますか?" + Environment.NewLine + "※現在登録されているデータは削除されます※") == DialogResult.Yes) { using (var context = new CostAccountingEntities()) { // データ削除処理 var target = from t in context.Item where t.year.Equals(Const.TARGET_YEAR) select t; context.Item.RemoveRange(target); string itemData = Properties.Resources.defaultItemData; string[] items = itemData.Split(','); // データ登録処理 foreach (string item in items) { string[] data = item.Split('#'); var entity = new Item() { code = data[0], year = Const.TARGET_YEAR, name = data[1], note = string.Empty, update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; context.Item.Add(entity); } context.SaveChanges(); } Program.MessageBoxAfter("登録しました。"); Form_Prepare_ItemReg_Load(sender, e); } }
/************************************************************* * 修正ボタン押下時の処理 *************************************************************/ private void btnChange_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("更新しますか?") == DialogResult.Yes) { using (var context = new CostAccountingEntities()) { var target = from t in context.Machine where t.year.Equals(Const.TARGET_YEAR) && t.code.Equals(textRegCode.Text) select t; if (target.Count() > 0) { target.First().code = textRegCode.Text; target.First().name = textRegName.Text; target.First().rate_budget = Conversion.Parse(textRegRateBudget.Text); target.First().rate_actual = Conversion.Parse(textRegRateActual.Text); target.First().note = textRegNote.Text; target.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); target.First().update_date = DateTime.Now; } context.SaveChanges(); } Logger.Info(Message.INF004, new string[] { this.Text, Message.create(textRegCode, textRegName) }); Program.MessageBoxAfter("更新しました。"); Form_Prepare_MachineReg_Load(sender, e); } }
/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ private void btnAppend_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("登録しますか?") != DialogResult.Yes) return; using (var context = new CostAccountingEntities()) { foreach (int month in monthPairText.Keys) { var target = from t in context.CostMngTotal where t.year.Equals(Const.TARGET_YEAR) && t.month.Equals(month) && t.category.Equals((int)category) && t.del_flg.Equals(Const.FLG_OFF) select t; if (target.Count() == decimal.Zero) { // 登録処理 var entity = new CostMngTotal() { year = Const.TARGET_YEAR, month = month, category = (int)category, manufacturing_personnel = Conversion.Parse(monthPairText[month][0].Text), manufacturing_depreciation = Conversion.Parse(monthPairText[month][1].Text), manufacturing_rent = Conversion.Parse(monthPairText[month][2].Text), manufacturing_repair = Conversion.Parse(monthPairText[month][3].Text), manufacturing_stock = Conversion.Parse(monthPairText[month][4].Text), manufacturing_other = Conversion.Parse(monthPairText[month][5].Text), selling_personnel = Conversion.Parse(monthPairText[month][6].Text), selling_depreciation = Conversion.Parse(monthPairText[month][7].Text), selling_other = Conversion.Parse(monthPairText[month][8].Text), operating_expenses = Conversion.Parse(monthPairText[month][9].Text), update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; context.CostMngTotal.Add(entity); } else { // 修正処理 target.First().manufacturing_personnel = Conversion.Parse(monthPairText[month][0].Text); target.First().manufacturing_depreciation = Conversion.Parse(monthPairText[month][1].Text); target.First().manufacturing_rent = Conversion.Parse(monthPairText[month][2].Text); target.First().manufacturing_repair = Conversion.Parse(monthPairText[month][3].Text); target.First().manufacturing_stock = Conversion.Parse(monthPairText[month][4].Text); target.First().manufacturing_other = Conversion.Parse(monthPairText[month][5].Text); target.First().selling_personnel = Conversion.Parse(monthPairText[month][6].Text); target.First().selling_depreciation = Conversion.Parse(monthPairText[month][7].Text); target.First().selling_other = Conversion.Parse(monthPairText[month][8].Text); target.First().operating_expenses = Conversion.Parse(monthPairText[month][9].Text); target.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); target.First().update_date = DateTime.Now; } } context.SaveChanges(); } Logger.Info(Message.INF003, new string[] { this.Text, "-" }); Program.MessageBoxAfter("登録しました。"); }
/************************************************************* * 再計算ボタン押下時の処理 *************************************************************/ private void btnAllCalc_Click(object sender, EventArgs e) { string radioText = radioBudget.Checked ? "【予定】" : "【実績】"; if (Program.MessageBoxBefore(radioText + "の全商品の再計算を行いますか?" + Environment.NewLine + "※商品の数におうじて時間がかかります。") != DialogResult.Yes) { return; } using (var context = new CostAccountingEntities()) { int category = (int)Program.judgeCategory(radioBudget, radioActual); // 商品データの検索 var target = from t in context.ProductSupplier where t.year.Equals(Const.TARGET_YEAR) && t.category.Equals((int)category) && t.type.Equals((int)Const.PRODUCT_TYPE.Normal) orderby t.product_code, t.supplier_code select t; var dataList = target.ToList(); HashSet<string> already = new HashSet<string>(); // プログレスバーの初期値を設定 progressBar.Minimum = 0; progressBar.Maximum = dataList.Count; progressBar.Value = 0; progressBar.Step = 1; for (int i = 0; i < dataList.Count; i++) { productCode.Text = dataList[i].product_code; suppllierCode.Text = dataList[i].supplier_code; // データを設定の上、再計算 setProductData(); setSupplierData(); calcAll(); // 再計算結果をDBに反映する。 if (!already.Contains(productCode.Text)) { // 商品は未計算のデータのみ反映対象とする executeDelete(context, true); executeAppend(context); already.Add(productCode.Text); } executeChangeSupplier(context); // プログレスバーの値を更新 labelStatus.Refresh(); labelStatus.Text = string.Format("・・・ ( {0} / {1} )" , (i + 1).ToString("#,0") , progressBar.Maximum.ToString("#,0")); progressBar.PerformStep(); } context.SaveChanges(); Logger.Info(Message.INF007, new string[] { this.Text, Message.create(labelStatus) + radioText }); Program.MessageBoxAfter("再計算しました。"); // データクリア productCode.Text = string.Empty; suppllierCode.Text = string.Empty; itemCode.SelectedIndex = 0; packing.Text = string.Empty; volume.Text = string.Empty; trayNum.Text = string.Empty; unitPrice.Text = string.Empty; updateTime.Text = string.Empty; updatePC.Text = string.Empty; note.Text = string.Empty; preprocessTimeM.Text = string.Empty; preprocessTimeF.Text = string.Empty; nightTimeM_indirect.Text = string.Empty; nightTimeF.Text = string.Empty; dryTimeM.Text = string.Empty; dryTimeF.Text = string.Empty; selectionTimeM.Text = string.Empty; selectionTimeF.Text = string.Empty; dgvMaterialCost.Rows.Clear(); dgvContractors.Rows.Clear(); dgvMaterialsFare.Rows.Clear(); dgvPacking.Rows.Clear(); dgvMachine.Rows.Clear(); initDgvMachineRow(); dgvPackingFare.Rows.Clear(); calcAll(); } }
/************************************************************* * 削除ボタン押下時の処理 *************************************************************/ private void btnDelete_Click(object sender, EventArgs e) { string radioText = radioBudget.Checked ? "【予定】" : "【実績】"; if (Program.MessageBoxBefore(radioText + "情報を削除しますか?") != DialogResult.Yes) { return; } // 削除処理を行う using (var context = new CostAccountingEntities()) { executeDelete(context, false); executeDeleteSupplier(context); context.SaveChanges(); } setProductData(); setSupplierData(); setOperationKbn(); Logger.Info(Message.INF005, new string[] { this.Text, Message.create(productCode, suppllierCode) + radioText }); Program.MessageBoxAfter("削除しました。"); }
/************************************************************* * 修正ボタン押下時の処理 *************************************************************/ private void btnChange_Click(object sender, EventArgs e) { string radioText = radioBudget.Checked ? "【予定】" : "【実績】"; if (Program.MessageBoxBefore(radioText + "情報を修正しますか?") != DialogResult.Yes) { return; } // 念のため各種計算を行う calcAll(); // 入力チェックを行う if (!checkInputData()) { return; } // 削除→登録を行うことで、修正とする using (var context = new CostAccountingEntities()) { executeDelete(context, true); executeAppend(context); executeChangeSupplier(context); context.SaveChanges(); } setSupplierData(); setOperationKbn(); // 念のため各種計算を行う calcAll(); Logger.Info(Message.INF004, new string[] { this.Text, Message.create(productCode, suppllierCode) + radioText }); Program.MessageBoxAfter("修正しました。"); }
/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ private void btnAppend_Click(object sender, EventArgs e) { string radioText = radioBudget.Checked ? "【予定】" : "【実績】"; string msg = radioText + "情報を登録しますか?"; msg = radioBudget.Checked ? string.Concat(msg, Environment.NewLine, "※実績情報にもコピーします。") : msg; if (Program.MessageBoxBefore(msg) != DialogResult.Yes) { return; } // 念のため各種計算を行う calcAll(); // 入力チェックを行う if (!checkInputData()) { return; } // 登録処理を行う using (var context = new CostAccountingEntities()) { executeDelete(context, true); executeAppend(context); executeAppendSupplier(context); // 予定の場合は実績も同データで登録する if (radioBudget.Checked) { radioActual.CheckedChanged -= new EventHandler(radio_CheckedChanged); radioBudget.CheckedChanged -= new EventHandler(radio_CheckedChanged); radioActual.Checked = true; executeDelete(context, true); executeAppend(context); executeDeleteSupplier(context); executeAppendSupplier(context); radioBudget.Checked = true; radioActual.CheckedChanged += new EventHandler(radio_CheckedChanged); radioBudget.CheckedChanged += new EventHandler(radio_CheckedChanged); } context.SaveChanges(); } setSupplierData(); setOperationKbn(); // 念のため各種計算を行う calcAll(); Logger.Info(Message.INF003, new string[] { this.Text, Message.create(productCode, suppllierCode) + radioText }); Program.MessageBoxAfter("登録しました。"); }
/************************************************************* * 決定ボタン押下時の処理 *************************************************************/ private void btnEnter_Click(object sender, EventArgs e) { // 入力チェック srcYear.BackColor = Color.White; if (String.IsNullOrEmpty(srcYear.Text)) { srcYear.BackColor = Color.Red; Program.MessageBoxError("コピー元年度を入力してください。"); return; } if (!(Validation.IsNumeric(srcYear.Text) && srcYear.Text.Length == 4)) { srcYear.BackColor = Color.Red; Program.MessageBoxError("コピー元年度は数値4桁で入力してください。"); return; } if (srcYear.Text.Equals(Const.TARGET_YEAR.ToString())) { srcYear.BackColor = Color.Red; Program.MessageBoxError(Const.TARGET_YEAR + "以外の年度を入力してください。"); return; } if (Program.MessageBoxBefore( string.Concat(srcYear.Text + "年度の実績データを" + Const.TARGET_YEAR + "年度の予定と実績データにコピーしますか?" , Environment.NewLine , "※現在登録されている" + Const.TARGET_YEAR + "年度のデータは削除されます")) == DialogResult.Yes) { if (Program.MessageBoxBefore("本当に実行してよろしいですか?") == DialogResult.Yes) { // 今年度のデータを削除の上、コピー元年度のデータを今年度にコピー using (var context = new CostAccountingEntities()) { string deleteLog = allDelete(context); string appendLog = allAppend(context); context.SaveChanges(); Logger.Info(Message.INF003, new string[] { this.Text, Message.create(srcYear) + "削除件数{" + deleteLog + " } 登録件数{" + appendLog + "}" }); } Program.MessageBoxAfter("データコピーが完了しました。"); } } }
/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ protected void btnAppend_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("登録しますか?") != DialogResult.Yes) { return; } // 入力チェックを行う if (!checkInputData()) { return; } // 登録処理を行う using (var context = new CostAccountingEntities()) { //----------------------------------------- 商品と取引先ごとの各月の入力内容を登録 foreach (DataGridViewRow row in dataGridView.Rows) { string productCode = (string)row.Cells["product_code"].Value; string supplierCode = (string)row.Cells["supplier_code"].Value; int type = (int)row.Cells["type"].Value; var target = from t in context.ProductSupplier where t.year.Equals(Const.TARGET_YEAR) && t.product_code.Equals(productCode) && t.supplier_code.Equals(supplierCode) && t.category.Equals((int)category) && t.type.Equals(type) select t; if (target.Count() > 0) { target.First().month_04 = Conversion.Parse((string)row.Cells[16].Value); target.First().month_05 = Conversion.Parse((string)row.Cells[17].Value); target.First().month_06 = Conversion.Parse((string)row.Cells[18].Value); target.First().month_07 = Conversion.Parse((string)row.Cells[19].Value); target.First().month_08 = Conversion.Parse((string)row.Cells[20].Value); target.First().month_09 = Conversion.Parse((string)row.Cells[21].Value); target.First().month_10 = Conversion.Parse((string)row.Cells[22].Value); target.First().month_11 = Conversion.Parse((string)row.Cells[23].Value); target.First().month_12 = Conversion.Parse((string)row.Cells[24].Value); target.First().month_01 = Conversion.Parse((string)row.Cells[25].Value); target.First().month_02 = Conversion.Parse((string)row.Cells[26].Value); target.First().month_03 = Conversion.Parse((string)row.Cells[27].Value); target.First().num01 = Conversion.Parse((string)row.Cells["num01"].Value); target.First().num02 = Conversion.Parse((string)row.Cells["num02"].Value); target.First().num03 = Conversion.Parse((string)row.Cells["num03"].Value); target.First().num04 = Conversion.Parse((string)row.Cells["num04"].Value); target.First().num05 = Conversion.Parse((string)row.Cells["num05"].Value); target.First().num06 = Conversion.Parse((string)row.Cells["num06"].Value); target.First().num07 = Conversion.Parse((string)row.Cells["num07"].Value); target.First().num08 = Conversion.Parse((string)row.Cells["num08"].Value); target.First().num09 = Conversion.Parse((string)row.Cells["num09"].Value); target.First().num10 = Conversion.Parse((string)row.Cells["num10"].Value); target.First().num11 = Conversion.Parse((string)row.Cells["num11"].Value); target.First().num12 = Conversion.Parse((string)row.Cells["num12"].Value); // 商品登録時の登録ユーザと更新日時を維持するため、ここでは更新対象外とする // target.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); // target.First().update_date = DateTime.Now; } } //----------------------------------------- 実績登録の場合は、乖離幅測定データも登録 if (Const.CATEGORY_TYPE.Actual.Equals(category)) { Dictionary<CheckBox, bool> prevState = new Dictionary<CheckBox, bool>(); foreach (CheckBox target in checkBoxMonthDic.Keys) prevState.Add(target, target.Checked); foreach (CheckBox target in checkBoxMonthDic.Keys) { target.Checked = true; foreach (CheckBox other in checkBoxMonthDic.Keys) { if (!target.Equals(other)) other.Checked = false; } int month = checkBoxMonthDic[target]; var divergence = from t in context.Divergence where t.year.Equals(Const.TARGET_YEAR) && t.month.Equals(month) && t.del_flg.Equals(Const.FLG_OFF) select t; if (divergence.Count() == 0) { // 登録処理 var entity = new Divergence() { year = Const.TARGET_YEAR, month = month, materialCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[29].Value), laborCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[30].Value), contractorsCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[31].Value), materialsFare_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[32].Value), packingCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[33].Value), utilitiesCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[34].Value), otherCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[35].Value), packingFare_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[36].Value), update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; context.Divergence.Add(entity); } else { // 更新処理 divergence.First().materialCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[29].Value); divergence.First().laborCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[30].Value); divergence.First().contractorsCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[31].Value); divergence.First().materialsFare_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[32].Value); divergence.First().packingCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[33].Value); divergence.First().utilitiesCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[34].Value); divergence.First().otherCost_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[35].Value); divergence.First().packingFare_costing = Conversion.Parse((string)dataGridViewTotal.Rows[0].Cells[36].Value); divergence.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); divergence.First().update_date = DateTime.Now; } } foreach (CheckBox target in checkBoxMonthDic.Keys) target.Checked = prevState[target]; } context.SaveChanges(); } Program.MessageBoxAfter("登録しました。"); }
/************************************************************* * 修正ボタン押下時の処理 *************************************************************/ private void btnChange_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("更新しますか?") == DialogResult.Yes) { using (var context = new CostAccountingEntities()) { var target = from t in context.ProductCode where t.year.Equals(Const.TARGET_YEAR) && t.code.Equals(textRegCode.Text) select t; if (target.Count() > 0) { target.First().code = textRegCode.Text; target.First().name = textRegName.Text; target.First().unit = textRegUnit.Text; target.First().kbn = getProductKbn(groupKbn1); target.First().note = textRegNote.Text; target.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); target.First().update_date = DateTime.Now; } context.SaveChanges(); } Logger.Info(Message.INF004, new string[] { this.Text, Message.create(textRegCode, textRegName) }); Program.MessageBoxAfter("更新し、再検索を行いました。"); btnSearch_Click(sender, e); } }
/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ private void btnAppend_Click(object sender, EventArgs e) { if (Program.MessageBoxBefore("登録しますか?") != DialogResult.Yes) return; // データ登録処理(削除→登録をおこなう) using (var context = new CostAccountingEntities()) { foreach (int month in monthPairText.Keys) { var target = from t in context.Divergence where t.year.Equals(Const.TARGET_YEAR) && t.month.Equals(month) && t.del_flg.Equals(Const.FLG_OFF) select t; if (target.Count() == decimal.Zero) { // 登録処理 var entity = new Divergence() { year = Const.TARGET_YEAR, month = month, materialCost = Conversion.Parse(monthPairText[month][0].Text), laborCost = Conversion.Parse(monthPairText[month][1].Text), contractorsCost = Conversion.Parse(monthPairText[month][2].Text), materialsFare = Conversion.Parse(monthPairText[month][3].Text), packingCost = Conversion.Parse(monthPairText[month][4].Text), utilitiesCost = Conversion.Parse(monthPairText[month][5].Text), otherCost = Conversion.Parse(monthPairText[month][6].Text), packingFare = Conversion.Parse(monthPairText[month][7].Text), update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName), update_date = DateTime.Now, del_flg = Const.FLG_OFF }; context.Divergence.Add(entity); } else { // 修正処理 target.First().materialCost = Conversion.Parse(monthPairText[month][0].Text); target.First().laborCost = Conversion.Parse(monthPairText[month][1].Text); target.First().contractorsCost = Conversion.Parse(monthPairText[month][2].Text); target.First().materialsFare = Conversion.Parse(monthPairText[month][3].Text); target.First().packingCost = Conversion.Parse(monthPairText[month][4].Text); target.First().utilitiesCost = Conversion.Parse(monthPairText[month][5].Text); target.First().otherCost = Conversion.Parse(monthPairText[month][6].Text); target.First().packingFare = Conversion.Parse(monthPairText[month][7].Text); target.First().update_user = string.Concat(SystemInformation.ComputerName, "/", SystemInformation.UserName); target.First().update_date = DateTime.Now; } } context.SaveChanges(); } Logger.Info(Message.INF003, new string[] { this.Text, "-" }); Program.MessageBoxAfter("登録しました。"); }