Esempio n. 1
0
        /// <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);
            }
        }
Esempio n. 2
0
        /// <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);
            }
        }