public IEnumerable <SysApplicationEntity> GetCanBindApplication(DependentSearchRequest request, PageItem pageItem)
        {
            StringBuilder command = new StringBuilder();

            command.AppendLine("SELECT A.AppId,A.AppName,A.AppEName,A.AppTypeId,A.Owner,A.Status,");
            command.AppendLine("CASE WHEN B.DependentAppId IS NOT NULL THEN 1 ELSE 0 END AS IsDependent");
            command.AppendLine("FROM SysApplication A WITH(NOLOCK) ");
            command.AppendFormat("LEFT JOIN SysAppDependent B WITH(NOLOCK) ON A.APPID=B.DependentAppId AND B.APPID={0} ", request.AppId);
            command.AppendFormat("WHERE A.APPID<>{0} ", request.AppId);
            if (!string.IsNullOrEmpty(request.AppName))
            {
                command.AppendFormat("AND (A.AppName LIKE '%{0}%' OR A.AppEName LIKE '%{0}%') ", request.AppName);
            }
            if (request.AppTypeId >= 0)
            {
                command.AppendFormat("AND A.AppTypeId={0} ", request.AppTypeId);
            }
            if (request.Bind >= 0)
            {
                if (request.Bind == 0)
                {
                    command.AppendFormat("AND B.DependentAppId IS NULL ", request.Bind);
                }
                else
                {
                    command.AppendFormat("AND B.DependentAppId IS NOT NULL ", request.Bind);
                }
            }
            if (request.Status >= 0)
            {
                command.AppendFormat("AND A.Status={0} ", request.Status);
            }
            if (request.SubSystemId >= 0)
            {
                command.AppendFormat("AND A.SubSystemId={0} ", request.SubSystemId);
            }
            command.AppendLine("ORDER BY AppId");
            using (var conn = new SqlConnection(ConnectionStr.FxDb))
            {
                conn.Open();
                return(DapperHelper <SysApplicationEntity> .GetPageList(ConnectionStr.FxDb, command.ToString(), pageItem));
            }
        }
        public ActionResult Dependent(int id, AppDependentSearchArgs arg, int pageIndex = 1)
        {
            ViewBag.AppId = id;
            #region 查询参数
            DependentSearchRequest request = new DependentSearchRequest()
            {
                SubSystemId = arg.SubSystemId,
                Status      = arg.Status,
                AppTypeId   = arg.AppTypeId,
                AppName     = arg.AppName,
                Bind        = arg.Bind,
                AppId       = id
            };
            #endregion

            PageItem pageItem = new PageItem {
                PageIndex = pageIndex, PageSize = 15
            };

            List <Entity.SysSubEntity>     subSystemList = subSystemLogic.GetSubSystemList().ToList <Entity.SysSubEntity>();
            List <Entity.SysAppTypeEntity> appTypeList   = appTypeLogic.GetAppTypeList().ToList <Entity.SysAppTypeEntity>();

            appTypeList.Insert(0, new SysAppTypeEntity()
            {
                AppTypeId = -1, TypeName = "全部"
            });
            subSystemList.Insert(0, new SysSubEntity()
            {
                SubSystemId = -1, SystemName = "全部"
            });

            ViewBag.AppTypeId         = new SelectList(appTypeList, "AppTypeId", "TypeName");
            ViewBag.SubSystemId       = new SelectList(subSystemList, "SubSystemId", "SystemName");
            ViewBag.AppState          = new SelectList(EnumHelper.GetItemValueList <EntityStatus>(), "Key", "Value");
            ViewBag.DictionaryAppType = appTypeList.ToDictionary(k => k.AppTypeId, v => v);

            List <SysApplicationEntity> sysApplicationList = logic.GetCanBindApplication(request, pageItem).ToList <SysApplicationEntity>();
            ViewBag.SysApplicationList = new PagedList <SysApplicationEntity>(sysApplicationList, pageItem.PageIndex, pageItem.PageSize, pageItem.TotalCount);

            return(View(arg));
        }
Example #3
0
 public IEnumerable <SysApplicationEntity> GetCanBindApplication(DependentSearchRequest request, PageItem pageItem = null)
 {
     return(sysApplicationDal.GetCanBindApplication(request, pageItem));
 }