public QuerySource(string name, string source) { if (name.IsNullOrWhiteSpace() || source.IsNullOrWhiteSpace()) { throw new DataAccessException(StringConsts.ARGUMENT_ERROR + "QuerySource.ctor(name | source = null|empty)"); } m_Name = name; m_OriginalSource = source; m_StatementSource = m_OriginalSource; m_Columns = new Collections.Registry <ColumnDef>(); var lines = source.SplitLines(); if (lines.Length < 4) { return; // pragma, 1 line, space, statement = 4 } if (lines[0] != PRAGMA) { return; } m_HasPragma = true; var pragma = true; var sb = new StringBuilder(); for (var i = 1; i < lines.Length; i++) { if (!pragma) { sb.AppendLine(lines[i]); continue; } var line = lines[i].TrimStart(); if (line.Length == 0) { pragma = false; continue; } var ieq = line.IndexOf('='); if (ieq <= 0 || ieq == line.Length - 1) { throw new DataAccessException(StringConsts.CRUD_QUERY_SOURCE_PRAGMA_ERROR.Args(i, line, "syntax")); } var pname = line.Substring(0, ieq).Trim(); var pvalue = line.Substring(ieq + 1); parseLine(i, line, pname, pvalue); } m_StatementSource = sb.ToString(); }
public ApplicationRealmBase() : base() { m_Areas = new Collections.Registry <IApplicationRealmArea>(); }