代码优化

master
xiaochanghai 1 year ago
parent ca97ad4f33
commit 1a07f37668
  1. 635
      Tiobon.Core.Services/CommonServices.cs
  2. 3029
      Tiobon.Core/Tiobon.Core.Model.xml
  3. 667
      Tiobon.Core/Tiobon.Core.xml

@ -302,146 +302,486 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
AND a.UserID = '{1}'
AND a.IsEnable = 1
AND a.PageSettingQueryId = b.PageSettingQueryId";
sql = string.Format(sql, param.menuName, App.User.ID);
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
int UserHasSetting = Db.Ado.GetInt(sql);
if (UserHasSetting == 0)
{
sql = @"insert into [dbo].[#TmpInitPageSettingQuery]
select PageSettingQueryId,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,sortOrder,defaultHidden, ConfigIsShow,filterable,
case when width='' then '100' else width end ,align,fixed,editable, searchable,searchRequired,searchColumnSeq,multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
'false'isSorted, 'false' isHidden,
case when searchColumnSeq is null or searchColumnSeq='' then 'false' else 'true' end isSearched,SortNo,
searchCanOperator,'' searchColumnDefaultValue,'' AppColumnType
from Ghrs_PageSettingQuery where PageNo='F_Title' and elementType not in ( 'PageGroup') and IsEnable=1
order by SortNo";
sql = @"INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT PageSettingQueryId,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource, APIDataSourceType, Ghrs_PageSettingQuery.APIDataSourceID)
dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false'
isSorted,
'false'
isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = '' THEN 'false'
ELSE 'true'
END
isSearched,
SortNo,
searchCanOperator,
''
searchColumnDefaultValue,
''
AppColumnType
FROM Ghrs_PageSettingQuery
WHERE PageNo = '{0}'
AND elementType NOT IN ('PageGroup')
AND IsEnable = 1
ORDER BY SortNo";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
count = Db.Ado.ExecuteCommand(sql);
}
else
{
sql = @"insert into [dbo].[#TmpInitPageSettingQuery]
select a.PageSettingQueryId,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,b.APIDataSourceID) dataSource,
sortable,isnull(a.sortOrder,b.sortOrder),defaultHidden, ConfigIsShow,filterable,
case when isnull(a.width,b.width) ='' then '100' else isnull(a.width,b.width) end ,align,a.fixed,editable, searchable,searchRequired,isnull(a.searchColumnSeq,b.searchColumnSeq),multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
a.isSorted isSorted, isnull(a.isHidden,'false') isHidden,
case when a.searchColumnSeq is null or a.searchColumnSeq='' then 'false' else 'true' end isSearched,a.SortNo,
b.searchCanOperator ,'' searchColumnDefaultValue,'' AppColumnType
from Ghrs_UserPageSettingQueryColumn a,Ghrs_PageSettingQuery b
where b.PageNo='F_Title' and b.IsEnable=1 and b.elementType not in ( 'PageGroup')
and a.UserID=1 and a.IsEnable=1 and a.PageSettingQueryId=b.PageSettingQueryId
order by a.SortNo,b.SortNo
insert into [dbo].[#TmpInitPageSettingQuery]
select PageSettingQueryId,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,sortOrder,defaultHidden, ConfigIsShow,filterable,
case when width='' then '100' else width end ,align,fixed,editable, searchable,searchRequired,searchColumnSeq,multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
'false' isSorted, 'false' isHidden,
case when searchColumnSeq is null or searchColumnSeq='' then 'false' else 'true' end isSearched,SortNo,
searchCanOperator,'' searchColumnDefaultValue ,'' AppColumnType
from Ghrs_PageSettingQuery where PageNo='F_Title' and elementType not in ( 'PageGroup') and IsEnable=1
and elementtype='FnKey'
and not exists (select 1 from [dbo].[#TmpInitPageSettingQuery] kk
where kk.pageColumnID=Ghrs_PageSettingQuery.PageSettingQueryId
and kk.field=Ghrs_PageSettingQuery.field
and kk.elementtype=Ghrs_PageSettingQuery.elementtype)
order by SortNo ";
sql = @"INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT a.PageSettingQueryId,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource, APIDataSourceType, b.APIDataSourceID)
dataSource,
sortable,
isnull (a.sortOrder, b.sortOrder),
defaultHidden,
ConfigIsShow,
filterable,
CASE
WHEN isnull (a.width, b.width) = '' THEN '100'
ELSE isnull (a.width, b.width)
END,
align,
a.fixed,
editable,
searchable,
searchRequired,
isnull (a.searchColumnSeq, b.searchColumnSeq),
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
a.isSorted
isSorted,
isnull (a.isHidden, 'false')
isHidden,
CASE
WHEN a.searchColumnSeq IS NULL OR a.searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END
isSearched,
a.SortNo,
b.searchCanOperator,
''
searchColumnDefaultValue,
''
AppColumnType
FROM Ghrs_UserPageSettingQueryColumn a, Ghrs_PageSettingQuery b
WHERE b.PageNo = '{0}'
AND b.IsEnable = 1
AND b.elementType NOT IN ('PageGroup')
AND a.UserID = '{1}'
AND a.IsEnable = 1
AND a.PageSettingQueryId = b.PageSettingQueryId
ORDER BY a.SortNo, b.SortNo
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT PageSettingQueryId,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE PageNo = '{0}'
AND elementType NOT IN ('PageGroup')
AND IsEnable = 1
AND elementtype = 'FnKey'
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE kk.pageColumnID =
Ghrs_PageSettingQuery.PageSettingQueryId
AND kk.field = Ghrs_PageSettingQuery.field
AND kk.elementtype = Ghrs_PageSettingQuery.elementtype)
ORDER BY SortNo ";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
count = Db.Ado.ExecuteCommand(sql);
}
sql = @"
--
if OBJECT_ID('tempdb.[dbo].[#TempInitUserPageFnKey]') IS NOT NULL
begin
insert into [dbo].[#TmpInitPageSettingQuery]
select 0,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,sortOrder,defaultHidden, ConfigIsShow,filterable,
case when width='' then '100' else width end ,align,fixed,editable, searchable,searchRequired,searchColumnSeq,multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
'false'isSorted, 'false' isHidden,
case when searchColumnSeq is null or searchColumnSeq='' then 'false' else 'true' end isSearched,SortNo,
searchCanOperator,'' searchColumnDefaultValue ,'' AppColumnType
from Ghrs_PageSettingQuery where field='Muti' and IsEnable=1
and elementtype='FnKey' and pageno='F_Dept'
and exists (select 1 from [dbo].[#TempInitUserPageFnKey] where fnKey='Muti')
and not exists (select 1 from [dbo].[#TmpInitPageSettingQuery] kk
where kk.pageColumnID=Ghrs_PageSettingQuery.PageSettingQueryId
and kk.field=Ghrs_PageSettingQuery.field
and kk.elementtype=Ghrs_PageSettingQuery.elementtype)
order by SortNo
--
insert into [dbo].[#TmpInitPageSettingQuery]
select 0,elementType,'DetailYN',label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,sortOrder,defaultHidden, ConfigIsShow,filterable,
case when width='' then '100' else width end ,align,fixed,editable, searchable,searchRequired,searchColumnSeq,multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
'false'isSorted, 'false' isHidden,
case when searchColumnSeq is null or searchColumnSeq='' then 'false' else 'true' end isSearched,SortNo,
searchCanOperator,'' searchColumnDefaultValue,'' AppColumnType
from Ghrs_PageSettingQuery where field='Muti' and IsEnable=1
and elementtype='FnKey' and pageno='F_Dept'
and exists (select 1 from [dbo].[#TempInitUserPageFnKey] where fnKey='DetailYN')
and not exists (select 1 from [dbo].[#TmpInitPageSettingQuery] kk
where field='DetailYN' and elementtype='FnKey')
order by SortNo
end
else
begin
insert into [dbo].[#TmpInitPageSettingQuery]
select 0,elementType,field,label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,sortOrder,defaultHidden, ConfigIsShow,filterable,
case when width='' then '100' else width end ,align,fixed,editable, searchable,searchRequired,searchColumnSeq,multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
'false'isSorted, 'false' isHidden,
case when searchColumnSeq is null or searchColumnSeq='' then 'false' else 'true' end isSearched,SortNo,
searchCanOperator,'' searchColumnDefaultValue ,'' AppColumnType
from Ghrs_PageSettingQuery where field='Muti' and IsEnable=1
and elementtype='FnKey' and pageno='F_Dept'
and not exists (select 1 from [dbo].[#TmpInitPageSettingQuery] kk
where kk.pageColumnID=Ghrs_PageSettingQuery.PageSettingQueryId
and kk.field=Ghrs_PageSettingQuery.field
and kk.elementtype=Ghrs_PageSettingQuery.elementtype)
order by SortNo
--
insert into [dbo].[#TmpInitPageSettingQuery]
select 0,elementType,'DetailYN',label,Meky,multipleSelect,dataType,required,palceholder,dataSourceType,
dbo.FS_GetdataSourceBySet(dataSource,APIDataSourceType,Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,sortOrder,defaultHidden, ConfigIsShow,filterable,
case when width='' then '100' else width end ,align,fixed,editable, searchable,searchRequired,searchColumnSeq,multipleSearchValue,maxTagCount,selfDefine,selectUI,isPrimaryKey,
'false'isSorted, 'false' isHidden,
case when searchColumnSeq is null or searchColumnSeq='' then 'false' else 'true' end isSearched,SortNo,
searchCanOperator,'' searchColumnDefaultValue ,'' AppColumnType
from Ghrs_PageSettingQuery where field='Muti' and IsEnable=1
and elementtype='FnKey' and pageno='F_Dept'
and not exists (select 1 from [dbo].[#TmpInitPageSettingQuery] kk
where field='DetailYN' and elementtype='FnKey')
order by SortNo
end
--
if OBJECT_ID('tempdb.[dbo].[#TempInitUserPageFnKey]') IS NOT NULL
begin
update [dbo].[#TmpInitPageSettingQuery] set editable='false'
where ( not exists (select 1 from [dbo].[#TempInitUserPageFnKey] where fnKey='UpdateYN'
and 'F_Title' not in ('F_Staff~1','F_StaffToDo','F_StaffQuery',
'F_StaffChangeToDo','F_StaffChangeToEnable','F_StaffChangeQuery',
'F_SalaryChangeToDo','F_SalaryChange','F_SalaryChangeQuery'
)
) and
not exists (select 1 from [dbo].[#TempInitUserPageFnKey] where fnKey='TBD2YN'
and 'F_Title' in ('F_Staff~1','F_StaffToDo','F_StaffQuery') ) and
not exists (select 1 from [dbo].[#TempInitUserPageFnKey] where fnKey='TBD5YN'
and 'F_Title' in ('F_StaffChangeToDo','F_StaffChangeToEnable','F_StaffChangeQuery' ,
'F_SalaryChangeToDo','F_SalaryChange','F_SalaryChangeQuery')
)
)
and 'F_Title' not in ( 'F_SchedulePeriodSetup')
end
-- ()
update [dbo].[#TmpInitPageSettingQuery] set label=[dbo].[FLangKeyToValue](Meky,1,label);
update [dbo].[#TmpInitPageSettingQuery] set width=50 where elementType='FnKey' or field='Muti' ;";
--
IF OBJECT_ID ('tempdb.[dbo].[#TempInitUserPageFnKey]') IS NOT NULL
BEGIN
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'Muti')
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE kk.pageColumnID =
Ghrs_PageSettingQuery.PageSettingQueryId
AND kk.field = Ghrs_PageSettingQuery.field
AND kk.elementtype =
Ghrs_PageSettingQuery.elementtype)
ORDER BY SortNo
--
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
'DetailYN',
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'DetailYN')
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE field = 'DetailYN' AND elementtype = 'FnKey')
ORDER BY SortNo
END
ELSE
BEGIN
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
field,
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE kk.pageColumnID =
Ghrs_PageSettingQuery.PageSettingQueryId
AND kk.field = Ghrs_PageSettingQuery.field
AND kk.elementtype =
Ghrs_PageSettingQuery.elementtype)
ORDER BY SortNo
--
INSERT INTO [dbo].[#TmpInitPageSettingQuery]
SELECT 0,
elementType,
'DetailYN',
label,
Meky,
multipleSelect,
dataType,
required,
palceholder,
dataSourceType,
dbo.FS_GetdataSourceBySet
(dataSource,
APIDataSourceType,
Ghrs_PageSettingQuery.APIDataSourceID) dataSource,
sortable,
sortOrder,
defaultHidden,
ConfigIsShow,
filterable,
CASE WHEN width = '' THEN '100' ELSE width END,
align,
fixed,
editable,
searchable,
searchRequired,
searchColumnSeq,
multipleSearchValue,
maxTagCount,
selfDefine,
selectUI,
isPrimaryKey,
'false' isSorted,
'false' isHidden,
CASE
WHEN searchColumnSeq IS NULL OR searchColumnSeq = ''
THEN
'false'
ELSE
'true'
END isSearched,
SortNo,
searchCanOperator,
'' searchColumnDefaultValue,
'' AppColumnType
FROM Ghrs_PageSettingQuery
WHERE field = 'Muti'
AND IsEnable = 1
AND elementtype = 'FnKey'
AND pageno = 'F_Dept'
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TmpInitPageSettingQuery] kk
WHERE field = 'DetailYN' AND elementtype = 'FnKey')
ORDER BY SortNo
END
--
IF OBJECT_ID ('tempdb.[dbo].[#TempInitUserPageFnKey]') IS NOT NULL
BEGIN
UPDATE[dbo].[#TmpInitPageSettingQuery]
SET editable = 'false'
WHERE ( NOT EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'UpdateYN'
AND '{0}' NOT IN ('F_Staff~1',
'F_StaffToDo',
'F_StaffQuery',
'F_StaffChangeToDo',
'F_StaffChangeToEnable',
'F_StaffChangeQuery',
'F_SalaryChangeToDo',
'F_SalaryChange',
'F_SalaryChangeQuery'))
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'TBD2YN'
AND '{0}' IN
('F_Staff~1',
'F_StaffToDo',
'F_StaffQuery'))
AND NOT EXISTS
(SELECT 1
FROM [dbo].[#TempInitUserPageFnKey]
WHERE fnKey = 'TBD5YN'
AND '{0}' IN ('F_StaffChangeToDo',
'F_StaffChangeToEnable',
'F_StaffChangeQuery',
'F_SalaryChangeToDo',
'F_SalaryChange',
'F_SalaryChangeQuery')))
AND '{0}' NOT IN ('F_SchedulePeriodSetup')
END
-- ()
UPDATE[dbo].[#TmpInitPageSettingQuery]
SET label = [dbo].[FLangKeyToValue] (Meky, {2}, label);
UPDATE[dbo].[#TmpInitPageSettingQuery]
SET width = 50
WHERE elementType = 'FnKey' OR field = 'Muti';";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
count = Db.Ado.ExecuteCommand(sql);
sql = @"select pageColumnID,elementType, field,label,meky, multipleSelect, dataType,
@ -450,7 +790,7 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
searchRequired,searchColumnSeq, multipleSearchValue, maxTagCount,
selfDefine, selectUI, isPrimaryKey,isSorted,isHidden,isSearched,sortNo,
( select ParaDetailNo operator,
[dbo].[FLangKeyToValue](MKey,1,ParaDetailName) operatorDesc,
[dbo].[FLangKeyToValue](MKey,{2},ParaDetailName) operatorDesc,
SqlFunction operatorIcon
from Ghrs_ParaDetail where ParaMasterId=13 and IsEnable=1
and ParaDetailNo in (select Value from dbo.Fs1_GHR30_SplitString2(searchOperator,','))
@ -461,30 +801,33 @@ public partial class CommonServices : BaseServices<RootEntityTkey<int>>, ICommon
AppColumnType
from [dbo].[#TmpInitPageSettingQuery]
order by sortno";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
result.JM_TableColumnT1.TableColumn = Db.Ado.SqlQuery<TableColumn>(sql);
Db.Ado.CommitTran();
sql = @"SELECT Langkey field,
CASE 1
WHEN 1 THEN isnull (Value01, LangValue)
WHEN 2 THEN isnull (Value02, LangValue)
WHEN 3 THEN isnull (Value03, LangValue)
WHEN 4 THEN isnull (Value04, LangValue)
WHEN 5 THEN isnull (Value05, LangValue)
WHEN 6 THEN isnull (Value06, LangValue)
WHEN 7 THEN isnull (Value07, LangValue)
WHEN 8 THEN isnull (Value08, LangValue)
WHEN 9 THEN isnull (Value09, LangValue)
WHEN 10 THEN isnull (Value10, LangValue)
END label
FROM Ghrs_LangKey
WHERE IsEnable = 1
AND (LangKey LIKE 'GHR_Page%' OR LangKey LIKE 'GHR_Common%')";
CASE {2}
WHEN 1 THEN isnull (Value01, LangValue)
WHEN 2 THEN isnull (Value02, LangValue)
WHEN 3 THEN isnull (Value03, LangValue)
WHEN 4 THEN isnull (Value04, LangValue)
WHEN 5 THEN isnull (Value05, LangValue)
WHEN 6 THEN isnull (Value06, LangValue)
WHEN 7 THEN isnull (Value07, LangValue)
WHEN 8 THEN isnull (Value08, LangValue)
WHEN 9 THEN isnull (Value09, LangValue)
WHEN 10 THEN isnull (Value10, LangValue)
END label
FROM Ghrs_LangKey
WHERE IsEnable = 1
AND (LangKey LIKE 'GHR_Page%' OR LangKey LIKE 'GHR_Common%')";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
result.DT_PageMutiMsg = Db.Ado.SqlQuery<DT_PageMutiMsg>(sql);
sql = "select QueryProcedure, EditProcedure, IUDProcedure from Ghrs_Menu where MenuNo='F_Title'";
sql = "select QueryProcedure, EditProcedure, IUDProcedure from Ghrs_Menu where MenuNo='{0}'";
sql = string.Format(sql, param.menuName, App.User.ID, param.langId);
DataTable dt = Db.Ado.GetDataTable(sql);
if(dt.Rows.Count > 0)
if (dt.Rows.Count > 0)
{
result.DT_Procedure.QueryProcedure = dt.Rows[0]["QueryProcedure"].ToString();
result.DT_Procedure.EditProcedure = dt.Rows[0]["EditProcedure"].ToString();

File diff suppressed because it is too large Load Diff

@ -1,667 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Tiobon.Core.Api</name>
</assembly>
<members>
<member name="T:Tiobon.Core.Controllers.AuthorizeController">
<summary>
登录管理【无权限】
</summary>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.#ctor(Tiobon.Core.IServices.ISysUserInfoServices,Tiobon.Core.IServices.IGhrs_UserServices,Tiobon.Core.AuthHelper.PermissionRequirement,Tiobon.Core.IServices.IRoleModulePermissionServices,Microsoft.Extensions.Logging.ILogger{Tiobon.Core.Controllers.AuthorizeController})">
<summary>
构造函数注入
</summary>
<param name="sysUserInfoServices"></param>
<param name="ghrs_UserServices"></param>
<param name="requirement"></param>
<param name="roleModulePermissionServices"></param>
<param name="logger"></param>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.GetJwtStr(System.String,System.String)">
<summary>
获取JWT的方法1
</summary>
<param name="name"></param>
<param name="pass"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.GetJwtStrForNuxt(System.String,System.String)">
<summary>
获取JWT的方法2:给Nuxt提供
</summary>
<param name="name"></param>
<param name="pass"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.GetJwtToken3(System.String,System.String)">
<summary>
获取JWT的方法3:整个系统主要方法
</summary>
<param name="name"></param>
<param name="pass"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.RefreshToken(System.String)">
<summary>
请求刷新Token(以旧换新)
</summary>
<param name="token"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.Login(Tiobon.Core.Controllers.SwaggerLoginRequest)">
<summary>
用户登录
</summary>
<param name="loginRequest"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.AuthorizeController.AutoLogin(System.Nullable{System.Int64})">
<summary>
用户自动登录
</summary>
<param name="Id"></param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.BaseController`5">
<summary>
增删改查基础服务
</summary>
<typeparam name="IServiceBase"></typeparam>
<typeparam name="TEntity"></typeparam>
<typeparam name="TEntityDto"></typeparam>
<typeparam name="TInsertDto"></typeparam>
<typeparam name="TEditDto"></typeparam>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.#ctor(`0)">
<summary>
初始化 (注入)
</summary>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.QueryByFilter(Tiobon.Core.Common.QueryFilter)">
<summary>
根据条件查询数据
</summary>
<param name="filter">条件</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.QueryById(System.Int64)">
<summary>
根据Id查询数据
</summary>
<param name="Id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.Insert(`3)">
<summary>
新增数据
</summary>
<param name="insertModel"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.BulkInsert(System.Collections.Generic.List{`3})">
<summary>
批量新增数据
</summary>
<param name="insertModels"></param>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.Put(System.Int64,`4)">
<summary>
更新数据
</summary>
<param name="Id">主键ID</param>
<param name="editModel"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.BulkUpdate(System.Collections.Generic.Dictionary{System.Int64,`4})">
<summary>
批量更新数据
</summary>
<param name="editModels"></param>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.Delete(System.Int64)">
<summary>
删除数据
</summary>
<param name="Id">主键ID</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.BaseController`5.BulkDelete(System.Int64[])">
<summary>
批量删除数据
</summary>
<param name="Ids">主键IDs</param>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.TiobonController">
<summary>
博客管理
</summary>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.#ctor(Microsoft.Extensions.Logging.ILogger{Tiobon.Core.Controllers.TiobonController})">
<summary>
构造函数
</summary>
<param name="logger"></param>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.Get(System.Int32,System.Int32,System.String,System.String)">
<summary>
获取博客列表【无权限】
</summary>
<param name="id"></param>
<param name="page"></param>
<param name="bcategory"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.Get(System.Int64)">
<summary>
获取博客详情
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.DetailNuxtNoPer(System.Int64)">
<summary>
获取详情【无权限】
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.V2_Tiobontest">
<summary>
获取博客测试信息 v2版本
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.Post(Tiobon.Core.Model.Models.TiobonArticle)">
<summary>
添加博客【无权限】
</summary>
<param name="TiobonArticle"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.AddForMVP(Tiobon.Core.Model.Models.TiobonArticle)">
<summary>
</summary>
<param name="TiobonArticle"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.Put(Tiobon.Core.Model.Models.TiobonArticle)">
<summary>
更新博客信息
</summary>
<param name="TiobonArticle"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.Delete(System.Int64)">
<summary>
删除博客
</summary>
<param name="id"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TiobonController.ApacheTestUpdate">
<summary>
apache jemeter 压力测试
更新接口
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.#ctor(SqlSugar.ISqlSugarClient,Microsoft.AspNetCore.Hosting.IWebHostEnvironment)">
<summary>
构造函数
</summary>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetFrameFiles">
<summary>
获取 整体框架 文件(主库)(一般可用第一次生成)
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetFrameFilesByTableNames(System.String[],System.String)">
<summary>
获取仓储层和服务层(需指定表名和数据库)
</summary>
<param name="ConnID">数据库链接名称</param>
<param name="tableNames">需要生成的表名</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetFrameFilesByTableNamesForEntity(System.String[],System.String)">
<summary>
获取实体(需指定表名和数据库)
</summary>
<param name="ConnID">数据库链接名称</param>
<param name="tableNames">需要生成的表名</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetFrameFilesByTableNamesForController(System.String[],System.String)">
<summary>
获取控制器(需指定表名和数据库)
</summary>
<param name="ConnID">数据库链接名称</param>
<param name="tableNames">需要生成的表名</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.DbFirstController.GetAllFrameFilesByTableNames(System.String,System.String)">
<summary>
DbFrist 根据数据库表名 生成整体框架,包含Model层(一般可用第一次生成)
</summary>
<param name="ConnID">数据库链接名称</param>
<param name="tableName">需要生成的表名</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.MigrateController.DataMigrateFromOld2New">
<summary>
获取权限部分Map数据(从库)
迁移到新库(主库)
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.MigrateController.SaveData2TsvAsync">
<summary>
权限数据库导出tsv
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.MigrateController.SaveData2ExcelAsync">
<summary>
权限数据库导出excel
</summary>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Controllers.LoginController">
<summary>
登录管理【无权限】
</summary>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.#ctor(Tiobon.Core.IServices.IGhrs_UserServices,Tiobon.Core.IServices.IUserRoleServices,Tiobon.Core.IServices.IRoleServices,Tiobon.Core.AuthHelper.PermissionRequirement,Tiobon.Core.IServices.IRoleModulePermissionServices,Microsoft.Extensions.Logging.ILogger{Tiobon.Core.Controllers.LoginController})">
<summary>
构造函数注入
</summary>
<param name="ghrs_UserServices"></param>
<param name="userRoleServices"></param>
<param name="roleServices"></param>
<param name="requirement"></param>
<param name="roleModulePermissionServices"></param>
<param name="logger"></param>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.GetJwtStr(System.String,System.String)">
<summary>
获取JWT的方法1
</summary>
<param name="name"></param>
<param name="pass"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.GetJwtStrForNuxt(System.String,System.String)">
<summary>
获取JWT的方法2:给Nuxt提供
</summary>
<param name="name"></param>
<param name="pass"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.GetJwtToken3(System.String,System.String)">
<summary>
获取JWT的方法3:整个系统主要方法
</summary>
<param name="name"></param>
<param name="pass"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.RefreshToken(System.String)">
<summary>
请求刷新Token(以旧换新)
</summary>
<param name="token"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.Getjsonp(System.String,System.Int64,System.String,System.Int32,System.Int32)">
<summary>
获取JWT的方法4:给 JSONP 测试
</summary>
<param name="callBack"></param>
<param name="id"></param>
<param name="sub"></param>
<param name="expiresSliding"></param>
<param name="expiresAbsoulute"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.Md5Password(System.String)">
<summary>
测试 MD5 加密字符串
</summary>
<param name="password"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.SwgLogin(Tiobon.Core.Controllers.SwaggerLoginRequest)">
<summary>
swagger登录
</summary>
<param name="loginRequest"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.LoginController.WxLogin(System.String,System.String)">
<summary>
weixin登录
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.Get(System.Int32,System.String)">
<summary>
分页获取
</summary>
<param name="page"></param>
<param name="key"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.Post(Tiobon.Core.Model.Models.TasksQz)">
<summary>
添加计划任务
</summary>
<param name="tasksQz"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.Put(Tiobon.Core.Model.Models.TasksQz)">
<summary>
修改计划任务
</summary>
<param name="tasksQz"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.Delete(System.Int64)">
<summary>
删除一个任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.StartJob(System.Int64)">
<summary>
启动计划任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.StopJob(System.Int64)">
<summary>
停止一个计划任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.PauseJob(System.Int64)">
<summary>
暂停一个计划任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.ResumeJob(System.Int64)">
<summary>
恢复一个计划任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.ReCovery(System.Int64)">
<summary>
重启一个计划任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.GetTaskNameSpace">
<summary>
获取任务命名空间
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.ExecuteJob(System.Int64)">
<summary>
立即执行任务
</summary>
<param name="jobId"></param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.GetTaskLogs(System.Int64,System.Int32,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime})">
<summary>
获取任务运行日志
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Controllers.TasksQzController.GetTaskOverview(System.Int64,System.Int32,System.Int32,System.Nullable{System.DateTime},System.Nullable{System.DateTime},System.String)">
<summary>
任务概况
</summary>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghra_GradeController">
<summary>
年级(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghre_CourseClassController">
<summary>
课程分类(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Ghrs_UserController">
<summary>
系统用户(Controller)
</summary>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Systems.CacheManageController">
<summary>
缓存管理
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.CacheManageController.Get">
<summary>
获取全部缓存
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.CacheManageController.Get(System.String)">
<summary>
获取缓存
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.CacheManageController.Post(System.String,System.String,System.Nullable{System.Int32})">
<summary>
新增
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.CacheManageController.Delete">
<summary>
删除全部缓存
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.CacheManageController.Delete(System.String)">
<summary>
删除缓存
</summary>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Systems.DataBaseController">
<summary>
数据库管理
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DataBaseController.GetAllConfig">
<summary>
获取库配置
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DataBaseController.GetTableInfoList(System.String,Tiobon.Core.Model.Systems.DataBase.DataBaseReadType)">
<summary>
获取表信息
</summary>
<param name="configId">配置Id</param>
<param name="readType">读取类型</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DataBaseController.GetColumnInfosByTableName(System.String,System.String,Tiobon.Core.Model.Systems.DataBase.DataBaseReadType)">
<summary>
获取表字段
</summary>
<param name="tableName">表名</param>
<param name="configId">ConfigId</param>
<param name="readType">读取类型</param>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DataBaseController.PutTableEditRemark(Tiobon.Core.Model.Systems.DataBase.EditTableInput)">
<summary>
编辑表备注
</summary>
<param name="input"></param>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DataBaseController.PutColumnEditRemark(Tiobon.Core.Model.Systems.DataBase.EditColumnInput)">
<summary>
编辑列备注
</summary>
<param name="input"></param>
</member>
<member name="T:Tiobon.Core.Api.Controllers.Systems.DynamicCodeFirstController">
<summary>
动态建表 CURD
</summary>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DynamicCodeFirstController.GetDynamicType">
<summary>
动态type
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DynamicCodeFirstController.GetDynamicType2">
<summary>
动态type 继承BaseEntity
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DynamicCodeFirstController.TestCreateTable">
<summary>
测试建表
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DynamicCodeFirstController.TestQuery">
<summary>
测试查询
</summary>
<returns></returns>
</member>
<member name="M:Tiobon.Core.Api.Controllers.Systems.DynamicCodeFirstController.TestInsert(System.String,System.String)">
<summary>
测试写入
</summary>
<returns></returns>
</member>
<member name="T:Tiobon.Core.Api.Filter.GlobalActionFilter">
<summary>
全局请求验证
</summary>
</member>
<member name="P:Tiobon.Core.Api.Filter.GlobalActionFilter.Message">
<summary>
</summary>
</member>
<member name="M:Tiobon.Core.Api.Filter.GlobalActionFilter.OnActionExecuting(Microsoft.AspNetCore.Mvc.Filters.ActionExecutingContext)">
<summary>
</summary>
<param name="filterContext"></param>
</member>
<member name="M:Tiobon.Core.Api.Filter.GlobalActionFilter.OnActionExecuted(Microsoft.AspNetCore.Mvc.Filters.ActionExecutedContext)">
<summary>
</summary>
<param name="filterContext"></param>
</member>
<member name="M:Tiobon.Core.Api.Filter.GlobalActionFilter.OnResultExecuting(Microsoft.AspNetCore.Mvc.Filters.ResultExecutingContext)">
<summary>
</summary>
<param name="filterContext"></param>
</member>
<member name="M:Tiobon.Core.Api.Filter.GlobalActionFilter.OnResultExecuted(Microsoft.AspNetCore.Mvc.Filters.ResultExecutedContext)">
<summary>
</summary>
<param name="filterContext"></param>
</member>
<member name="T:Tiobon.Core.Filter.GlobalRouteAuthorizeConvention">
<summary>
Summary:全局路由权限公约
Remarks:目的是针对不同的路由,采用不同的授权过滤器
如果 controller 上不加 [Authorize] 特性,默认都是 Permission 策略
否则,如果想特例其他授权机制的话,需要在 controller 上带上 [Authorize],然后再action上自定义授权即可,比如 [Authorize(Roles = "Admin")]
</summary>
</member>
<member name="T:Tiobon.Core.Filter.GlobalAuthorizeFilter">
<summary>
全局权限过滤器【无效】
</summary>
</member>
<member name="T:Tiobon.Core.Filter.GlobalExceptionsFilter">
<summary>
全局异常错误日志
</summary>
</member>
<member name="M:Tiobon.Core.Filter.GlobalExceptionsFilter.WriteLog(System.String,System.Exception)">
<summary>
自定义返回格式
</summary>
<param name="throwMsg"></param>
<param name="ex"></param>
<returns></returns>
</member>
<member name="P:Tiobon.Core.Filter.JsonErrorResponse.Message">
<summary>
生产环境的消息
</summary>
</member>
<member name="P:Tiobon.Core.Filter.JsonErrorResponse.DevelopmentMessage">
<summary>
开发环境的消息
</summary>
</member>
<member name="T:Tiobon.Core.Filter.GlobalRoutePrefixFilter">
<summary>
全局路由前缀公约
</summary>
</member>
<member name="T:Tiobon.Core.SwaggerHelper.CustomRouteAttribute">
<summary>
自定义路由 /api/{version}/[controler]/[action]
</summary>
</member>
<member name="P:Tiobon.Core.SwaggerHelper.CustomRouteAttribute.GroupName">
<summary>
分组名称,是来实现接口 IApiDescriptionGroupNameProvider
</summary>
</member>
<member name="M:Tiobon.Core.SwaggerHelper.CustomRouteAttribute.#ctor(System.String)">
<summary>
自定义路由构造函数,继承基类路由
</summary>
<param name="actionName"></param>
</member>
<member name="M:Tiobon.Core.SwaggerHelper.CustomRouteAttribute.#ctor(Tiobon.Core.Extensions.CustomApiVersion.ApiVersions,System.String)">
<summary>
自定义版本+路由构造函数,继承基类路由
</summary>
<param name="actionName"></param>
<param name="version"></param>
</member>
</members>
</doc>
Loading…
Cancel
Save