Exemplo n.º 1
0
        public string QuerySysUser(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            using (var db = new ContextBase())
            {
                var query = from a in db.SysUser
                            join b in db.SysRole on a.RoleId equals b.Id
                            select new
                {
                    a.Id,
                    a.Nickname,
                    a.RoleId,
                    a.Sign,
                    a.Status,
                    a.UserGroup,
                    a.UserName,
                    a.UserPwd,
                    a.CreateTime,
                    OldUserPwd = a.UserPwd,
                    RoleName   = b.Name
                };
                Func.Common.QueryJoin(query, param, db, ref or);
            }
            return(or.ToJson());
        }
Exemplo n.º 2
0
        public string QueryConfigTable(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            using (var db = new ContextBase())
            {
                var query = db.SysTableConfig.Where(x => x.ColHide != 2);
                Func.Common.QueryJoin(query, param, db, ref or);
            }
            return(or.ToJson());
        }
Exemplo n.º 3
0
        public string QuerySysRole(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            using (var db = new ContextBase())
            {
                var query = db.SysRole;
                Func.Common.QueryJoin(query, param, db, ref or);
            }
            return(or.ToJson());
        }
Exemplo n.º 4
0
        public string QuerySysTableConfig(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            using (var db = new ContextBase())
            {
                var query = db.SysTableConfig;
                //query = query.Where(x => EF.Functions.Like(x.TableName, "%log%"));
                Func.Common.QueryJoin(query, param, db, ref or);
            }
            return(or.ToJson());
        }
Exemplo n.º 5
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public string QueryConfigTable(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            using (var ru = new RepositoryUse())
            {
                var query = from a in ru.Context.Set <SysTableConfig>()
                            select a;
                Func.Common.QueryJoin(query, param, ru, ref or);
            }
            return(or.ToJson());
        }
Exemplo n.º 6
0
        public string QueryTableConfig()
        {
            var or = new QueryDataVM.OutputResult();

            using (var db = new ContextBase())
            {
                var queryHas = from a in db.SysTableConfig
                               group a by a.TableName into g
                               select g.Key;

                var listHas = queryHas.ToList();

                var dbname = db.Database.GetDbConnection().Database;

                var sql = QueryScripts(db.TDB.ToString(), "name").Replace("@DataBaseName", dbname);

                var dt = new DataTable();

                var listRow = new List <object>();
                if (!string.IsNullOrWhiteSpace(sql))
                {
                    using (var conn = db.Database.GetDbConnection())
                    {
                        conn.Open();
                        var cmd = conn.CreateCommand();
                        cmd.CommandText = sql;
                        dt.Load(cmd.ExecuteReader());
                    }
                    foreach (DataRow dr in dt.Rows)
                    {
                        var key = dr[0].ToString();
                        var val = (listHas.Exists(x => x.ToLower() == key.ToLower()) ? "1" : "");
                        var row = new JObject
                        {
                            ["name"]   = key,
                            ["exists"] = val
                        };
                        listRow.Add(row);
                    }
                }
                or.data  = listRow;
                or.total = listRow.Count;
            }

            return(or.ToJson());
        }
Exemplo n.º 7
0
        public string QueryData(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            //根据标识检索是否存在对应的数据表,(表字典DicTable 可过滤掉不让查询的表,也可以自定义DicTable表字典)
            //前端直传表名查询会有安全问题,所以通过uri标识在后台做对应且可过滤
            if (Func.Common.DicTable.ContainsKey(param.uri))
            {
                //表名
                param.tableName = Func.Common.DicTable[param.uri];

                //条件
                if (!string.IsNullOrWhiteSpace(param.wheres))
                {
                    var jwhere = JObject.Parse(param.wheres) as JToken;
                    param.wheres = QueryDataVM.SqlQueryWhere(jwhere);
                }
                if (string.IsNullOrWhiteSpace(param.wheres))
                {
                    param.wheres = "1=1";
                }

                //排序
                param.sortOrderJoin = DataBase.OrderByJoin(param.sort, param.order);

                //查询:列、数据表、总条数
                if (param.columnsExists != 1)
                {
                    or.columns = Func.Common.QuerySysTableConfigList(x => x.TableName == param.tableName);
                }
                var ds = Func.Common.QueryDS(param);
                or.data = ds.Tables[0];
                if (param.pagination == 1)
                {
                    or.total = Convert.ToInt32(ds.Tables[1].Rows[0][0].ToString());
                }
                else
                {
                    or.total = ds.Tables[0].Rows.Count;
                }
            }

            return(or.ToJson());
        }
Exemplo n.º 8
0
        public string QuerySysButton(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            using (var db = new ContextBase())
            {
                var list = db.SysButton.OrderBy(x => x.BtnOrder).ToList();
                var tree = Func.Common.ListToTree(list, "Pid", "Id", new List <string> {
                    Guid.Empty.ToString()
                });
                or.data = tree.ToJArray();

                //列
                if (param.columnsExists != 1)
                {
                    or.columns = db.SysTableConfig.Where(x => x.TableName == param.tableName).OrderBy(x => x.ColOrder).ToList();
                }
            }
            return(or.ToJson());
        }
Exemplo n.º 9
0
        /// <summary>
        /// 查询
        /// </summary>
        /// <param name="param"></param>
        /// <returns></returns>
        public string QuerySysUser(QueryDataVM.GetParams param)
        {
            var or = new QueryDataVM.OutputResult();

            #region 自定义SQL查询主体

            //查询主体,select 开头 ,QueryJoin里面会处理分页排序及查询条件
            string sql = "select a.*,UserPwd as OldUserPwd,b.Name as RoleName from SysUser a left join SysRole b on a.RoleID=b.ID";
            //查询总条数,可选,不传,则以查询主体sql查询总条数,此处如果用主体SQL多了不必要的关联查询
            string sqlcount = "select count(1) from SysUser";

            Func.Common.QueryJoin(sql, param, ref or, sqlcount);

            #endregion

            #region linq查询,Like等SQL查询条件不支持
            //using (var ru = new RepositoryUse())
            //{
            //    var query = from a in ru.Context.Set<SysUser>()
            //                join b in ru.Context.Set<SysRole>() on a.RoleID equals b.ID
            //                select new
            //                {
            //                    a.ID,
            //                    a.RoleID,
            //                    a.UserName,
            //                    a.UserPwd,
            //                    OldUserPwd = a.UserPwd,
            //                    a.Nickname,
            //                    a.CreateTime,
            //                    a.Status,
            //                    a.UserGroup,
            //                    RoleName = b.Name
            //                };
            //    Func.Common.QueryJoin(query, param, ru, ref or);
            //}
            #endregion

            return(or.ToJson());
        }
Exemplo n.º 10
0
        public string QueryTableInfo(string names)
        {
            var listName = names.Split(',').ToList();
            var innames  = string.Join("','", listName);

            var or = new QueryDataVM.OutputResult();

            var dt = new DataTable();

            ContextBase.TypeDB tdb;
            using (var db = new ContextBase())
            {
                tdb = db.TDB;

                var dbname = db.Database.GetDbConnection().Database;

                var sql = QueryScripts(db.TDB.ToString(), "info").Replace("@DataBaseName", dbname).Replace("@TableName", innames);

                if (!string.IsNullOrWhiteSpace(sql))
                {
                    using (var conn = db.Database.GetDbConnection())
                    {
                        conn.Open();
                        var cmd = conn.CreateCommand();
                        cmd.CommandText = sql;
                        dt.Load(cmd.ExecuteReader());
                    }
                }
                or.data  = dt;
                or.total = dt.Rows.Count;
            }

            #region 其它处理
            //mysql默认值,单独查询
            switch (tdb)
            {
            case ContextBase.TypeDB.MySQL:
                using (var db = new ContextBase())
                {
                    var conn = db.Database.GetDbConnection();
                    conn.Open();
                    var cmd = conn.CreateCommand();
                    foreach (var name in listName)
                    {
                        cmd.CommandText = "desc " + name + ";";

                        var dtdefault = new DataTable();
                        dtdefault.Load(cmd.ExecuteReader());

                        foreach (DataRow dr in dt.Rows)
                        {
                            if (dr["表名"].ToString().ToLower() == name.ToLower())
                            {
                                var dv = dtdefault.Select("Field='" + dr["字段名"].ToString() + "'")[0]["Default"];
                                if (dv != DBNull.Value)
                                {
                                    dr["默认值"] = dv;
                                }
                            }
                        }
                    }
                    cmd.Dispose();
                    conn.Dispose();
                }
                break;
            }
            #endregion

            return(or.ToJson());
        }