private ConfigEntity GetSaveData() { try { ConfigEntity entity = new ConfigEntity { IsDeleteComment = DeleteComment.Checked, GeneralIndentType = (IndentType)Enum.Parse(typeof(IndentType), GeneralIndentType.Text), TopReservedWordAfterIndent = (TopReservedWordIndentType)Enum.Parse(typeof(TopReservedWordIndentType), TopReservedWordAfterIndent.Text), OneEqualOneComplement = OneEqualOneCompletion.Checked, CommaIndentPattern = (IndentPattern)Enum.Parse(typeof(IndentPattern), LinebreaksWithComma.Text), AndOrIndentPattern = (IndentPattern)Enum.Parse(typeof(IndentPattern), AndOrIndentPattern.Text), OuterJoinComplement = (OuterJoinComplement)Enum.Parse(typeof(OuterJoinComplement), OuterJoinSymbolCompretion.Text), TopReservedWordCase = (CaseType)Enum.Parse(typeof(CaseType), TopReservedWordCase.Text), ReservedWordCase = (CaseType)Enum.Parse(typeof(CaseType), ReserveWordCase.Text), TableNameCase = (CaseType)Enum.Parse(typeof(CaseType), TableNameCase.Text), ColumnNameCase = (CaseType)Enum.Parse(typeof(CaseType), ColumnNameCase.Text), AliasNameCase = (CaseType)Enum.Parse(typeof(CaseType), AliaseNameCase.Text), OtherWordCase = (CaseType)Enum.Parse(typeof(CaseType), OtherWordCase.Text), IsKeywordWhenIndent = IsKeywordWhenIndent.Checked, IsReservedWordLineBreak = IsReservedWordLineBreak.Checked }; return entity; } catch (Exception ex) { MessageBox.Show(@"入力項目が不足しています", @"Exception"); Console.WriteLine(ex.StackTrace); return null; } }
public SqlFormatVisitor(ConfigEntity entity) { ResultSql = string.Empty; _entity = entity; _tabTool = new TabTool(); _Indents.Push(string.Empty); _LeftIndentSize.Push(0); }
private void SetConfigData() { ConfigEntity entity = Tools.Serializer.Load <ConfigEntity>(_filePath); DeleteComment.Checked = entity.IsDeleteComment; GeneralIndentType.Text = entity.GeneralIndentType.ToString(); LinebreaksWithComma.Text = entity.CommaIndentPattern.ToString(); AndOrIndentPattern.Text = entity.AndOrIndentPattern.ToString(); OneEqualOneCompletion.Checked = entity.OneEqualOneComplement; TopReservedWordCase.Text = entity.TopReservedWordCase.ToString(); OuterJoinSymbolCompretion.Text = entity.OuterJoinComplement.ToString(); OtherWordCase.Text = entity.OtherWordCase.ToString(); TableNameCase.Text = entity.TableNameCase.ToString(); ColumnNameCase.Text = entity.ColumnNameCase.ToString(); AliaseNameCase.Text = entity.AliasNameCase.ToString(); ReserveWordCase.Text = entity.ReservedWordCase.ToString(); TopReservedWordAfterIndent.Text = entity.TopReservedWordAfterIndent.ToString(); IsKeywordWhenIndent.Checked = entity.IsKeywordWhenIndent; IsReservedWordLineBreak.Checked = entity.IsReservedWordLineBreak; }
private void saveToolStripMenuItem_Click(object sender, EventArgs e) { ConfigEntity entity = GetSaveData(); if (entity == null) { // エラーのとき return; } if (_filePath == null) { // 保存先を指定するダイアログを表示 _filePath = ShowSaveFileDialog(); if (_filePath == null) { // キャンセルや文字列が入力されなかったとき return; } } Tools.Serializer.Save(entity, _filePath); MessageBox.Show(@"保存しました", @"Success"); }
public CaseTransform(ConfigEntity entity) { _entity = entity; }
public string SqlFormatter(string inputSql, ConfigEntity entity) { SqlAstParser sqlAstParser = new SqlAstParser(); SqlCompilationUnit unit = sqlAstParser.Parse(inputSql); SqlAstVisitor visitor = new SqlFormatVisitor(entity); IList<ITransformer> transformers = new List<ITransformer>(); transformers.Add(new CaseTransform(entity)); transformers.Add(new CommentTransform(entity.IsDeleteComment)); if (entity.IsReservedWordAsComplement) { transformers.Add(new AsWordCompletionTransform(entity)); } unit.Accept(visitor, transformers); return visitor.ResultSql; }
public AsWordCompletionTransform(ConfigEntity entity) { _entity = entity; }