/// <summary> /// 確定 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnReturn_Click(object sender, EventArgs e) { try { if (string.IsNullOrEmpty(txtTitle.Text)) { // 未入力確認 if (CommonUtil.PutMessage(CommonEnums.MessageType.Confirm, "ラベルタイトルが未入力です。そのまま登録しますか?") == DialogResult.No) { return; } } int id = 1; if (historyDt.Rows.Count > 0) { // IDは最大値+1 id = historyDt.AsEnumerable().Select(s => (int)s[HistoryColumns.Id]).Max() + 1; } var dr = historyDt.NewRow(); dr[HistoryColumns.Id] = id; dr[HistoryColumns.Label] = txtTitle.Text.Trim(); dr[HistoryColumns.OriginalText] = OriginalText; dr[HistoryColumns.ResultText] = ResultText; historyDt.Rows.Add(dr); Util.WriteXml(historyDt, historyPath); ProcessNameInfo.RegisterProessName(); Close(); } catch (Exception ex) { CommonUtil.PutMessage(CommonEnums.MessageType.Error, ex.Message); } }
/// <summary> /// 新規作成 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnCreate_Click(object sender, EventArgs e) { try { // 未入力 if (string.IsNullOrEmpty(txtLabel.Text)) { CommonUtil.PutMessage(CommonEnums.MessageType.Error, "タイトルを入力してください。"); return; } // 重複 if (TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].Rows.Count > 0) { if (TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].AsEnumerable() .Any(a => a[TitleColumns.Title].ToString() == txtLabel.Text)) { CommonUtil.PutMessage( CommonEnums.MessageType.Error, "入力したタイトルはすでに存在します。"); return; } } // 採番 var Ids = TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].AsEnumerable() .Select(s => (int)s[TitleColumns.Id]).ToArray(); var newId = CommonUtil.GetSerialNumber(Ids); // データ作成 var dr = TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].NewRow(); dr[TitleColumns.Id] = newId; dr[TitleColumns.Title] = txtLabel.Text; dr[TitleColumns.UseOcrEngine] = (int)cboUseOcrEngine.SelectedValue; dr[TitleColumns.ReadMultiples] = decimal.ToSingle(nudReadMultiples.Value); dr[TitleColumns.X] = 0; dr[TitleColumns.Y] = 0; dr[TitleColumns.Width] = 0; dr[TitleColumns.Height] = 0; dr[TitleColumns.TargetReturn] = false; dr[TitleColumns.IgnoreReturn] = false; TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].Rows.Add(dr); var sortedDt = TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].AsEnumerable() .OrderBy(o => o[TitleColumns.Title]).ToArray().CopyToDataTable(); TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].Clear(); foreach (DataRow row in sortedDt.Rows) { TranslateInfo.SettingDs.Tables[Util.TITLE_TABLE].ImportRow(row); } // 出力 if (ProcessNameInfo.DisconnectProcess) { // デスクトップ接続 Util.WriteXml(TranslateInfo.SettingDs, TranslateInfo.DesktopConfigFilePath); } else { // 対象プロセス Util.WriteXml(TranslateInfo.SettingDs, TranslateInfo.ConfigFilePath); ProcessNameInfo.RegisterProessName(); } SelectedId = newId; TranslateInfo.UseOcrEngine = (int)cboUseOcrEngine.SelectedValue; TranslateInfo.ReadMultiples = decimal.ToSingle(nudReadMultiples.Value); Result = LabelResult.Create; Close(); } catch (Exception ex) { CommonUtil.PutMessage(CommonEnums.MessageType.Error, ex.Message); } }