00001 using System; 00002 using System.Data.Common; 00003 using System.Collections.Generic; 00004 00008 namespace Foodolini.Database.Sql 00009 { 00013 public abstract class SqlStrategy 00014 { 00021 public abstract string TableQuery(); 00022 00038 public abstract string CreateTableQuery(string table, IDictionary<string,Type> columns, string primaryKey); 00039 00056 public abstract string InsertQuery(string table, ICollection<string> parameters); 00057 00076 public abstract string UpdateQuery(string table, ICollection<string> parameters, string identifier); 00077 00090 public abstract string WhereQuery(string table, string condition); 00091 00110 public abstract string PagedWhereQuery(string table, string condition, int page, int pageSize); 00111 00121 public abstract string AllQuery(string table); 00122 00138 public abstract string PagedQuery(string table, int page, int pageSize); 00139 00152 public abstract string DeleteQuery(string table, string identifier); 00153 00166 public abstract string DeleteWhereQuery(string table, string condition); 00167 } 00168 }