/************************************************************* * 登録ボタン押下時の処理 *************************************************************/ 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 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("登録しました。"); }