예제 #1
0
 public bool build(Item item)
 {
     StringTheory theory = new StringTheory();
     StringTheory theory2 = new StringTheory();
     Field field = null;
     Hashtable hashtable = item.getBoxView();
     ArrayList coll = new ArrayList();
     ArrayList list2 = new ArrayList();
     foreach (string str in hashtable.Keys)
     {
         field = (Field)hashtable[str];
         if ((field != null) && field.Touched())
         {
             coll.Add(str);
             list2.Add(field.toSql());
         }
     }
     theory.Join(coll, ", ");
     theory2.Join(list2, ", ");
     if (coll.Count > 0)
     {
         StringTheory val = new StringTheory("INSERT INTO %tableName% (%fields%) VALUES (%values%)");
         val.Replace("%tableName%", item.getStreamName());
         val.Replace("%fields%", theory);
         val.Replace("%values%", theory2);
         base.Append(val);
     }
     return false;
 }
예제 #2
0
 protected override void build(Item item, int limit)
 {
     string val = item.getStreamName();
     string str2 = item.getIdField();
     StringTheory condition = new StringTheory();
     base.BuildCondition(condition, item);
     if (limit > -1)
     {
         StringTheory theory2 = new StringTheory("SELECT TOP %limit% %id_field% FROM %table%");
         theory2.Replace("%limit%", limit);
         theory2.Replace("%id_field%", item.getIdField());
         theory2.Replace("%table%", val);
         if ((condition != null) && (condition.Length > 0))
         {
             theory2.Append(" WHERE ");
             theory2.Append(condition);
         }
         base.Append("DELETE FROM ");
         base.Append(val);
         base.Append(" WHERE ");
         base.Append(string.Concat(new object[] { item.getIdField(), " IN (", theory2, ")" }));
     }
     else
     {
         base.Append("DELETE FROM ");
         base.Append(val);
         if ((condition != null) && (condition.Length > 0))
         {
             base.Append(" WHERE ");
             base.Append(condition);
         }
     }
 }
예제 #3
0
 public bool build(Item item)
 {
     Hashtable hashtable = item.getBoxView();
     Field field = (Field)hashtable[item.getIdField()];
     if (!field.IsEmpty())
     {
         Field field2 = null;
         ArrayList coll = new ArrayList();
         foreach (string str in hashtable.Keys)
         {
             field2 = (Field)hashtable[str];
             if (!str.Equals(item.getIdField()) && field2.Touched())
             {
                 coll.Add(str + "=" + field2.toSql());
             }
         }
         if (coll.Count > 0)
         {
             StringTheory theory = new StringTheory();
             theory.Join(coll, ", ");
             StringTheory val = new StringTheory("UPDATE %tableName% SET %pairListing% WHERE %idField% = %id%");
             val.Replace("%tableName%", item.getStreamName());
             val.Replace("%pairListing%", theory);
             val.Replace("%idField%", item.getIdField());
             val.Replace("%id%", field.toSql());
             base.Append(val);
         }
     }
     return false;
 }
예제 #4
0
 public void build(Item item)
 {
     StringTheory val = new StringTheory("SELECT TOP 1 %idField% FROM %tableName% WHERE %idField% = '%id%'");
     val.Replace("%idField%", item.getIdField());
     val.Replace("%tableName%", item.getStreamName());
     val.Replace("%id%", item.Id);
     base.Append(val);
 }
예제 #5
0
        public void StripRange(int start, int count)
        {
            StringTheory theory = new StringTheory(base.Cut(start, count));

            theory.Replace(" ", "");
            theory.Replace("\t", "");
            base.Paste(base.Start(), theory.ToString());
        }
예제 #6
0
 protected void AppendSelectQuery(string tableName, StringTheory conditions, StringTheory specifiers, int limit)
 {
     StringTheory val = new StringTheory("SELECT * FROM %tableName% WHERE %conditions% %specifiers%");
     if (conditions.IsEmpty())
     {
         val.Replace("WHERE ", "");
     }
     val.Replace("%tableName%", tableName);
     val.Replace("%conditions%", conditions);
     val.Replace("%specifiers%", specifiers);
     base.Append(val);
     this.LimitRecordsReturned(this, limit);
 }
예제 #7
0
        public static void main(string[] args)
        {
            StringTheory theory = new StringTheory("StringTheory v%VERSION% (c) 2003 Built Software.\nSee http://www.builtsoftware.com/products/StringTheory/ for more info.");

            theory.Replace("%VERSION%", Version);
            Console.WriteLine(theory);
        }
예제 #8
0
        protected string buildTag(string fieldname, string Format)
        {
            StringTheory theory = new StringTheory(Format);

            theory.Replace("*", fieldname);
            return(theory.ToString());
        }
예제 #9
0
        public void Populate(Hashtable values, string tagFormat)
        {
            StringTheory phrase = new StringTheory();

            foreach (string str in values.Keys)
            {
                phrase.Renew(tagFormat);
                phrase.Replace("*", str);
                this.Replace(phrase, values[str]);
            }
        }
예제 #10
0
파일: Item.cs 프로젝트: built/BoxBoy
 public string getXml()
 {
     StringTheory theory = new StringTheory("<%islandName%>%body%</%islandName%>\n");
     StringTheory val = new StringTheory();
     StringTheory theory3 = new StringTheory();
     foreach (string str in this.getFieldNames())
     {
         val.Renew("    <%fieldName%>%fieldValue%</%fieldName%>\n");
         val.Replace("%fieldName%", str.ToLower());
         val.Replace("%fieldValue%", ((Field)this[str]).getValue());
         theory3.Append(val);
     }
     theory.Replace("%islandName%", this.StreamName.ToLower());
     theory.Replace("%body%", theory3);
     return theory.ToString();
 }
예제 #11
0
 public static void main(string[] args)
 {
     StringTheory theory = new StringTheory("StringTheory v%VERSION% (c) 2003 Built Software.\nSee http://www.builtsoftware.com/products/StringTheory/ for more info.");
     theory.Replace("%VERSION%", Version);
     Console.WriteLine(theory);
 }
예제 #12
0
 protected string buildTag(string fieldname, string Format)
 {
     StringTheory theory = new StringTheory(Format);
     theory.Replace("*", fieldname);
     return theory.ToString();
 }
예제 #13
0
 public void StripRange(int start, int count)
 {
     StringTheory theory = new StringTheory(base.Cut(start, count));
     theory.Replace(" ", "");
     theory.Replace("\t", "");
     base.Paste(base.Start(), theory.ToString());
 }
예제 #14
0
 public void Populate(Hashtable values, string tagFormat)
 {
     StringTheory phrase = new StringTheory();
     foreach (string str in values.Keys)
     {
         phrase.Renew(tagFormat);
         phrase.Replace("*", str);
         this.Replace(phrase, values[str]);
     }
 }
예제 #15
0
파일: Field.cs 프로젝트: built/BoxBoy
 public string toSql()
 {
     StringTheory theory = new StringTheory(this);
     string phrase = "'";
     theory.Replace(phrase, phrase + phrase);
     theory.SingleQuote();
     return theory.ToString();
 }
예제 #16
0
 public string DescribeStream(string stream)
 {
     StringTheory theory = new StringTheory("<stream name=\"%stream%\">\n%fields%</stream>\n");
     StringTheory theory2 = new StringTheory();
     ArrayList list = new ArrayList();
     this.ListColumns(stream, list);
     theory.Replace("%stream%", stream);
     foreach (Hashtable hashtable in list)
     {
         theory2.Append("<field name=\"%COLUMN_NAME%\" type=\"%DATA_TYPE%\" identity=\"%IDENTITY%\"/>\n");
         theory2.Populate(hashtable, "%*%");
         theory2.Replace("%IDENTITY%", this.IsIdentity(hashtable));
     }
     theory.Replace("%fields%", theory2);
     return theory.ToString();
 }