public List <dynamic> GetBySqlCommand(Model model, System.Data.SqlClient.SqlCommand command) { using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection(SqlHelper.GetSqlCon(this.sqlCon, model).ToString())) { con.Open(); command.Connection = con; var table = SqlDataLoader.GetSqlData(command); var keyCol = SqlHelper.GetKeyCol(model); List <dynamic> items = new List <dynamic>(); con.Close(); if (table.Columns.Contains(keyCol) == false) { throw new Exception("Can't Gerneration Query Because The Id Column Isn't Included!"); } if (table.Rows.Count > 0) { foreach (DataRow row in table.Rows) { IObjectProxy proxy = SqlDataLoader.getProxy(model, row[keyCol], this.sqlCon, this.ConFac); SqlDataLoader.LoadSqlData(proxy, row, this.sqlCon, this.ConFac); proxy.IsSave = SaveType.Exists; items.Add(proxy); } } return(items); } }
public IObjectProxy GetDetail(Model model, object id, bool LoadDetail = true) { if (String.IsNullOrEmpty((id ?? "").ToString())) { return(null); } IObjectProxy proxy = SqlDataLoader.getProxy(model, id, this.sqlCon, this.ConFac); LoadDataDetail(model, id, LoadDetail, proxy); return(proxy); }
internal List <IObjectProxy> LoadArrayProperty( IObjectProxy ParentProxy, Property property) { var sql = SqlHelper.GetSqlCon(property, this.sqlCon, (property.Model == null?ParentProxy.Model:property.Model)); if (sql != null) { using (System.Data.SqlClient.SqlConnection con = new System.Data.SqlClient.SqlConnection( sql.ToString() )) { con.Open(); var sqlCommand = SqlHelper.generatGetItemsCommand(property, ParentProxy.Model, ParentProxy.ID); string itemKeyCol = SqlHelper.GetKeyCol(property.Model); sqlCommand.Connection = con; System.Diagnostics.Trace.WriteLine(sqlCommand.CommandText); var table2 = SqlDataLoader.GetSqlData(sqlCommand); List <IObjectProxy> result = new List <IObjectProxy>(); if (table2.Rows.Count > 0) { for (int i = 0; i < table2.Rows.Count; i++) { var itemproxy = SqlDataLoader.getProxy(property.Model, table2.Rows[i][itemKeyCol], this.sqlCon, this.ConFac); if (itemproxy != null) { itemproxy.Owner = ParentProxy; result.Add(itemproxy); SqlDataLoader.LoadSqlData(itemproxy, table2.Rows[i], this.sqlCon, this.ConFac); itemproxy.IsLoad = LoadType.Complete; } } } return(result); } } else { return(new List <IObjectProxy>()); } }