Beispiel #1
0
        public override string BuildSingleStrategyString(Strategy strategy)
        {
            ProjectStrategyName name = (ProjectStrategyName)strategy.Name;
            string text = "";

            if (strategy.Type == StrategyType.Other)
            {
                switch (name)
                {
                case ProjectStrategyName.False:
                    return("1=2");

                case ProjectStrategyName.ProjectCode:
                    return(text);

                case ProjectStrategyName.ProjectCodeNot:
                    return(string.Format("ProjectCode <> '{0}'", strategy.GetParameter(0)));

                case ProjectStrategyName.ProjectCodeIn:
                    return(string.Format("ProjectCode in ('{0}')", strategy.GetParameter(0).Replace(",", "','")));

                case ProjectStrategyName.UnitCode:
                {
                    string unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0));
                    if (unitFullCode == "")
                    {
                        return(" 1 = 2");
                    }
                    return(string.Format(" projectCode in ( select relaCode from unit where unitType='项目' and FullCode like '{0}%' ) ", unitFullCode));
                }
                }
                return(text);
            }
            return(StandardStrategyStringBuilder.BuildStrategyString(strategy));
        }
Beispiel #2
0
        public override string BuildSingleStrategyString(Strategy strategy)
        {
            UnitStrategyName name = (UnitStrategyName)strategy.Name;
            string           text = "";

            if (strategy.Type == StrategyType.Other)
            {
                switch (name)
                {
                case UnitStrategyName.OnlyHasUser:
                    return(" dbo.GetUnitUserCount(UnitCode) > 0");

                case UnitStrategyName.SortID:
                    return(text);

                case UnitStrategyName.ProjectCode:
                    return(string.Format(" FullCode LIKE dbo.GetUnitFullCodeByProjectCode('{0}') + '%'", strategy.GetParameter(0)));

                case UnitStrategyName.UnderUnitCode:
                {
                    string unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0));
                    return(string.Format("  FullCode like '{0}%' ", strategy.GetParameter(0)));
                }
                }
                return(text);
            }
            return(StandardStrategyStringBuilder.BuildStrategyString(strategy));
        }
Beispiel #3
0
        public override string BuildSingleStrategyString(Strategy strategy)
        {
            RoleStrategyName name            = (RoleStrategyName)strategy.Name;
            string           projectUnitCode = "";
            string           unitFullCode    = "";

            if (strategy.Type == StrategyType.Other)
            {
                switch (name)
                {
                case RoleStrategyName.ProjectCode:
                    projectUnitCode = ProjectDAO.GetProjectUnitCode(strategy.GetParameter(0));
                    return(string.Format(" exists ( select * from userRole where userrole.RoleCode = Role.RoleCode and unitCode ='{0}' )  ", unitFullCode));

                case RoleStrategyName.ProjectCodeEx:
                    unitFullCode = OBSDAO.GetUnitFullCode(ProjectDAO.GetProjectUnitCode(strategy.GetParameter(0)));
                    return(string.Format(" exists ( select * from userRole where userrole.RoleCode = Role.RoleCode and unitCode in ( select unitCode from unit where fullCode like '{0}%'))  ", unitFullCode));

                case RoleStrategyName.UnitCode:
                    unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0));
                    return(string.Format(" exists ( select * from userRole where userrole.RoleCode = Role.RoleCode and unitCode in ( select unitCode from unit where fullCode like '{0}%'))  ", unitFullCode));

                case RoleStrategyName.ModuleCode:
                    return(string.Format(" RoleCode in ( select RoleCode from RoleModule where ModuleCode='{0}' ) ", strategy.GetParameter(0)));

                case RoleStrategyName.UserCode:
                    return(string.Format(" RoleCode in ( select RoleCode from UserRole where UserCode='{0}' ) ", strategy.GetParameter(0)));
                }
                return("");
            }
            return(StandardStrategyStringBuilder.BuildStrategyString(strategy));
        }
Beispiel #4
0
        /// <summary>
        /// 生成SQL语句
        /// </summary>
        /// <param name="strategy"></param>
        /// <returns></returns>
        public override string BuildSingleStrategyString(Strategy strategy)
        {
            UserStrategyName name = (UserStrategyName)strategy.Name;
            string           text = "";

            if (strategy.Type == StrategyType.Other)
            {
                string text2        = "";
                string unitFullCode = "";
                string text4        = "";
                string text5        = "";
                string parameter    = "";
                switch (name)
                {
                case UserStrategyName.UserCodes:
                    return(string.Format(" UserCode in ( {0} )", strategy.GetParameter(0)));

                case UserStrategyName.UsersAndStations:
                    parameter = strategy.GetParameter(0);
                    text5     = strategy.GetParameter(1);
                    return(string.Format(" (  ( UserCode in ( {0} ) ) or   exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and UserRole.StationCode in ( {1} )  ) ) ", parameter, text5));

                case UserStrategyName.UserID:
                case UserStrategyName.UserName:
                case UserStrategyName.PassWord:
                case UserStrategyName.OwnName:
                case UserStrategyName.Status:
                case UserStrategyName.Sex:
                case UserStrategyName.SortID:
                    return(text);

                case UserStrategyName.StationCode:
                {
                    string text7 = strategy.GetParameter(0);
                    return(string.Format("  exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and UserRole.StationCode ='{0}'  )  ", text7));
                }

                case UserStrategyName.StationCodes:
                    text5 = strategy.GetParameter(0);
                    return(string.Format("  exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and UserRole.StationCode in ( {0} )  )  ", text5));

                case UserStrategyName.NoStation:
                    return(" not exists (select * from UserRole where UserRole.UserCode = SystemUser.UserCode)");

                case UserStrategyName.RoleCode:
                    text4 = strategy.GetParameter(0);
                    return(string.Format("  exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and Station.RoleCode='{0}' ) ) ", strategy.GetParameter(0)));

                case UserStrategyName.ProjectCode:
                    unitFullCode = OBSDAO.GetUnitFullCode(ProjectDAO.GetProjectUnitCode(strategy.GetParameter(0)));
                    return(string.Format("  exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and exists (  select 1 from Unit where Station.UnitCode=Unit.UnitCode and Unit.FullCode like '{0}%' ) ) )  ", unitFullCode));

                case UserStrategyName.UnitCodeEx:
                    unitFullCode = OBSDAO.GetUnitFullCode(strategy.GetParameter(0));
                    return(string.Format("  exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and exists (  select 1 from Unit where Station.UnitCode=Unit.UnitCode and Unit.FullCode like '{0}%' ) ) )  ", unitFullCode));

                case UserStrategyName.UnitCode:
                    text2 = strategy.GetParameter(0);
                    return(string.Format("  exists ( select 1 from UserRole where UserRole.UserCode=SystemUser.UserCode and exists ( select 1 from Station where Station.StationCode=UserRole.StationCode and Station.UnitCode='{0}' ) )  ", text2));

                case UserStrategyName.WBSCode:
                    return(string.Format(" exists (select * from TaskPerson where TaskPerson.UserCode = [SystemUser].UserCode and TaskPerson.WBSCode ='{0}' and Type = 2 )", strategy.GetParameter(0)));

                case UserStrategyName.UserIdorUserName:
                    return(string.Format(" ( userid ='{0}' or username='******' )", Strategy.ReplaceSingleQuote(strategy.GetParameter(0))));
                }
                return(text);
            }
            return(StandardStrategyStringBuilder.BuildStrategyString(strategy));
        }