Пример #1
0
        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);
            }
        }
Пример #2
0
        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);
        }
Пример #3
0
        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>());
            }
        }