Esempio n. 1
0
        public GetProperty GetProperty(string obj_code)
        {
            GetProperty getExportData = new GetProperty();

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                // IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    string sql  = @"select * from V_FLC_OBJECTPROPERTY 
                           where obj_code = :obj_code    and lan = 'zn_CN' ";
                    var    para = new DynamicParameters();
                    para.Add(":obj_code", obj_code);

                    getExportData.objects = AppDataBase.Query <V_FLC_OBJECTPROPERTY>(sql, para, null, dbConnection);

                    string sql2 = @"select *from flc_objects   objs
                                    left join flc_lang lan on lan.key=objs.obj_code||'.'||objs.obj_table
                                      where obj_code=:obj_code   and lan='zn_CN'  and is_main=0         ";
                    getExportData.tables = AppDataBase.Query <ObjectsUnionLang>(sql2, para, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
            return(getExportData);
        }
        /// <summary>
        /// 获取全部菜单权限
        /// </summary>
        /// <param name="role"></param>
        /// <param name="lan"></param>
        public GetAllAuthByRole GetAllAuthByRole(string role, string lan)
        {
            //尽管role没有用到,考虑客户端调用的时候 传值了,为了减少更改
            //所有还是留着了

            lan = string.IsNullOrEmpty(lan) ? "zn_CN" : lan;

            GetAllAuthByRole getAllAuthByRole = new GetAllAuthByRole();

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql  = @"select * from v_FLC_MENU  
                                                    where lan = :lan order by disp_order ";
                    var    parm = new DynamicParameters();
                    parm.Add(":lan", lan);

                    getAllAuthByRole.dtNodes = AppDataBase.Query <V_FLC_MENU>(sql, parm, null, dbConnection);

                    sql = @"select t.*,t1.value from FLC_OBJ_OPERATION t
                            left join FLC_LANG t1 on t.operation_id = t1.key order by obj_code,page,btn_index";

                    getAllAuthByRole.dtOperation = AppDataBase.Query <FLC_OBJ_OPERATION>(sql, null, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(getAllAuthByRole);
        }
Esempio n. 3
0
        public IEnumerable <V_FLC_MENU> GetObjectList(string lan)
        {
            IEnumerable <V_FLC_MENU> v_FLC_MENUs = null;

            lan = string.IsNullOrEmpty(lan) ? "zn_CN" : lan;
            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql = @"select t1.* from v_FLC_MENU t1 where lan = :lan 
                        and is_sys <> 1 and is_enable = 1 and is_show = 1  and is_from_model <> 0   order by disp_order";

                    var parm = new DynamicParameters();
                    parm.Add(":lan", lan);
                    v_FLC_MENUs = AppDataBase.Query <V_FLC_MENU>(sql, parm, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(v_FLC_MENUs);
        }
Esempio n. 4
0
        public GetExportData GetExportData(string objectCode)
        {
            GetExportData getExportData = new GetExportData();

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                // IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    string sql = @"select * from V_FLC_OBJECTPROPERTY   where obj_code = '" + objectCode + @"'  and lan = 'zn_CN'
                 order by obj_table ,obj_pro_using desc,obj_pro_null desc  ";
                    getExportData.v_FLC_s = AppDataBase.Query <V_FLC_OBJECTPROPERTY>(sql, null, null, dbConnection);

                    string sql2 = @"select *from flc_objects   objs
                                    left join flc_lang lan on lan.key=objs.obj_code||'.'||objs.obj_table
                                      where obj_code='" + objectCode + "'   and lan='zn_CN'  and is_main=0         ";
                    getExportData.objectsUnions = AppDataBase.Query <ObjectsUnionLang>(sql2, null, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
            return(getExportData);
        }
Esempio n. 5
0
        public IEnumerable <dynamic> GetProdclineDA(string opseq, string cinvcode)
        {
            IEnumerable <dynamic> GetProdclineDA = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql = @"select *from Data_PRODCLLIN_Item0 item0 
                            inner join data_PRODCLLIN duc on item0.mid=duc.id 
                            inner join data_INVENTORY inv on inv.cinvccode=duc.ccinvcode
                            where item0.opseq='" + opseq + "' and inv.cinvcode='" + cinvcode + @"' and versioncode=(select max(versioncode) from 
                            (select *from Data_PRODCLLIN_Item0 item0 
                            inner join data_PRODCLLIN duc on item0.mid=duc.id 
                            inner join data_INVENTORY inv on inv.cinvccode=duc.ccinvcode
                            where item0.opseq='" + opseq + "' and inv.cinvcode='" + cinvcode + @"') t
                            )";
                    GetProdclineDA = AppDataBase.Query <dynamic>(sql, null, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(GetProdclineDA);
        }
Esempio n. 6
0
        /// <summary>
        /// 获取权限菜单
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="userCode"></param>
        /// <returns></returns>
        public static IEnumerable <MenuRolesModel> GetAuthorizationMenuInfo(string userCode, string roleCode)
        {
            string sql = @"Select mr.RoleCode,m.MenuCode,MenuName,MenuIcon,ParentCode,MenuPath,Component,Title,AlwaysShow
                                From Menus m
                                Inner Join MenusRole mr on m.MenuCode = mr.MenuCode
                                Inner Join Users u on u.RoleCode = mr.RoleCode
                            Where mr.RoleCode=@RoleCode And u.UserCode=@UserCode";

            var param = new DynamicParameters();

            param.Add("@RoleCode", roleCode);

            param.Add("@UserCode", userCode);

            IEnumerable <MenuRolesModel> menuRoles = AppDataBase.Query <MenuRolesModel>(sql, param);

            IEnumerable <MenuRolesModel> menuRolesModels = from x in menuRoles where object.Equals(x.ParentCode, null) select x;

            foreach (MenuRolesModel item in menuRolesModels)
            {
                item.Children = (from x in menuRoles where x.ParentCode == item.MenuCode select x);
            }

            return(menuRolesModels);
        }
Esempio n. 7
0
        public IEnumerable <dynamic> GetObjectDataL()
        {
            IEnumerable <dynamic> dynamics = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql = @"Select Obj.Id,Obj.Obj_Code,Lng.Key,Lng.Value as Chinese,Flc.Value as English,
                                case Obj.Is_Enable when 1 then '是' when 0 then '否' end Is_Enable,
                                case Obj.Is_System when 1 then '是' when 0 then '否' end Is_System
                                        From FLC_OBJECT Obj 
                                        Left Join FLC_LANG Lng On Lng.Key=Obj.Obj_Code And Lng.lan='zn_CN'
                                        Left Join FLC_LANG Flc On Flc.Key=Lng.Key And Flc.lan='en_US'
                                        where is_show='1'
                                        Order By Obj.Obj_Code Asc";
                    dynamics = AppDataBase.Query <dynamic>(sql, null, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(dynamics);
        }
Esempio n. 8
0
        /// <summary>
        /// 获取权限列表
        /// </summary>
        /// <returns></returns>
        public static IEnumerable <RoleModel> GetRoles()
        {
            string sql = "Select AutoID,RoleCode,RoleName From Roles";

            IEnumerable <RoleModel> roleModels = AppDataBase.Query <RoleModel>(sql);

            return(roleModels);
        }
        public static string CrateObject_Drop(string obj_code)
        {
            //删除1.flc_object flc_objects flc_object_property flc_lang对应数据清除 2.对应表清除
            string del_obj = "delete from flc_object where obj_code like '" + obj_code + "%'";

            string del_objs = "delete from flc_objects where obj_code like '" + obj_code + "%'";

            string del_obj_pro = "delete from flc_object_property where obj_code like '" + obj_code + "%'";

            string del_lang = "delete from flc_lang where key like '" + obj_code + "%'";

            string sql;

            var param = new DynamicParameters();

            using (IDbConnection dbConnection = AppDataBase.DbConection)
            {
                dbConnection.Open();
                IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    sql = "Select * from FLC_OBJECTS where obj_code = :obj_code";
                    param.Add(":obj_code", obj_code);
                    IEnumerable <Flc_Objects> obj_relations = AppDataBase.Query <Flc_Objects>(sql, param, transaction);

                    foreach (Flc_Objects item in obj_relations)
                    {
                        string[] args = item.Obj_Table.Split('_');
                        if (!(args[0] == "FLC"))
                        {
                            AppDataBase.Execute(del_obj, null, transaction);
                            AppDataBase.Execute(del_objs, null, transaction);
                            AppDataBase.Execute(del_obj_pro, null, transaction);
                            AppDataBase.Execute(del_lang, null, transaction);
                            string setable = "select count(1) coun from user_tables where  table_name=:obj_table";
                            param = new DynamicParameters();
                            param.Add(":obj_table", item.Obj_Table);

                            int count = Convert.ToInt32(AppDataBase.ExecuteScalar(setable, dbConnection, param));
                            if (count > 0)
                            {
                                sql = "drop table " + item.Obj_Table;
                                AppDataBase.Execute(sql, null, transaction);
                            }
                        }
                    }
                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }

            return("ok");
        }
        /// <summary>
        /// 通过用户编码获取菜单
        /// </summary>
        /// <param name="user_code"></param>
        /// <param name="lan"></param>
        /// <param name="bAdmin"></param>
        /// <returns></returns>
        public IEnumerable <V_FLC_MENU> GetMenuAuthByUser(string user_code, string lan, string bAdmin)
        {
            string sql = "";

            lan = string.IsNullOrEmpty(lan) ? "zn_CN" : lan;
            if (user_code == "admins_group")
            {
                bAdmin = "1";
            }

            IEnumerable <V_FLC_MENU> v_FLC_MENUs = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    //查看该用户是否拥有管理员角色
                    sql = @" select count(1) from DATA_ROLE_USER where user_code='" + user_code + "' and role_code='admins_group'";
                    string count = AppDataBase.ExecuteScalar(sql, dbConnection, null, transaction).ToString();
                    if (count != "0")
                    {
                        bAdmin = "1";
                    }

                    var para = new DynamicParameters();
                    para.Add(":lan", lan);
                    para.Add(":user_code", user_code);

                    sql = @"select t1.* from FLC_MENU_AUTH t  left join v_FLC_MENU t1 on t.menu_id = t1.menucode
                        where lan = :lan and t.role_code in   (select role_code from DATA_ROLE_USER where user_code = :user_code) 
                        and is_sys = 0 and is_enable = 1 and is_show=1  order by disp_order";

                    if (bAdmin == "1")
                    {
                        sql = @"select t1.* from v_FLC_MENU t1 where lan = :lan 
                                and is_sys = 0 and is_enable = 1 and is_show=1 and is_admin=0 order by disp_order";
                    }

                    v_FLC_MENUs = AppDataBase.Query <V_FLC_MENU>(sql, para, transaction, dbConnection);

                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }

            return(v_FLC_MENUs);
        }
        public IEnumerable <dynamic> GetAdminRolebyUser(string user_code)
        {
            IEnumerable <dynamic> data_role = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql = @" select *from DATA_ROLE_USER where user_code='" + user_code + "' and role_code='admins_group'";//查看该用户是否拥有管理员角色

                    data_role = AppDataBase.Query <dynamic>(sql, null, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
            return(data_role);
        }
        public static Isexist_Obj isexist_Obj(string obj_code, string Language)
        {
            try
            {
                string is_exit = "select * from flc_object where obj_code='" + obj_code + "'";
                object o       = AppDataBase.ExecuteScalar(is_exit);
                if (o == null || o.ToString() == string.Empty)
                {
                    is_exit = "1";
                }
                else
                {
                    is_exit = "0";
                }

                string        all_object = @"select obj_code,value from flc_object t left join flc_lang e on 
                                           t.obj_code=e.key and e.lan='" + Language + "'";
                List <Allobj> allobjs    = AppDataBase.Query <Allobj>(all_object).ToList();
                Allobj        allobj     = new Allobj();
                allobj.Obj_Code = obj_code;
                allobj.Value    = "当前对象";
                allobjs.Insert(0, allobj);

                foreach (Allobj item in allobjs)
                {
                    if (item.Value == "")
                    {
                        item.Value = item.Obj_Code;
                    }
                }

                Isexist_Obj isexist_Obj = new Isexist_Obj();
                isexist_Obj.is_exit = is_exit;
                isexist_Obj.allobj  = allobjs;
                return(isexist_Obj);
            }
            catch (Exception e)
            {
                throw e;
            }
        }
        public IEnumerable <FLC_MENU_AUTH> GetRoleMenuAuthByRole(string role_code)
        {
            IEnumerable <FLC_MENU_AUTH> fLC_MENU_s = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql  = "select * from FLC_MENU_AUTH where role_code = :role_code";
                    var    parm = new DynamicParameters();
                    parm.Add(":role_code", role_code);
                    fLC_MENU_s = AppDataBase.Query <FLC_MENU_AUTH>(sql, parm, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }
            return(fLC_MENU_s);
        }
        /// <summary>
        /// 通过角色编码获取菜单
        /// </summary>
        /// <param name="role_code"></param>
        /// <param name="lan"></param>
        /// <returns></returns>
        public IEnumerable <V_FLC_MENU> GetMenuAuthByRole(string role_code, string lan)
        {
            string bAdmin = "0";

            if (role_code == "admins_group")
            {
                bAdmin = "1";
            }
            lan = string.IsNullOrEmpty(lan) ? "zn_CN" : lan;
            IEnumerable <V_FLC_MENU> v_FLC_MENUs = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    string sql = @"select t1.* from FLC_MENU_AUTH t 
                        left join v_FLC_MENU t1 on t.menu_id = t1.menucode
                        where lan = :lan and t.role_code = :role_code and  menugrade = 0  order by disp_order";

                    if (bAdmin == "1")
                    {
                        sql = @"select t.* from v_FLC_MENU t  where lan = :lan  order by disp_order ";
                    }

                    var parm = new DynamicParameters();
                    parm.Add(":lan", lan);
                    parm.Add(":role_code", role_code);

                    v_FLC_MENUs = AppDataBase.Query <V_FLC_MENU>(sql, parm, transaction, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(v_FLC_MENUs);
        }
        /// <summary>
        /// 返回能够操作的角色列表
        /// </summary>
        /// <param name="user_code"></param>
        /// <returns></returns>
        public IEnumerable <dynamic> GetRoleListByUser(string user_code)
        {
            IEnumerable <dynamic> data_role = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                try
                {
                    string sql  = " select * from data_role where role_code!='admins_group' ";
                    var    parm = new DynamicParameters();
                    parm.Add(":user_code", user_code);
                    data_role = AppDataBase.Query <dynamic>(sql, parm, null, dbConnection);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(data_role);
        }
        public static LoadMenuUnionCompany LoadMenu(string UserCode, string Language)
        {
            string sql = @"Select * from V_FLC_MENU where lan = :lan 
                                       and menucode in (select menu_id from FLC_MENU_AUTH where role_code 
                                       in (select role_code from DATA_ROLE_USER where user_code = :user_code))  and is_show=1 and is_admin in (0)
                                       order by disp_order";

            string sqladmins = @"select count(1) from data_role_user where role_code in('admins_group' ,'DATA-MANAGER')  and user_code='" + UserCode + "'";

            object o = AppDataBase.ExecuteScalar(sqladmins);

            if (o != null && o.ToString() != "0")
            {
                sql = "select * from V_FLC_MENU where lan = :lan  and is_show=1 and is_sys <> 1 and is_admin in (0,1) order by disp_order";
            }
            if (System.IO.File.Exists("admin"))
            {
                sql = @"select * from V_FLC_MENU where lan = :lan  and is_show=1 order by disp_order";
            }

            var param = new DynamicParameters();

            param.Add(":user_code", UserCode);
            param.Add(":lan", Language);

            IEnumerable <LoadMenu> menuRoles = AppDataBase.Query <LoadMenu>(sql, param);

            sql = "select id,name from data_company where rownum=1";
            Company company = AppDataBase.QuerySingle <Company>(sql);

            LoadMenuUnionCompany loadMenuUnionCompany = new LoadMenuUnionCompany();

            loadMenuUnionCompany.company  = company;
            loadMenuUnionCompany.loadMenu = menuRoles;

            return(loadMenuUnionCompany);
        }
        /// <summary>
        /// 按钮列表
        /// </summary>
        /// <param name="user_code"></param>
        /// <param name="lan"></param>
        /// <returns></returns>
        public GetOperationAuthByUser GetOperationAuthByUser(string user_code, string lan)
        {
            GetOperationAuthByUser getOperationAuthByUser = new GetOperationAuthByUser();

            lan = string.IsNullOrEmpty(lan) ? "zn_CN" : lan;
            string bAdmin = "0";

            if (user_code == "admin")
            {
                bAdmin = "1";
            }
            string sql = string.Empty;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    var parm = new DynamicParameters();
                    parm.Add(":lan", lan);
                    parm.Add(":user_code", user_code);

                    string sql2  = @" select count(1) from DATA_ROLE_USER where user_code='" + user_code + "' and role_code in('admins_group' ,'DATA-MANAGER')";//查看该用户是否拥有管理员角色
                    string count = AppDataBase.ExecuteScalar(sql, dbConnection, null, transaction).ToString();
                    if (count != "0")
                    {
                        bAdmin = "1";
                    }

                    sql = @"select t.*,t1.value from flc_object t left join FLC_LANG t1 on t.obj_code = t1.key  where  
                    ((t.is_enable = 1 and t.is_show = 1)or(t.is_model = 0))
                    and t1.lan = :lan  and t.obj_code in (select distinct obj_code from FLC_OPERATION_AUTH df 
                    where role_code in ( select  ROLE_CODE from DATA_ROLE_USER where USER_CODE= :user_code))    order by t.id ";

                    if (bAdmin == "1")
                    {
                        sql = @"select t1.* from v_FLC_MENU t1 where lan = :lan 
                                and is_sys= 0 and is_enable = 1 and is_show = 1 order by disp_order";
                    }

                    getOperationAuthByUser.objects = AppDataBase.Query <dynamic>(sql, parm, transaction, dbConnection);

                    sql = @"select t.*,t1.value 
                            from flc_operation_auth t_m
                            left join FLC_OBJ_OPERATION  t on t_m.obj_code = t.obj_code 
                            and t_m.page = t.page and t_m.operation_id = t.operation_id
                            left join FLC_LANG t1 on t.operation_id = t1.key 
                            where t1.lan = :lan and t_m.role_code in 
                            (Select role_code from DATA_ROLE_USER where user_code = :user_code)
                            order by t_m.obj_code,t_m.page,btn_index";


                    if (bAdmin == "1")
                    {
                        sql = @"select t.*,t1.value from FLC_OBJ_OPERATION  t
                            left join FLC_LANG t1 on t.operation_id = t1.key 
                            where t1.lan = :lan
                            order by obj_code,page,btn_index";
                    }

                    getOperationAuthByUser.operation = AppDataBase.Query <FLC_OBJ_OPERATION>(sql, parm, transaction, dbConnection);


                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }



            return(getOperationAuthByUser);
        }
        /// <summary>
        /// 角色的按钮权限
        /// </summary>
        /// <param name="role_code"></param>
        /// <param name="lan"></param>
        /// <returns></returns>
        public GetOperationAuthByRole GetOperationAuthByRole(string role_code, string lan)
        {
            GetOperationAuthByRole getOperationAuthBy = new GetOperationAuthByRole();

            lan = string.IsNullOrEmpty(lan) ? "zn_CN" : lan;
            string bAdmin = "0";

            if (role_code == "admins_group")
            {
                bAdmin = "1";
            }
            string sql = string.Empty;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    var parm = new DynamicParameters();
                    parm.Add(":lan", lan);
                    parm.Add(":role_code", role_code);

                    sql = @"select t.*,t1.value from flc_object t left join FLC_LANG t1 on t.obj_code = t1.key  where  
                    ((t.is_enable = 1 and t.is_show = 1)or(t.is_model = 0))
                    and t1.lan = :lan  and t.obj_code in (select distinct obj_code from FLC_OPERATION_AUTH df 
                    where role_code = :role_code)    order by t.id  ";

                    if (bAdmin == "1")
                    {
                        sql = @"select t.*,t1.value from FLC_OBJECT t
left join FLC_LANG t1 on t.obj_code = t1.key
where lan = :lan";
                    }

                    getOperationAuthBy.objects = AppDataBase.Query <FLC_OBJECT>(sql, parm, transaction, dbConnection);

                    sql = @"select t.*,t1.value 
from flc_operation_auth t_m
left join FLC_OBJ_OPERATION  t on t_m.obj_code = t.obj_code 
and t_m.page = t.page and t_m.operation_id = t.operation_id
left join FLC_LANG t1 on t.operation_id = t1.key 
where t1.lan = :lan and t_m.role_code = :role_code
order by t_m.obj_code,t_m.page,btn_index";

                    if (bAdmin == "1")
                    {
                        sql = @"select t.*,t1.value from FLC_OBJ_OPERATION  t
                            left join FLC_LANG t1 on t.operation_id = t1.key 
                            where t1.lan = :lan
                            order by obj_code,page,btn_index";
                    }

                    getOperationAuthBy.operation = AppDataBase.Query <FLC_OBJ_OPERATION>(sql, parm, transaction, dbConnection);

                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }

            return(getOperationAuthBy);
        }
        public static GetObj GetObj(string obj_code, string Language)
        {
            try
            {
                GetObj getObj = new GetObj();

                #region 对应UserControl 的编辑对象名
                string is_enable = "select is_enable from flc_object where obj_code='{0}'";
                string zn_CN1    = "select value from flc_lang where key='{0}' and lan='zn_CN'";
                string en_US1    = "select value from flc_lang where key='{0}' and lan='en_US'";

                is_enable = AppDataBase.ExecuteScalar(string.Format(is_enable, obj_code)).ToString();
                is_enable = (is_enable == "1" ? "是" : "否");
                zn_CN1    = AppDataBase.ExecuteScalar(string.Format(zn_CN1, obj_code)).ToString();
                en_US1    = AppDataBase.ExecuteScalar(string.Format(en_US1, obj_code)).ToString();

                Obj_Name obj_Name = new Obj_Name();
                obj_Name.Obj_Code  = obj_code;
                obj_Name.zn_CN     = zn_CN1;
                obj_Name.en_US     = en_US1;
                obj_Name.Is_Enable = is_enable;

                getObj.obj_name = obj_Name;
                #endregion

                #region 对应UserControl 的对象表关系

                string getdata_objects = "Select * from FLC_OBJECTS where obj_code = :obj_code";
                var    param           = new DynamicParameters();
                param.Add(":obj_code", obj_code);
                IEnumerable <Flc_Objects> obj_relations = AppDataBase.Query <Flc_Objects>(getdata_objects, param);
                List <Obj_Relation>       obj_Relations = new List <Obj_Relation>();

                foreach (Flc_Objects item in obj_relations)
                {
                    Obj_Relation obj_Relation = new Obj_Relation();

                    obj_Relation.是否删除 = false;
                    obj_Relation.对象名  = item.Obj_Code;
                    obj_Relation.对象表名 = item.Obj_Table;

                    string code   = obj_code + "." + item.Obj_Table;
                    string zn_CN2 = "select value from flc_lang where key='{0}' and lan='zn_CN'";
                    string en_US2 = "select value from flc_lang where key='{0}' and lan='en_US'";

                    zn_CN2 = AppDataBase.ExecuteScalar(string.Format(zn_CN2, code)).ToString();
                    en_US2 = AppDataBase.ExecuteScalar(string.Format(en_US2, code)).ToString();

                    obj_Relation.中文语言 = zn_CN2;
                    obj_Relation.英文语言 = en_US2;
                    string is_main = item.Is_Main.ToString();
                    is_main = (is_main == "1" ? "是" : "否");

                    obj_Relation.是否主表 = is_main;

                    obj_Relations.Add(obj_Relation);
                }

                getObj.obj_relation = obj_Relations;
                #endregion

                #region 对应UserControl 的对象属性

                string getdata_ObjTabProperty = "Select * from FLC_OBJECT_PROPERTY where obj_code = :obj_code";

                IEnumerable <Flc_Object_Property> obj_propertys = AppDataBase.Query <Flc_Object_Property>(getdata_ObjTabProperty, param);
                foreach (Flc_Object_Property item in obj_propertys)
                {
                    string code   = obj_code + "." + item.Obj_Table + "." + item.Obj_Pro_Code.ToString().ToUpper();
                    string zn_CN2 = "select value from flc_lang where key='{0}' and lan='zn_CN'";
                    string en_US2 = "select value from flc_lang where key='{0}' and lan='en_US'";

                    zn_CN2 = AppDataBase.ExecuteScalar(string.Format(zn_CN2, code)).ToString();
                    en_US2 = AppDataBase.ExecuteScalar(string.Format(en_US2, code)).ToString();

                    item.Zn_Cn  = zn_CN2;
                    item.en_Us  = en_US2;
                    item.Is_Del = false;
                }

                getObj.obj_property = obj_propertys;
                #endregion

                #region 获得所有对象名称
                string all_object            = @"select obj_code,value from flc_object t left join flc_lang e on 
                                           t.obj_code=e.key and e.lan='" + Language + "'";
                IEnumerable <Allobj> allobjs = AppDataBase.Query <Allobj>(all_object);

                foreach (Allobj item in allobjs)
                {
                    if (item.Value == "")
                    {
                        item.Value = item.Obj_Code;
                    }
                }
                getObj.allobj = allobjs;
                #endregion

                #region 获得所有对象表
                string all_objecttab = "select obj_table from flc_objects where obj_code='" + obj_code + "'";
                IEnumerable <Allobjtab> allobjtab = AppDataBase.Query <Allobjtab>(all_objecttab);

                getObj.allobjtab = allobjtab;
                #endregion

                return(getObj);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
Esempio n. 20
0
        public List <Dictionary <string, IEnumerable <V_FLC_OBJECTPROPERTY> > > GetPropertyByObjCode(string objectCode, string Lan)
        {
            if (string.IsNullOrEmpty(Lan))
            {
                Lan = "zn_CN";
            }

            List <Dictionary <string, IEnumerable <V_FLC_OBJECTPROPERTY> > > TableList = null;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                // IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    //ObjectsUnionLang
                    string sql = @"select t.*,l.value from FLC_Objects t
                    left join FLC_LANG l on Lower(l.key) = Lower(Concat(Concat(t.obj_code,'.'),t.obj_table))
                    where obj_code = :objectCode and l.lan = :LAN
                    union all
                    select t.*,l.value from FLC_Objects t
                    left join FLC_LANG l on Lower(l.key) = Lower(Concat(Concat(t.obj_code,'.'),t.obj_table))
                    where obj_code = :objectCode and l.lan is null
                    ";

                    var para = new DynamicParameters();
                    para.Add(":objectCode", objectCode);
                    para.Add(":LAN", Lan);

                    IEnumerable <ObjectsUnionLang> objectsUnionLangs = AppDataBase.Query <ObjectsUnionLang>(sql, para, null, dbConnection);

                    Dictionary <string, IEnumerable <V_FLC_OBJECTPROPERTY> > keyValues = new Dictionary <string, IEnumerable <V_FLC_OBJECTPROPERTY> >();

                    foreach (ObjectsUnionLang item in objectsUnionLangs)
                    {
                        IEnumerable <V_FLC_OBJECTPROPERTY> v_FLC_OBJECTPROPERTY = null;

                        sql  = @"Select * from v_flc_objectproperty v where
                        lower(v.obj_code)=Lower(:objectCode) and V.LAN=:LAN and lower(v.obj_table) = lower(:objectTable) and v.obj_pro_visible='0'
                        union all
                        Select * from v_flc_objectproperty v
                        where lower(v.obj_code)=Lower(:objectCode) and V.LAN is null and lower(v.obj_table) = lower(:objectTable) and v.obj_pro_visible='0'
                    ";
                        para = new DynamicParameters();
                        para.Add(":objectCode", objectCode);
                        para.Add(":LAN", Lan);
                        para.Add(":objectTable", item.OBJ_TABLE);

                        v_FLC_OBJECTPROPERTY = AppDataBase.Query <V_FLC_OBJECTPROPERTY>(sql, para, null, dbConnection);

                        if (string.IsNullOrEmpty(item.VALUE))
                        {
                            item.VALUE = item.OBJ_TABLE;
                        }
                        keyValues.Add(item.VALUE, v_FLC_OBJECTPROPERTY);
                    }

                    TableList.Add(keyValues);
                }
                catch (Exception e)
                {
                    throw e;
                }
            }

            return(TableList);
        }
Esempio n. 21
0
        public GetDefaultLayout GetDefaultLayout(string objectCode, string Lan)
        {
            GetDefaultLayout getDefaultLayout = null;

            if (string.IsNullOrEmpty(Lan))
            {
                Lan = "zn_CN";
            }
            string sql;

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                //IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    sql = @"select t.*,t1.obj_pro_type,t1.obj_pro_length,t1.obj_pro_digit,t1.obj_pro_enable,t1.obj_pro_using,t1.obj_pro_enum as pro_using
                        ,t.notnull as obj_pro_null  ,t1.obj_pro_default,t.OFFER_NUMBER
                        from FLC_OBJ_SHOW_DEFAULT t,FLC_OBJECT_PROPERTY t1
                        where lower(t.obj_code) = lower(:objectCode)
                        and ((t.obj_pro_object like '%|'|| t1.obj_code and t.obj_pro_table like '%|'||t1.obj_table and t.obj_pro_source like '%.'||t1.obj_pro_code)
                        or (t.obj_pro_object = t1.obj_code and t.obj_pro_table =t1.obj_table and t.obj_pro_source =t1.obj_pro_code)
                        or (t1.obj_pro_type = 6 and t1.obj_code = t.obj_code and t1.obj_table = t.obj_table and t1.obj_pro_code = t.obj_pro_code))
                        and t.lan = :LAN  order by IORDER,layout_y,layout_x";

                    var para = new DynamicParameters();
                    para.Add(":objectCode", objectCode);
                    para.Add(":LAN", Lan);

                    IEnumerable <dynamic> LayoutTable = AppDataBase.Query <dynamic>(sql, para, null, dbConnection);
                    getDefaultLayout.LayoutTable = LayoutTable;

                    IEnumerable <dynamic> drs = LayoutTable.Where(x => x.obj_pro_type == 6);

                    if (drs.Count() > 0)
                    {
                        string enumObject = "'-999'";
                        foreach (DataRow dr in drs)
                        {
                            enumObject += ",'" + dr["pro_using"].ToString().Trim() + "'";
                        }
                        sql = "Select * from data_enummethon where enum_key in (" + enumObject + ") and lan = :Lan";

                        para = new DynamicParameters();
                        para.Add(":Lan", Lan);

                        IEnumerable <dynamic> Enum = AppDataBase.Query <dynamic>(sql, para, null, dbConnection);
                        getDefaultLayout.Enum = Enum;
                    }

                    sql = @"   
                         Select   rec.obj_code as objectcontrol,rec.iorder, rec.obj_pro_object,rec.obj_pro_name,
                        case when pro.obj_code is null then   rec.obj_pro_object else  pro.obj_code end as obj_code,
                        case when pro.obj_table is null then   rec.obj_pro_table else  pro.obj_table end as obj_table,
                        case when pro.obj_pro_code is null then  rec.obj_pro_source else  pro.obj_pro_code end as obj_pro_code,
                        pro.OBJ_PRO_TYPE,pro.obj_pro_enable,rec.obj_pro_name as   obj_name   
                        from FLC_LIST_RECORD rec
                         left join v_flc_objectproperty pro on pro.obj_code=rec.obj_pro_object and lan='zn_CN' and pro.obj_pro_code=rec.obj_pro_source  
                         where   rec.obj_code like :objCode   and rec.OBJ_LIST_CODE = :listCode and   type='Reference'
                         order by rec.obj_code,rec.iorder      ";

                    para = new DynamicParameters();
                    para.Add(":objCode", objectCode + ".%");
                    para.Add(":listCode", "test");

                    IEnumerable <dynamic> dtShow = AppDataBase.Query <dynamic>(sql, para, null, dbConnection);
                    getDefaultLayout.dtShow = dtShow;
                    //transaction.Commit();
                }
                catch (Exception e)
                {
                    // transaction.Rollback();
                    throw e;
                }
            }

            return(getDefaultLayout);
        }
Esempio n. 22
0
        public void GetLayoutByObjectCode(string objectCode, string Lan)
        {
            if (string.IsNullOrEmpty(Lan))
            {
                Lan = "zn_CN";
            }
            string sql;
            var    para  = new DynamicParameters();
            string count = "0";

            using (IDbConnection dbConnection = (new AppDataBase()).connection)
            {
                dbConnection.Open();
                IDbTransaction transaction = dbConnection.BeginTransaction();
                try
                {
                    sql = @"select t.*,t1.obj_pro_type,t1.obj_pro_length,t1.obj_pro_digit,t1.obj_pro_using,t1.obj_pro_enum as pro_using
,t.notnull as obj_pro_null  ,t1.obj_pro_default,t.OFFER_NUMBER ,t2.obj_pro_enable,t1.obj_pro_positive
from flc_obj_show t,FLC_OBJECT_PROPERTY t1,FLC_OBJECT_PROPERTY t2
where lower(t.obj_code) = lower(:objectCode)
and ((t.obj_pro_object like '%|'|| t1.obj_code and t.obj_pro_table like '%|'||t1.obj_table and t.obj_pro_source like '%.'||t1.obj_pro_code)
or (t.obj_pro_object = t1.obj_code and t.obj_pro_table =t1.obj_table and t.obj_pro_source =t1.obj_pro_code)
or (t1.obj_pro_type = 6 and t1.obj_code = t.obj_code and t1.obj_table = t.obj_table and t1.obj_pro_code = t.obj_pro_code))
and t.lan = :LAN
and t.obj_code= t2.obj_code and t.obj_table = t2.obj_table and 
(t.obj_pro_source like t2.obj_pro_code||'.%' or t.obj_pro_source = t2.obj_pro_code)
order by IORDER,layout_y,layout_x";

                    para.Add(":objectCode", objectCode);
                    para.Add(":LAN", Lan);
                    IEnumerable <dynamic> LayoutTable = AppDataBase.Query <dynamic>(sql, para, transaction, dbConnection);

                    var counst = LayoutTable.Where(x => x.obj_pro_type == 6);
                    if (counst.Count() > 0)
                    {
                        string enumObject = "'-999'";
                        foreach (var dr in counst)
                        {
                            enumObject += ",'" + dr.pro_using.Trim() + "'";
                        }
                        sql  = "Select * from data_enummethon where enum_key in (" + enumObject + ") and lan = :Lan";
                        para = new DynamicParameters();
                        para.Add(":Lan", Lan);

                        IEnumerable <dynamic> Enum = AppDataBase.Query <dynamic>(sql, para, transaction, dbConnection);
                    }


                    sql = @"   
                         Select   rec.obj_code as objectcontrol,rec.iorder, rec.obj_pro_object,rec.obj_pro_name,
                        case when pro.obj_code is null then   rec.obj_pro_object else  pro.obj_code end as obj_code,
                        case when pro.obj_table is null then   rec.obj_pro_table else  pro.obj_table end as obj_table,
                        case when pro.obj_pro_code is null then  rec.obj_pro_source else  pro.obj_pro_code end as obj_pro_code,
                        pro.OBJ_PRO_TYPE,pro.obj_pro_enable,rec.obj_pro_name as   obj_name   
                        from FLC_LIST_RECORD rec
                         left join v_flc_objectproperty pro on pro.obj_code=rec.obj_pro_object and lan='zn_CN' and pro.obj_pro_code=rec.obj_pro_source  
                         where   rec.obj_code like :objCode   and rec.OBJ_LIST_CODE = :listCode and   type='Reference'
                         order by rec.obj_code,rec.iorder      ";

                    para = new DynamicParameters();
                    para.Add(":objCode", objectCode + ".%");
                    para.Add(":listCode", "test");



                    transaction.Commit();
                }
                catch (Exception e)
                {
                    transaction.Rollback();
                    throw e;
                }
            }
        }