Compare commits

..

78 Commits

Author SHA1 Message Date
김한진 4c39622451 강좌신청페이지 14시간 계속교육 수정 2026-01-13 09:17:30 +09:00
김한진 c93fa3d0d1 Merge branch 'Production' of http://218.232.111.112:8300/KimHanJin/YNICTE into Production 2026-01-09 09:57:57 +09:00
김한진 0930fe8448 추가개발0109_3 2026-01-09 09:57:44 +09:00
김한진 7b3dc0160a 추가개발0109_3 2026-01-09 09:57:36 +09:00
김한진 ce70349f8d Update BO/BO.csproj 2026-01-08 17:10:41 +09:00
김한진 d1c3e264cb Update FO/FO.csproj 2026-01-08 17:08:45 +09:00
김한진 5c81c60cfa Update FO/FO.csproj.user 2026-01-08 13:52:56 +09:00
김한진 df592fe7e4 프로젝트파일 수정 2026-01-08 13:42:42 +09:00
김한진 3373f81b38 솔루션수정 2026-01-08 13:37:14 +09:00
김한진 c709fccffb 솔루션수정 2026-01-08 13:36:54 +09:00
김한진 6938f7f097 production 설정 2026-01-08 13:24:51 +09:00
김한진 9a410562e4 추가개발0107_9 2026-01-07 17:35:40 +09:00
김한진 48d2a21483 추가개발0107_9 2026-01-07 17:34:17 +09:00
김한진 c0f960a53b 추가개발0107_8 2026-01-07 15:42:45 +09:00
김한진 fbf960dac1 추가개발0107_7 2026-01-07 15:10:05 +09:00
김한진 c7560f56ba 추가개발0107_6 2026-01-07 10:55:55 +09:00
김한진 ea174c7467 추가개발0107_5 2026-01-07 10:48:12 +09:00
김한진 2188a69708 추가개발0107_5 2026-01-07 10:47:50 +09:00
김한진 acf7994ac6 추가개발0107_4 2026-01-07 10:41:02 +09:00
김한진 962bf3b11f 추가개발0107_3 2026-01-07 10:23:38 +09:00
김한진 cb10b5bbce 추가개발0107_2 2026-01-07 10:18:23 +09:00
김한진 138785cba0 추가개발0107_1 2026-01-07 10:11:28 +09:00
김한진 a7ed082852 추가개발0107_1 2026-01-07 10:08:05 +09:00
김한진 651ae49a8d 추가개발0107_1 2026-01-07 10:04:49 +09:00
김한진 7fa2581b63 aa 2026-01-07 10:04:12 +09:00
김한진 07ee86eeb8 추가개발01/06_2 2026-01-06 10:30:04 +09:00
김한진 ed5ed86f12 추가개발01/06_1 2026-01-06 08:59:06 +09:00
김한진 f838f54d08 추가개발01/02_9 2026-01-02 17:32:57 +09:00
김한진 6304d2f5b7 추가개발01/02_8 2026-01-02 16:56:26 +09:00
김한진 5e68d7face 추가개발01/02_7 2026-01-02 16:00:26 +09:00
김한진 e9f9d05a55 추가개발01/02_6 2026-01-02 15:44:25 +09:00
김한진 7f949e1ecb 추가개발01/02_5 2026-01-02 15:36:50 +09:00
김한진 3fecc5c09c 추가개발12/02_4 2026-01-02 15:30:35 +09:00
김한진 b7cb582ea6 추가개발12/02_4 2026-01-02 15:29:39 +09:00
김한진 cb7943c885 추가개발01/02_3 2026-01-02 15:09:53 +09:00
김한진 238774b9a0 추가개발01/02_3 2026-01-02 15:06:53 +09:00
김한진 1cd770aacb 추가개발01/02_2 2026-01-02 14:56:59 +09:00
김한진 d315bd0243 추가개발01/02_2 2026-01-02 14:56:53 +09:00
김한진 248e3ac511 추가개발01/02_1 2026-01-02 14:06:22 +09:00
김한진 7a6a46bd51 추가개발12/31_4 2025-12-31 12:59:49 +09:00
김한진 fc252e9edf 추가개발12/31_3 2025-12-31 12:50:53 +09:00
김한진 f494cb2b1b 추가개발12/31_2 2025-12-31 12:38:49 +09:00
김한진 a35e524ee8 추가개발12/31_1 2025-12-31 10:17:58 +09:00
김한진 34f6ad8ff7 추가개발12/30 2025-12-30 09:13:30 +09:00
김한진 3ba0aa3bd2 추가개발12/30 2025-12-30 09:13:08 +09:00
김한진 d3ab814142 2025-12-30 09:12:21 +09:00
김한진 667194b0df ㅇㅇ 2025-12-30 09:11:30 +09:00
김한진 18b8d13047 추개개발1229_3 2025-12-29 18:41:57 +09:00
김한진 95b51a673d 추가개발1229_2 2025-12-29 17:55:29 +09:00
김한진 1676697e5d 불필요파일 제거 2025-12-29 17:54:54 +09:00
김한진 05fb45dd98 무시파일 수정 2025-12-29 14:27:50 +09:00
김한진 75af9a72ad 제외파일제거 2025-12-29 14:27:31 +09:00
김한진 99103851de 추가개발12/29 2025-12-29 12:59:51 +09:00
김한진 eb39064d6b 2025-12-29 12:59:18 +09:00
김한진 1d0673c078 2025-12-29 12:54:22 +09:00
김한진 20a848c8d9 추가개발22 2025-12-27 10:13:10 +09:00
김한진 bd5fc1cdfb 추개개발2 2025-12-27 10:03:35 +09:00
김한진 06251c9a4a 추가개발2 2025-12-27 09:58:37 +09:00
김한진 fe9f3252b0 ㄹㄹ 2025-12-27 09:53:07 +09:00
김한진 a85375e94e ㅎㅎ 2025-12-27 00:02:52 +09:00
김한진 126c3cc556 ㅁㅁㅁ 2025-12-27 00:00:39 +09:00
김한진 06773f17ae ㅁㅁㅁㅁ 2025-12-26 23:48:52 +09:00
김한진 a46340cdd4 ㅇㅇ 2025-12-26 23:47:54 +09:00
김한진 05a3cfd5e8 추가개발-다시 배포 2025-12-26 23:43:00 +09:00
김한진 7054b3b51a 추가개발-web.config 수정 2025-12-26 23:27:21 +09:00
김한진 5dbb28a949 강제 병합2 2025-12-26 23:14:32 +09:00
김한진 49b1dda487 추가개발1 2025-12-26 23:13:44 +09:00
김한진 85305bb906 333 2025-12-19 09:16:09 +09:00
김한진 f2a984744c 22 2025-12-19 09:15:06 +09:00
김한진 8816b61e5c Upload files to "/" 2025-12-19 09:12:05 +09:00
김한진 9344fe69d0 파일제거 완료3 2025-12-19 09:06:41 +09:00
김한진 7fd7145c86 sln 제거 2025-12-19 09:06:08 +09:00
김한진 60658dad43 파일제거 완료 2025-12-19 09:05:05 +09:00
김한진 39eceb1d59 필요없는 파일제거2 2025-12-19 09:04:14 +09:00
김한진 7cd257bfd5 불필요한 파일 삭제 2025-12-19 08:58:39 +09:00
김한진 645f70d808 개발설정5 2025-12-18 17:32:43 +09:00
김한진 89d31a53f7 개발설정3 2025-12-18 17:15:55 +09:00
김한진 4a086bd0cc 개발설정2 2025-12-18 14:42:54 +09:00
392 changed files with 4932 additions and 362180 deletions

19
.gitignore vendored
View File

@ -9,7 +9,7 @@
*.sln.docstates
# Build results
[Dd]ebug/
[Dd]debug/
[Dd]ebugPublic/
[Rr]elease/
[Rr]eleases/
@ -25,6 +25,8 @@ bld/
# Visual Studio cache
.vs/
.vscode/
Logs/
Debug/
# MSTest test results
[Tt]est[Rr]esult*/
@ -109,4 +111,17 @@ _pkginfo.txt
# Others
*.swp
*.swo
*.swo
<<<<<<< HEAD
<<<<<<< HEAD
*.cache
*.csproj.AssemblyReference.cache
=======
/BO/Logs
>>>>>>> ca8967d (추가개발1)
=======
/BO/Logs/
/FO/Logs/
/BO/obj/
/FO/obj/
>>>>>>> 74dfc5b (무시파일 수정)

View File

@ -37,15 +37,6 @@
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>bin\</OutputPath>
<DefineConstants>TRACE</DefineConstants>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference Include="Common.Logging, Version=3.0.0.0, Culture=neutral, PublicKeyToken=af08829b84f0328e, processorArchitecture=MSIL">
<SpecificVersion>False</SpecificVersion>
@ -543,12 +534,6 @@
<Content Include="Web.config">
<SubType>Designer</SubType>
</Content>
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Release.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Views\Web.config" />
<Content Include="Views\_ViewStart.cshtml" />
<Content Include="Views\Shared\Partial\Text.cshtml" />
@ -717,6 +702,17 @@
<Content Include="Views\croom\gradeall0_1.cshtml" />
<Content Include="Views\croom\gradeupload.cshtml" />
<Content Include="Views\user\LeaveHistory.cshtml" />
<Content Include="Views\Shared\Partial\UserBoxSelect.cshtml" />
<Content Include="Views\cm\cmregexset.cshtml" />
<Content Include="Web.Debug.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Staging.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
<Content Include="Web.Production.config">
<DependentUpon>Web.config</DependentUpon>
</Content>
</ItemGroup>
<ItemGroup>
<Folder Include="App_Data\" />
@ -753,6 +749,12 @@
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Staging|AnyCPU'">
<OutputPath>bin\</OutputPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Production|AnyCPU'">
<OutputPath>bin\</OutputPath>
</PropertyGroup>
<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />
<Import Project="$(VSToolsPath)\WebApplications\Microsoft.WebApplication.targets" Condition="'$(VSToolsPath)' != ''" />
<Import Project="$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v10.0\WebApplications\Microsoft.WebApplication.targets" Condition="false" />

View File

@ -1,7 +1,8 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="Current" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<LastActiveSolutionConfig>Debug|Any CPU</LastActiveSolutionConfig>
<LastActiveSolutionConfig>Production|Any CPU</LastActiveSolutionConfig>
<ProjectView>ProjectFiles</ProjectView>
<UseIISExpress>false</UseIISExpress>
<Use64BitIISExpress />
<IISExpressSSLPort />
@ -10,7 +11,6 @@
<IISExpressUseClassicPipelineMode />
<UseGlobalApplicationHostFile />
<NameOfLastUsedPublishProfile>D:\Project\git\git_YNICTE\BO\Properties\PublishProfiles\FolderProfile.pubxml</NameOfLastUsedPublishProfile>
<ProjectView>ProjectFiles</ProjectView>
</PropertyGroup>
<ProjectExtensions>
<VisualStudio>

Binary file not shown.

View File

@ -344,7 +344,7 @@ namespace NP.BO.Controllers
#endregion
#region + [vm.ESTs] Get: cm.est (cmno - )
vm.ESTs = Dao.Get<EST>("cm.est", vm.CM.cmno);
vm.ESTs = Dao.Get<EST>("cm.est2", vm.CM.cmno);
#endregion
return View("cmregest", vm);
@ -360,6 +360,9 @@ namespace NP.BO.Controllers
}
*/
public ActionResult cmmasterregex(NP.Model.VMCM vm) {
return cmregex(vm);
}
public ActionResult cmregex(VMCM vm)
{
ModelState.Clear();
@ -381,9 +384,55 @@ namespace NP.BO.Controllers
{
vm.CMEXLayers = Dao.Get<CMEXLayer>("cm.cmexlayers", vm.CMEX.exno);
}
//2025-12-24 / KHJ / 시험 응시 일시 시작일/종료일, 시간 변환
if (!string.IsNullOrWhiteSpace(vm.CMEX.testsdate)) {
DateTime dt = DateTime.ParseExact(vm.CMEX.testsdate, "yyyy-MM-dd HH:mm", null);
vm.stringval18 = dt.ToString("yyyy-MM-dd");
vm.stringval19 = dt.ToString("HH");
vm.stringval20 = dt.ToString("mm");
}
if (!string.IsNullOrWhiteSpace(vm.CMEX.testedate)) {
DateTime dt = DateTime.ParseExact(vm.CMEX.testedate, "yyyy-MM-dd HH:mm", null);
vm.stringval21 = dt.ToString("yyyy-MM-dd");
vm.stringval22 = dt.ToString("HH");
vm.stringval23 = dt.ToString("mm");
}
}
ViewBag.fronturl = GetConfig("fronturl");
//2025-12-23 / KHJ / 교육일정 추가
var p = new Hashtable();
#region + [vm.CMInnings] Get: cm.cminnings (cmno, isonline, isscd)
p.Clear();
p.Add("cmno", vm.cmno);
p.Add("isonline", 0);
p.Add("isscd", 1);
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", p);
#endregion
vm.CMInningscds = new List<CMinningscd>() { };
if (vm.CMInnings.Count > 0)
{
#region + [vm.CMInningscds] Get: cm.cminningscds (cmino)
p.Clear();
p.Add("cmino", vm.CMInnings[0].cmino);
vm.CMInningscds = Dao.Get<CMinningscd>("cm.cminningscds", p);
#endregion
}
if (vm.CMInningscds.Count() > 0) {
long cmino = vm.CMInningscds.First().cmino;
#region + [vm.CMInningscds2] Get: cm.cminningscds.attr2Check (cmno, cmino)
p.Clear();
p.Add("cmno", vm.cmno);
p.Add("cmino", cmino);
vm.CMInningscds2 = Dao.Get<CMinningscd>("cm.cminningscds.attr2Check", p);
#endregion
}
return View("cmregex", vm);
}
@ -535,6 +584,11 @@ namespace NP.BO.Controllers
vm.CMPRs = Dao.Get<CMPR>("cm.cmprs", p);
#endregion
#region + / [vm.Datas] Get: cm.cmdatas (cmno, )
vm.Datas = Dao.Get<Data>("cm.cmdatas", vm.CM.cmno);
#endregion
ViewBag.fronturl = GetConfig("fronturl");
return View("cmregeduschedule", vm);
@ -738,11 +792,24 @@ namespace NP.BO.Controllers
ViewBag.Front = GetConfig("fronturl");
return View(vm);
}
/// <summary>
/// 교육환경설정 > 강좌설정 > 시험설정 > 시험등록 > 문제추가
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
public ActionResult qp(VMCM vm)
{
vm.ComCodes = GetComCodes("ccdiff,cc1,cc2,cc3,cc4,cc5");
vm.CMs = Dao.Get<CM>("cm.cms", new System.Collections.Hashtable() { { "ismaster", 1 }, { "orderby", "a.cname" } });
vm.ComGroups = Dao.Get<ComCode>("sys.comcode.glist", new System.Collections.Hashtable() { { "orderby", "cgroupname" } });
//교강사 조회
#region + / [vm.Datas] Get: cm.cmdatas
var p1 = new System.Collections.Hashtable();
p1.Add("stringval16", vm.stringval16);
vm.Datas = Dao.Get<Data>("cm.cmdatas2", p1);
#endregion
var ht = new System.Collections.Hashtable();
if (IsPost())
{
@ -761,6 +828,8 @@ namespace NP.BO.Controllers
if (!string.IsNullOrEmpty(vm.stringval8)) { ht.Add("qcount", GetInt(vm.stringval8)); }
if (!string.IsNullOrEmpty(vm.stringval9)) { ht.Add("ecount", GetInt(vm.stringval9)); }
if (!string.IsNullOrEmpty(vm.stringval10)) { ht.Add("rrate", GetInt(vm.stringval10)); }
if (!string.IsNullOrEmpty(vm.stringval15)) { ht.Add("instuctorName", vm.stringval15); }
if (!string.IsNullOrEmpty(vm.stringval14)) { ht.Add("scdinstuctor", vm.stringval14); }
vm.Qs = Dao.Get<Question>("cm.questions2", ht);
}
vm.Qs = vm.Qs ?? new List<Question>();
@ -831,5 +900,52 @@ namespace NP.BO.Controllers
return View(vm);
}
/// <summary>
/// 교육환경설정 > 강좌설정 > 시험설정
/// </summary>
/// <param name="vm"></param>
/// <returns></returns>
public ActionResult cmregexset(VMCM vm) {
var p = new Hashtable();
#region + [vm.CMInnings] Get: cm.cminnings (cmno, isonline, isscd)
p.Clear();
p.Add("cmno", vm.intval);
p.Add("isonline", 0);
p.Add("isscd", 1);
vm.CMInnings = Dao.Get<CMInning>("cm.cminnings", p);
#endregion
#region + [vm.CM] Get: cm.cms (cmno)
p.Clear();
p.Add("cmno", vm.intval);
vm.CM = Dao.Get<CM>("cm.cms", p).First();
#endregion
#region + [vm.CMEV] Get: cm.cmev (cmno)
p.Clear();
p.Add("cmno", vm.CM.cmno);
vm.CMEV = Dao.Get<CMEV>("cm.cmev", p).FirstOrDefault() ?? new CMEV() { attend = 100, attendrfd = 100 };
#endregion
#region + [vm.ESTs] Get: cm.est (cmno - )
p.Clear();
p.Add("cmno", vm.CM.cmno);
p.Add("estart", vm.CM.estart);
p.Add("eend", vm.CM.eend);
p.Add("instructors", vm.CM.instructors);
vm.ESTs = Dao.Get<EST>("cm.exlist", p);
#endregion
//교육일정이 존재하는지 조회
var scd = Dao.Get<int>("cm.cminnigscd.exists", new Hashtable() { { "cmno", vm.CM.cmno } });
ViewBag.InningScd = scd.FirstOrDefault();
return View("cmregexset", vm);
}
public ActionResult cmmasterregexset(NP.Model.VMCM vm) {
return cmregexset(vm);
}
}
}

View File

View File

View File

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

View File

View File

@ -3,15 +3,19 @@
https://go.microsoft.com/fwlink/?LinkID=208121.
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<!-- 배포 방식 지정 -->
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>C:\ProgramData\Jenkins\.jenkins\workspace\YNICTE_BO\publish\BO</PublishUrl>
<DeployOnBuild>true</DeployOnBuild>
<Configuration>Release</Configuration>
<!-- 특정 파일/폴더 제외 -->
<ExcludeFilesFromDeployment>Controllers\*.cs;Models\*.cs;App_Data\*</ExcludeFilesFromDeployment>
</PropertyGroup>
<PropertyGroup>
<!-- 배포 방식 지정 -->
<WebPublishMethod>FileSystem</WebPublishMethod>
<PublishProvider>FileSystem</PublishProvider>
<PublishUrl>C:\ProgramData\Jenkins\.jenkins\workspace\YNICTE_BO_Production\publish\BO</PublishUrl>
<DeployOnBuild>true</DeployOnBuild>
<Configuration>Production</Configuration>
<!-- 특정 파일/폴더 제외 -->
<ExcludeFilesFromDeployment>Controllers\*.cs;Models\*.cs;App_Data\*</ExcludeFilesFromDeployment>
<LastUsedBuildConfiguration>Production</LastUsedBuildConfiguration>
<LastUsedPlatform>Any CPU</LastUsedPlatform>
<SiteUrlToLaunchAfterPublish />
<LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
<ExcludeApp_Data>False</ExcludeApp_Data>
</PropertyGroup>
</Project>

View File

@ -1,9 +1,8 @@
@model NP.Model.VMUser
@{
ViewData["Title"] = "로그인";
Layout = null;
ViewData["Title"] = "로그인";
Layout = null;
}
<!DOCTYPE html>
<html lang="en" class="bg-black">
<head>
@ -44,7 +43,7 @@
</div>
<div class="form-group">
<label class="control-label">Password</label>
<input type="password" name="user.UserPass" id="pw" placeholder="PASSWORD" class="form-control input-lg">
<input type="password" name="user.UserPass" id="pw" placeholder="PASSWORD" class="form-control input-lg" value="" />
</div>
<div class="text-center">
<label><input type="checkbox" id="SavedId2" @(string.IsNullOrEmpty(Model.SavedId) ? "" : "checked") />Remember ID</label>

View File

@ -0,0 +1,130 @@
@model String
@{
var issingle = Model.Split(';').Length > 3 && Model.Split(';')[3] == "1";
var _parentboxid = Model.Split(';').Length > 4 ? Model.Split(';')[4] : "";
var _userboxftype = Model.Split(';').Length > 5 ? Model.Split(';')[5] : "";
}
<input type="hidden" id="userboxusertypes" value="@Model.Split(';')[2]" />
<div id="userbox" class="findbox" style="width: 900px;">
<h4><i class="fa fa-bars"></i> @Model.Split(';')[1]<a href="#" class="btn btn-default btn-xs f-r" onclick="hideuserbox()">닫기</a></h4>
<br />
@Html.Partial("./Partial/Select", (List<NP.Model.Assign>)ViewData["assigns"], new ViewDataDictionary { { "special", "reg" }, { "name", "userboxasno" }, { "df", ":-소속선택" }, { "style", Model.Split(';')[2] == "999" ? "" : "display: none;" } })
<select id="userboxusertype" class="form-control disp-init" style="@(Model.Split(';')[2] == "999" || Model.Split(';')[2] == "999_1"?"":"display:none;")">
<option value="">-권한선택</option>
@if(Model.Split(';')[2] != "999_1")
{
<option value="1">교육생</option>
}
@if((List<NP.Model.UserAuth>)ViewData["userauths"] != null)
{
foreach(var d in (List<NP.Model.UserAuth>)ViewData["userauths"])
{
<option value="@d.usertype">@d.authname</option>
}
}
@*<option value="11">강사</option>
<option value="81">고객사관리자</option>
<option value="91">통합관리자</option>
<option value="92">일반관리자</option>*@
</select>
<input type="text" class="form-control search disp-init" placeholder="이름/ID로 검색하세요." id="findboxuser" style="width: 200px" /><a href="#" style="margin-top:-5px;" class="btn btn-find btn-info btn-sm" onclick="finduser()">검색</a>
<a href="#" style="margin-top:-5px; display:@(ViewData["assigns"] == null ? "none;":"")" class="btn btn-sm btn-danger" onclick="winopen('/user/professorreg?viewname=professor', 'professorreg',1300, 800);">+추가</a>
<br /><br />
<section class="panel panel-default" style="max-height: 300px; overflow: auto; min-height: 67px;">
<div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light" style="table-layout: fixed; white-space: nowrap;">
<thead>
<tr>
<th style="@(issingle?"display:none":"")" width="50"><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
<th style="width:110px;">구분</th>
<th>소속</th>
<th style="width:200px;">이름(ID)</th>
<th>이메일</th>
<th>휴대폰</th>
</tr>
</thead>
<tbody class="data" id="userlistbox"></tbody>
</table>
</div>
</section>
@if (!issingle)
{
<div><a href="#" class="btn btn-primary btn-xs" onclick="selectuser()">선택</a></div>
}
<br /><br />
</div>
<script>
var userboxftype = 0;
var userboxabsasno = 0;
function selectuser() {
if ($("#userlistbox tr td input.autocheck:checked").length < 1) {
msg2("사용자를 선택해주세요.");
} else {
var v = "";
$.each($("#userlistbox tr td input.autocheck:checked"), function (i, c) {
v += ";" + $(c).val();
});
$("#userlistbox tr").remove();
hideuserbox();
eval("@(Model.Split(';')[0])" + "('" + v.substr(1) + "')");
}
}
function userboxviewregbox() {
if ($('#userboxregbox:visible').length < 1) {
$('#userboxregbox').show();
}
else {
$('#userboxregbox').hide();
}
}
function findusershow() {
if ('@(_parentboxid)' != "") {
$("#@(_parentboxid)").hide();
}
bglayer();
$("#userbox").slideDown("fast");
focus("findboxuser");
}
function finduser() {
$("#userlistbox").html("");
//if (val("findboxuser") == "") {
// focus("findboxuser");
// msg2("이름을 입력해주세요.");
//} else {
// capp("/acommon/userfind", { ftype: userboxftype/*, usertypes: val("userboxusertypes"), asno: val("userboxasno")*/, username: val("findboxuser") }, "cbfinduser", null, null, true, true);
//}
capp("/acommon/userfind", {
ftype: 1, usertypes: '@(_userboxftype)'=='2' ? val("userboxusertypes") : null, asno: val("userboxasno"), usernameid: val("findboxuser"), asno: userboxabsasno == 0 ? val("userboxasno") : userboxabsasno, usertype: userboxftype == 2 ? val("userboxusertypes") : val("userboxusertype") }, "cbfinduser", null, null, true, true);
}
function cbfinduser() {
if (capResult.code == 1000) {
$.each($(capResult.obj), function (i, r) {
$("#userlistbox").append("<tr><td style=\"@(issingle?"display:none;":"")\"><input type=\"radio\" class=\"autocheck\" name=\"rdoInstructors\" value=\"" +
r.userno + ":" +
r.usertype + ":" +
getdb(r.username).replace(/:/gi, '|').replace(/;/gi, '|') + ":" +
getdb(r.email).replace(/:/gi, '|').replace(/;/gi, '|') + ":" +
r.isjoin + ":" +
getdb(r.isjoinname) + ":" +
getdb(r.asname) + ":" +
getdb(r.userid) + ":" +
getdb(r.asno) + "\" /></td>" +
"<td>" + r.usertypestr + "</td>" +
"<td>" + getdb((r.usertype == 11 ? r.pasname : r.asname)).replace(/:/gi, '|').replace(/;/gi, '|') + "</td>" +
(@(issingle?1:0) == 1 ?
("<td class=\"link\"><a href=\"#\" onclick=\"$(this).closest('tr').find('input.autocheck').prop('checked', true);selectuser()\">" + getdb(r.username).replace(/:/gi, '|').replace(/;/gi, '|') + "(" + getdb(r.userid).replace(/:/gi, '|').replace(/;/gi, '|') + ")" + "</a></td>")
: ("<td > " + getdb(r.username).replace(/:/gi, '|').replace(/;/gi, '|') + "(" + getdb(r.userid).replace(/:/gi, '|').replace(/;/gi, '|') + ")" + "</td>")) +
"<td>" + getdb(r.email) + "</td>" +
"<td>" + getdb(r.mobile) + "</td>" +
"</tr>");
});
}
}
function hideuserbox() {
if ('@(_parentboxid)' != "") {
$('#userbox').slideUp('fast'); $('#@(_parentboxid)').slideDown('fast');
} else {
$('#userbox').slideUp('fast'); $('#bglayer').hide();
}
}
</script>

View File

@ -1,11 +1,11 @@
@model NP.Model.VMCM
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class="active"><a href="#" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class="active"><a href="#" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
</div>
<br />
<div class="row">

View File

@ -1,21 +1,22 @@
@model NP.Model.VMCM
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class="@(Model.tabidx == 0 ? "active" : "")" id="tab1"><a href="#" data-toggle="tab">기본정보</a></li>
<li class="@(Model.tabidx == 1 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()" : "gotab(1)");" data-toggle="tab">회차설정</a></li>
@*20220725 강좌인경우 교육일정 보이도록 처리
@if (Model.CM.ismaster == 0 && Model.CM.cshape == 2)*@
@if (Model.CM.ismaster == 0)
{
<li class="@(Model.tabidx == 2 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()" : "gotab(2)");" data-toggle="tab">교육일정</a></li>
}
<ul class="pagination pagination-md" style="margin: 0;">
<li class="@(Model.tabidx == 0 ? "active" : "")" id="tab1"><a href="#" data-toggle="tab">기본정보</a></li>
<li class="@(Model.tabidx == 1 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()" : "gotab(1)");" data-toggle="tab">회차설정</a></li>
@*20220725 강좌인경우 교육일정 보이도록 처리
@if (Model.CM.ismaster == 0 && Model.CM.cshape == 2)*@
@if (Model.CM.ismaster == 0) {
<li class="@(Model.tabidx == 2 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()" : "gotab(2)");" data-toggle="tab">교육일정</a></li>
}
@if (!ViewBag.IsSubAdmin96)
{
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(3)");" data-toggle="tab">평가설정</a></li>
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(4)");" data-toggle="tab">메뉴설정</a></li>
}
</ul>
@if (!ViewBag.IsSubAdmin96) {
<li class="@(Model.tabidx == 3 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(3)");" data-toggle="tab">평가설정</a></li>
if (Model.CM.ismaster == 0) {
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
}
<li class="@(Model.tabidx == 4 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(4)");" data-toggle="tab">메뉴설정</a></li>
}
</ul>
</div>
<div class="row mgclear">
<form id="mform" method="post" enctype="multipart/form-data" class="form-horizontal">
@ -608,6 +609,7 @@
function gotab(idx, t) {
bglayer();
t = t || 0;
setTimeout(function () {
//기본정보
if (idx == 0) {
@ -625,6 +627,10 @@
else if (idx == 3) {
$("#dform").attr("action", "/cm/@(Model.viewname)est").submit();
}
//시험설정
else if (idx == 5) {
$("#dform").attr("action", "/cm/@(Model.viewname)exset").submit();
}
//메뉴설정
else if (idx == 4) {
$("#dform").attr("action", "/cm/@(Model.viewname)menu").submit();

View File

@ -2,6 +2,7 @@
@{
int studyplaceseq = 0;
int tempInt = 0;
int index = 0;
}
<div style="@(Model.CM.cmno < 1 ? "display: none;":"")">
<ul class="pagination pagination-md" style="margin: 0;">
@ -12,6 +13,7 @@
<li class="active"><a href="#" data-toggle="tab">교육일정</a></li>
}
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">평가설정</a></li>
<li class=""><a href="#" onclick="gotab(5);" data-toggle="tab">시험설정</a></li>
<li class=""><a href="#" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
</ul>
</div>
@ -190,6 +192,26 @@
<th>안내문구</th>
<td>@Html.TextBox("icomment", "", new { @class = "form-control disp-init", @style = "width: 98%;", @maxlength = "30" })</td>
</tr>
<tr>
<th>교강사</th>
<td>
<table id="tblInstructor" class="tblInstructor" style="width: 100%;border: none !important;border-collapse: collapse !important;">
<tr>
@foreach (var item in Model.Datas.Where(w => w.dtype == 1)) {
index = index + 1;
<td style="border: none !important;">
<input type="checkbox" class="chkInstructor" name="chkInstructor" id="chkInstructor@(index)" value="@item.strval3" />
<label style="margin-right: 8px;" for="chkInstructor@(index)">@item.strval</label>
</td>
if ((index) % 5 == 0) {
@:</tr><tr>
}
}
</tr>
</table>
</td>
</tr>
</table>
<div class="findboxbtnbox">
<a href="#" class="btn btn-primary" onclick="savescd();">저장</a>
@ -205,7 +227,7 @@
@Html.Partial("./Partial/ScriptDate")
}
@section scripts{
<script>
<script>
var _cmino = 0;
var _cmisno = 0;
var _isonline = @(Model.CMInnings.Count()>0 ? Model.CMInnings.FirstOrDefault().scdtype == 1 ? "true" : "false" : "false");
@ -272,7 +294,7 @@
if (check("idate", null, "교육종료일을 입력해주세요.", true)) {
return;
}
@*
@*
else {
if (!_isonline) { // 혼합교육
if (val("isth") == "") { focus("isth"); msg2("교육종료시간을 확인해주세요."); return; }
@ -306,6 +328,14 @@
return;
}
let instructorStr = "";
$.each($(".chkInstructor"), function (i, item) {
if ($(this).prop("checked")) {
if (instructorStr != "") instructorStr += ",";
instructorStr += $(this).val();
}
});
if (confirm("저장하시겠습니까?")) {
capp(
"/acommon/cminningscdsave",
@ -317,7 +347,8 @@
quota: _isonline ? 99999 : getv("iquota"),
sseq: getv("sseq"),
comment: getv("icomment"),
studyplace: _isonline ? null : $(":input:radio[name=istudyplace]:checked").val()
studyplace: _isonline ? null : $(":input:radio[name=istudyplace]:checked").val(),
instructors: instructorStr
},
"cbcminningscdsave"
, null, null, null, true
@ -437,6 +468,20 @@
if (d.studyplace != null) {
$("input:radio[name=istudyplace][value=" + d.studyplace + "]").attr("checked", true);
}
//교강사 체크
$(".chkInstructor").prop("checked", false);
$.each($(".chkInstructor"), function (i, item) {
if (d.instructors != null) {
let tc = d.instructors.split(',');
for (var i = 0; i < tc.length; i++) {
if ($(this).val() == tc[i]) {
$(this).prop("checked", true);
}
}
}
});
}
bglayer(); $("#scdbox").slideDown("fast", function () { $("#scdbox").scrollTop(0); });
@ -485,6 +530,7 @@
else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); }
else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); }
else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); }
else if (idx == 5) { $("#dform").attr("action", "/cm/@(Model.viewname)exset").submit(); }
}, t);
}
@ -532,5 +578,5 @@
}
}
}
</script>
</script>
}

View File

@ -9,6 +9,9 @@
<li><a href="javascript:;" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
}
<li class="active"><a href="javascript:;" data-toggle="tab">평가설정</a></li>
@if (Model.CM.ismaster == 0) {
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
}
<li><a href="javascript:;" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
</ul>
</div>
@ -114,7 +117,7 @@
</div>
<br />
<div class="tar buttonbox">
<a href="javascript:;" onclick="add(0, 0);" class="btn btn-s-xs btn-primary">최종평가추가</a>
@*<a href="javascript:;" onclick="add(0, 0);" class="btn btn-s-xs btn-primary">최종평가추가</a>*@
<a href="javascript:;" onclick="add(1, 0);" class="btn btn-s-xs btn-primary">과제추가</a>
<a href="javascript:;" onclick="add(2, 0);" class="btn btn-s-xs btn-primary">설문추가</a>
</div>
@ -127,13 +130,13 @@
<div class="table-responsive" id="excel2">
<table class="table table-striped b-t b-light">
<thead>
<tr>
<th>평가구분</th>
<th>평가명</th>
<th>참여조건</th>
<th>총점</th>
<th>삭제</th>
</tr>
<tr>
<th>평가구분</th>
<th>평가명</th>
<th>참여조건</th>
<!--<th>총점</th>-->
<th>삭제</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@{
@ -153,7 +156,7 @@
@:출석 @item.econdition 이상
}
</td>
<td>@(item.estkind < 30 ? item.tpoint.ToString() + "점" : "-")</td>
<!--<td>@(item.estkind < 30 ? item.tpoint.ToString() + "점" : "-")</td>-->
<td><a href="javascript:;" class="delete-link" onclick="del(@item.estkind, @item.exno)">[삭제]</a></td>
</tr>
}
@ -224,6 +227,9 @@
case 4:
$("#dform").attr("action", "/cm/@(Model.viewname)menu").submit();
break;
case 5:
$("#dform").attr("action", "/cm/@(Model.viewname)exset").submit();
break;
}
}, t);
}

View File

@ -1,37 +1,65 @@
@model NP.Model.VMCM
@{
Layout = "~/Views/Shared/_PopupLayout.cshtml";
var ncc = new NP.Model.CMEXLayer() { };
var hasccqdiff = Model.ComCodes.Where(w => w.cgroup == "ccdiff").Count() > 0;
var hascccc1 = Model.ComCodes.Where(w => w.cgroup == "cc1").Count() > 0;
var hascccc2 = Model.ComCodes.Where(w => w.cgroup == "cc2").Count() > 0;
var hascccc3 = Model.ComCodes.Where(w => w.cgroup == "cc3").Count() > 0;
var hascccc4 = Model.ComCodes.Where(w => w.cgroup == "cc4").Count() > 0;
var hascccc5 = Model.ComCodes.Where(w => w.cgroup == "cc5").Count() > 0;
var cssqdiff = hasccqdiff ? "" : "qhide";
var csscc1 = hascccc1 ? "" : "qhide";
var csscc2 = hascccc2 ? "" : "qhide";
var csscc3 = hascccc3 ? "" : "qhide";
var csscc4 = hascccc4 ? "" : "qhide";
var csscc5 = hascccc5 ? "" : "qhide";
Layout = "~/Views/Shared/_PopupLayout.cshtml";
var ncc = new NP.Model.CMEXLayer() { };
var hasccqdiff = Model.ComCodes.Where(w => w.cgroup == "ccdiff").Count() > 0;
var hascccc1 = Model.ComCodes.Where(w => w.cgroup == "cc1").Count() > 0;
var hascccc2 = Model.ComCodes.Where(w => w.cgroup == "cc2").Count() > 0;
var hascccc3 = Model.ComCodes.Where(w => w.cgroup == "cc3").Count() > 0;
var hascccc4 = Model.ComCodes.Where(w => w.cgroup == "cc4").Count() > 0;
var hascccc5 = Model.ComCodes.Where(w => w.cgroup == "cc5").Count() > 0;
var cssqdiff = hasccqdiff ? "" : "qhide";
var csscc1 = hascccc1 ? "" : "qhide";
var csscc2 = hascccc2 ? "" : "qhide";
var csscc3 = hascccc3 ? "" : "qhide";
var csscc4 = hascccc4 ? "" : "qhide";
var csscc5 = hascccc5 ? "" : "qhide";
int tempInt = 0;
}
<div class="row">
<form id="mform" method="post" enctype="multipart/form-data" class="form-horizontal">
<section class="panel panel-default">
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 기본정보<span class=""></span></strong></header>
<header class="panel-heading"><strong><i class="fa fa-bars"></i> 기본정보 @Model.CMInnings.FirstOrDefault().scdtype<span class=""></span></strong></header>
<div class="panel-body">
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">평가구분</label>
<div class="col-sm-8 col-md-10">@*@Html.Partial("./Partial/Radio", "0:진행평가;1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.extype" }, { "checked", Model.CMEX.extype } })*@</div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.extype" }, { "checked", Model.CMEX.extype } })</div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "1:최종평가", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.extype" }, { "checked", Model.CMEX.extype } })</div>
</div>
@if (Model.CMInnings.FirstOrDefault().scdtype == 0) {
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">교육일정 선택</label>
<div class="col-sm-8 col-md-10">
<select class="form-control dev" id="cmisno" name="vm.CMEX.cmisno">
<option value="">선택</option>
@foreach (var item in Model.CMInningscds.OrderByDescending(c => c.estart)) {
tempInt = Model.CMInningscds2.Where(c => c.cmino == item.cmino && c.cmisno == item.cmisno && c.intv1 == 2).Count();
<option value="@item.cmisno" data-instructors="@(item.instructors)" @(item.cmisno == Model.CMEX.cmisno ? "selected" : "")>[@item.studyplacename] [@item.estart ~ @item.eend]</option>
}
</select>
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">시험 응시 일시</label>
<div class="col-sm-8 col-md-10 form-inline">
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval18) ? (DateTime?)null : Convert.ToDateTime(Model.stringval18), new ViewDataDictionary { { "name", "vm.stringval18" } })
@Html.TextBoxFor(m => m.stringval19, new { @class = "form-control text-center onlyNum2", @maxlength = "2", @style = "width:50px;", @Name="vm.stringval19" }) 시
@Html.TextBoxFor(m => m.stringval20, new { @class = "form-control text-center onlyNum2", @maxlength ="2", @style = "width:50px;", @Name = "vm.stringval20" }) 분
~
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval21) ? (DateTime?)null : Convert.ToDateTime(Model.stringval21), new ViewDataDictionary { { "name", "vm.stringval21" } })
@Html.TextBoxFor(m => m.stringval22, new { @class = "form-control text-center onlyNum2", @maxlength = "2", @style = "width:50px;", @Name = "vm.stringval22" }) 시
@Html.TextBoxFor(m => m.stringval23, new { @class = "form-control text-center onlyNum2", @maxlength = "2", @style = "width:50px;", @Name = "vm.stringval23" }) 분
</div>
</div>
}
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">평가명</label>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.exname, new { @class = "form-control", @maxlength = "100" })</div>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.exname, new { @class = "form-control", @maxlength = "100", @Name = "vm.CMEX.exname" })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">평가내용</label>
<div class="col-sm-8 col-md-10">@Html.TextAreaFor(m => m.CMEX.edesc, new { @class = "form-control", @maxlength = "700", @style = "resize: none; height: 70px;" })</div>
<div class="col-sm-8 col-md-10">@Html.TextAreaFor(m => m.CMEX.edesc, new { @class = "form-control", @maxlength = "700", @style = "resize: none; height: 70px;", @Name = "vm.CMEX.edesc" })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-2 control-label">총점</label>
@ -39,19 +67,25 @@
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">출석률</label>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.econdition, new { @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;" }) % 이상</div>
<div class="col-sm-8 col-md-10">
@if (Model.CMEX.exno > 0) {
<text>@Html.TextBoxFor(m => m.CMEX.econdition, new { @Value = Model.CMEX.econdition, @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;", @Name = "vm.CMEX.econdition" }) % 이상</text>
} else {
<text>@Html.TextBoxFor(m => m.CMEX.econdition, new { @Value = (Model.CMEX.econdition == 0 ? 90 : Model.CMEX.econdition), @class = "form-control disp-init int nocomma text-center", @maxlength = "3", @style = "width: 80px;", @Name = "vm.CMEX.econdition" }) % 이상</text>
}
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label req">제한시간</label>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.etime, new { @class = "form-control text-center disp-init int nocomma", @style = "width: 80px;" })분 * 0분 입력 시 시간제한 없음</div>
<div class="col-sm-8 col-md-10">@Html.TextBoxFor(m => m.CMEX.etime, new { @Value = (Model.CMEX.etime == 0 ? 60 : Model.CMEX.etime), @class = "form-control text-center disp-init int nocomma", @style = "width: 80px;", @Name = "vm.CMEX.etime" })분 * 0분 입력 시 시간제한 없음</div>
</div>
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
<label class="col-sm-4 col-md-2 control-label">문항출력설정</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "special", "FromTo" }, { "name", "CMEX.evtype" }, { "selected", Model.CMEX.evtype }, { "start", 1 }, { "end", 10 }, { "textadd", "개" }, { "df", "0:전체" }, { "disabled", Model.examsavable } }) 출력</div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", null, new ViewDataDictionary { { "special", "FromTo" }, { "name", "vm.CMEX.evtype" }, { "selected", (Model.CMEX.evtype == 0 ? 10 : Model.CMEX.evtype) }, { "start", 1 }, { "end", 10 }, { "textadd", "개" }, { "df", "0:전체" }, { "disabled", Model.examsavable } }) 출력</div>
</div>
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
<label class="col-sm-4 col-md-2 control-label">출제방식설정</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "0:고정문항(모든 응시자들의 시험지가 동일하며, 문제에 등록된 배점 적용);1:임의문항(모든 응시자들의 시험지가 달라짐)", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.eqtype" }, { "checked", Model.CMEX.eqtype }, { "setbr", 1 }, { "disabled", Model.examsavable } })</div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "0:고정문항(모든 응시자들의 시험지가 동일하며, 문제에 등록된 배점 적용);1:임의문항(모든 응시자들의 시험지가 달라짐)", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.eqtype" }, { "checked", Model.CMEX.eqtype }, { "setbr", 1 }, { "disabled", Model.examsavable } })</div>
</div>
<div id="examlayerbox" style="@(Model.CMEX.eqtype == 0 ? "display: none;":"")">
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
@ -124,33 +158,33 @@
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
<label class="col-sm-4 col-md-2 control-label">문제/보기섞기</label>
<div class="col-sm-8 col-md-10">
@Html.HiddenFor(m => m.CMEX.israndq)<label><input type="checkbox" id="chkrq" @(Model.CMEX.israndq == 1 ? "checked" : "") @(Model.examsavable == "" ? "" : "disabled") /><label for="chkrq">문제섞기</label></label>&nbsp;&nbsp;&nbsp;
@Html.HiddenFor(m => m.CMEX.israndqi)<label><input type="checkbox" id="chkrqi" @(Model.CMEX.israndqi == 1 ? "checked" : "") @(Model.examsavable == "" ? "" : "disabled") /><label for="chkrqi">보기섞기</label></label>
@Html.HiddenFor(m => m.CMEX.israndq, new { @Name = "vm.CMEX.israndq" })<label><input type="checkbox" id="chkrq" @(Model.CMEX.israndq == 1 ? "checked" : "") @(Model.examsavable == "" ? "" : "disabled") /><label for="chkrq">문제섞기</label></label>&nbsp;&nbsp;&nbsp;
@Html.HiddenFor(m => m.CMEX.israndqi, new { @Name = "vm.CMEX.israndqi" })<label><input type="checkbox" id="chkrqi" @(Model.CMEX.israndqi == 1 ? "checked" : "") @(Model.examsavable == "" ? "" : "disabled") /><label for="chkrqi">보기섞기</label></label>
</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">순차응시여부</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "0:자유응시 ;1:순차응시(다음문제로 이동 시 이전 문제를 볼 수 없습니다.)", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.isseq" }, { "checked", Model.CMEX.isseq } })<span style="color: red;"></span></div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "0:자유응시 ;1:순차응시(다음문제로 이동 시 이전 문제를 볼 수 없습니다.)", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.isseq" }, { "checked", Model.CMEX.isseq } })<span style="color: red;"></span></div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">시험창이탈허용</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "0:허용 ;1:비허용(시험창 이탈시 강제종료)", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.isblur" }, { "checked", Model.CMEX.isblur } })<span style="color: red;">※비허용 시 시험창을 벗어나지 않도록 응시자들에게 공지해주세요.</span></div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "0:허용 ;1:비허용(시험창 이탈시 강제종료)", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.isblur" }, { "checked", Model.CMEX.isblur } })<span style="color: red;">※비허용 시 시험창을 벗어나지 않도록 응시자들에게 공지해주세요.</span></div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">임시저장허용</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "1:예;0:아니오", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.isusebackup" }, { "checked", Model.CMEX.isusebackup } }) (응시자가 시험응시화면에서 선택한 답안을 제출 전 저장하는 기능입니다. 동시응시인원이 많을 경우 시험응시사이트가 느려질 수 있습니다.)</div>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Radio", "1:예;0:아니오", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.isusebackup" }, { "checked", Model.CMEX.isusebackup } }) (응시자가 시험응시화면에서 선택한 답안을 제출 전 저장하는 기능입니다. 동시응시인원이 많을 경우 시험응시사이트가 느려질 수 있습니다.)</div>
</div>
<div class="line line-dashed line-lg pull-in @(Model.examsavable)"></div><div class="form-group @(Model.examsavable)">
<label class="col-sm-4 col-md-2 control-label">이어보기설정</label>
<div class="col-sm-8 col-md-10" @Html.Partial("./Partial/Radio", ":무제한;1:1회;2:2회;0:미허용", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.relaylimit" }, { "checked", Model.CMEX.relaylimit }, { "disabled", Model.examsavable } }) (시험응시화면이 닫혔을 경우, 제한시간 내 다시 응시할 수 있는 기준을 설정)</div>
<div class="col-sm-8 col-md-10" @Html.Partial("./Partial/Radio", ":무제한;1:1회;2:2회;0:미허용", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.relaylimit" }, { "checked", Model.CMEX.relaylimit }, { "disabled", Model.examsavable } }) (시험응시화면이 닫혔을 경우, 제한시간 내 다시 응시할 수 있는 기준을 설정)</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">재응시허용</label>
<div class="col-sm-8 col-md-10" @Html.Partial("./Partial/Radio", "1:예;0:아니오", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.isreexamable" }, { "checked", Model.CMEX.exno < 1 ? 1 : Model.CMEX.isreexamable } })</div>
<div class="col-sm-8 col-md-10" @Html.Partial("./Partial/Radio", "1:예;0:아니오", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.isreexamable" }, { "checked", Model.CMEX.exno < 1 ? 1 : Model.CMEX.isreexamable } })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div><div class="form-group">
<label class="col-sm-4 col-md-2 control-label">시험결과공개</label>
<div class="col-sm-8 col-md-10" @Html.Partial("./Partial/Radio", "0:비공개;1:공개", new ViewDataDictionary { { "special", "stringlist" }, { "name", "CMEX.isresultopen" }, { "checked", Model.CMEX.isresultopen } })</div>
<div class="col-sm-8 col-md-10" @Html.Partial("./Partial/Radio", "0:비공개;1:공개", new ViewDataDictionary { { "special", "stringlist" }, { "name", "vm.CMEX.isresultopen" }, { "checked", Model.CMEX.isresultopen } })</div>
</div>
</div>
</section>
@ -207,12 +241,12 @@
<a href="#" class="btn btn-default" onclick="goparent(val('IsSavedForParent') == '1');">닫기</a>
</div>
</div>
<input type="hidden" name="CMEX.exno" id="datakey" value="@Model.CMEX.exno" />
@Html.HiddenFor(m => m.CMEX.cmno)
@Html.HiddenFor(m => m.cmno)
<input type="hidden" name="vm.CMEX.exno" id="datakey" value="@Model.CMEX.exno" />
@Html.HiddenFor(m => m.CMEX.cmno, new { @Name = "vm.CMEX.cmno" })
@Html.HiddenFor(m => m.cmno, new { @Name = "vm.cmno" })
@Html.HiddenFor(m=>m.IsSavedForParent)
<input type="hidden" name="savedata" id="sdata" />
<input type="hidden" name="savedata2" id="sdata2" />
<input type="hidden" name="vm.savedata" id="sdata" />
<input type="hidden" name="vm.savedata2" id="sdata2" />
@Html.Partial("./Partial/DForm", Model)
</form>
</div>
@ -269,7 +303,7 @@
var csscc4 = '@(csscc4)';
var csscc5 = '@(csscc5)';
$(document).ready(function () {
$("input[name='CMEX.eqtype']").on("change", function () {
$("input[name='vm.CMEX.eqtype']").on("change", function () {
setDND(true);
});
$("#layertable").on("change", "input.int", function (e) {
@ -277,7 +311,7 @@
});
$("input._hide").prop("readonly", true);
setDND(false);
if (!$("#CMEX_eqtype0").prop("checked")) {
if (!$("#vm_CMEX_eqtype0").prop("checked")) {
setqlayer()
}
$("table#box1").on("change", "input.int.eqtypes", function () {
@ -288,7 +322,42 @@
$("#spantotal").text(tot);
})
focus("CMEX_exname");
$(document).on("keyup", ".onlyNum2", function () {
// 숫자만 남기기
this.value = this.value.replace(/\D/g, '');
// 두 자리까지만 허용
if (this.value.length > 2) {
this.value = this.value.slice(0, 2);
}
// 범위 체크 (00~59)
if (this.value != "") {
let num = parseInt(this.value, 10);
if (num > 59) {
this.value = "59"; // 최대값으로 보정
}
}
});
//2025-12-31 / KHJ / 교육일정 선택 시 이전 시험에 해당 일정이 등록 된게 있는지 확인해서 막는다.
if ($("#datakey").val() == "" || $("#datakey").val() == "0") {
$(document).on("change", "#cmisno", function () {
capp("/acommon/CmisnoExist", { cmno: $("#cmno").val(), cmisno: $(this).val() }, "excmisno");
});
}
});
function excmisno() {
if (capResult.code == 1000) {
if (capResult.obj > 0) {
msg("시험 추가가 된 교육일정이 있습니다. 다른 교육일정을 선택해주세요.");
$("#cmisno").val("");
return;
}
}
}
function cartesianProductOf() {
return _.reduce(arguments, function (a, b) {
return _.flatten(_.map(a, function (x) {
@ -346,7 +415,7 @@
function setDND(setorgpoint) {
$("#examlayerbox").hide();
var tot = 0;
if ($("#CMEX_eqtype0").prop("checked")) {
if ($("#vm_CMEX_eqtype0").prop("checked")) {
$("#box1 tr.data td.point input.readnot").prop("readonly", false);
if (setorgpoint && $("#box1 tbody tr.data").length > 0) {
msg("하단 문항들의 점수를 문제은행 기본점수 또는 최종저장된 점수로 변경합니다.");
@ -396,7 +465,7 @@
}
function save() {
var _isvalid = true;
if (!$("#CMEX_eqtype0").prop("checked")) {
if (!$("#vm_CMEX_eqtype0").prop("checked")) {
//문항 점검
$.each($("#layertable tbody tr.data"), function (i, r) {
if (getint($(r).find("td.poolcount").text()) < getint($(r).find("td.qcount input.int").val())) {
@ -411,7 +480,7 @@
}
if (_isvalid) {
var _layerqcount = 0;
if ($("#CMEX_eqtype1").prop("checked")) {
if ($("#vm_CMEX_eqtype1").prop("checked")) {
$.each($("#layertable tbody tr td.qcount input.int"), function (i, c) {
_layerqcount += getint($(c).val());
if (_layerqcount > 0) {
@ -419,15 +488,50 @@
}
});
}
if (check("CMEX_exname", "", "시험명칭을 입력하세요.")) { }
else if ($("#CMEX_eqtype0").prop("checked") && $("#box1 tbody tr").length < 1) { msg("출제할 문제를 추가해주세요."); }
else if ($("#CMEX_eqtype1").prop("checked") && _layerqcount < 1) { msg("출제문항수를 입력해주세요."); }
else if (getDouble(val("CMEX_econdition")) > 100 || getDouble(val("CMEX_econdition")) < 0) { msg("출석률은 0 ~ 100 사이의 값을 입력해주세요."); }
else if (_isvalid && confirm("시험을 " + (getint(val("CMEX_exno")) < 1 ? "등록" : "수정") + "하시겠습니까?")) {
if (check("CMEX_exname", "", "시험명칭을 입력하세요.")) { return; }
@if (Model.CMInnings.FirstOrDefault().scdtype == 0) {
<text>
if ($("#cmisno").val() == "") {
msg("교육일정을 선택해주세요.")
return;
}
if ($("#vm_stringval18").val() == "") {
msg("시험 응시 일시 시작 날짜를 입력해주세요.")
return;
}
if ($("#stringval19").val() == "") {
msg("시험 응시 일시 시작 시간을 입력해주세요.")
return;
}
if ($("#stringval20").val() == "") {
msg("시험 응시 일시 시작 분을 입력해주세요.")
return;
}
if ($("#vm_stringval21").val() == "") {
msg("시험 응시 일시 종료 날짜를 입력해주세요.")
return;
}
if ($("#stringval22").val() == "") {
msg("시험 응시 일시 종료 시간을 입력해주세요.")
return;
}
if ($("#stringval23").val() == "") {
msg("시험 응시 일시 시작 분을 입력해주세요.")
return;
}
</text>
}
if ($("#vm_CMEX_eqtype0").prop("checked") && $("#box1 tbody tr").length < 1) { msg("출제할 문제를 추가해주세요."); return; }
if ($("#vm_CMEX_eqtype1").prop("checked") && _layerqcount < 1) { msg("출제문항수를 입력해주세요."); return; }
if (getDouble(val("CMEX_econdition")) > 100 || getDouble(val("CMEX_econdition")) < 0) { msg("출석률은 0 ~ 100 사이의 값을 입력해주세요."); return; }
if (_isvalid && confirm("시험을 " + (getint(val("CMEX_exno")) < 1 ? "등록" : "수정") + "하시겠습니까?")) {
$("#CMEX_israndq").val($("#chkrq").prop("checked") ? 1 : 0);
$("#CMEX_israndqi").val($("#chkrqi").prop("checked") ? 1 : 0);
var sd = "";
if (!$("#CMEX_eqtype0").prop("checked")) {
if (!$("#vm_CMEX_eqtype0").prop("checked")) {
$.each($("#layertable tbody tr.data"), function (i, r) {
//코드6, qcount, rpoint
sd += ";" + $(r).attr("data-ccode") + ":" + $(r).find("td.qcount input.int").val() + ":" + $(r).find("td.rpoint input.int").val();
@ -439,13 +543,27 @@
sd += ";" + $(r).attr("data-eqno") + ":" + $(r).find("td.qseq input.int").val() + ":" + $(r).find("td.autocheck input.qno").val() + ":" + $(r).find("td.point input.int").val();
});
$("#sdata2").val(sd.length > 0 ? sd.substr(1) : sd);
cap("/acommon/cmexsave", "mform", "cbsave");
cap("/acommon/cmexsave2025", "mform", "cbsave");
}
}
}
var pqlist = "";
function qadd() {
framelayer("/cm/qp?stringval13=R");
var instructors = "";
@if (Model.CMInnings.FirstOrDefault().scdtype == 0) {
<text>
if ($("#cmisno").val() == "") {
msg("교육일정을 선택해주세요.")
return;
}
var selected = $("#cmisno").find("option:selected");
instructors = selected.data("instructors");
</text>
}
framelayer("/cm/qp?stringval13=R&stringval16=" + instructors);
}
function calcplist() {
pqlist = "";
@ -489,7 +607,8 @@
$("#intval").val(capResult.obj);
}
setv("IsSavedForParent", 1);
timesubmit();
goparent(val('IsSavedForParent') == '1');
//timesubmit();
}
else if (capResult.obj == -1) {
msg("이미 최종평가가 등록되어 있습니다.");

View File

@ -0,0 +1,375 @@
@model NP.Model.VMCM
@{
int esTsCnt = 0;
int scdType = 0; //교육회차 scdtype = 0(교육장_오프라인),1(온라인대체)
if (Model.ESTs != null) {
esTsCnt = Model.ESTs.Count;
}
if (Model.CMInnings.Count > 0) {
scdType = Convert.ToInt32(Model.CMInnings.FirstOrDefault().scdtype);
}
}
<!-- div[id=container] -->
<div style="@(Model.CM.cmno < 1 ? "display: none;" : "")">
<ul class="pagination pagination-md" style="margin: 0;">
<li><a href="javascript:;" onclick="gotab(0);" data-toggle="tab">기본정보</a></li>
<li><a href="javascript:;" onclick="gotab(1);" data-toggle="tab">회차설정</a></li>
@if (Model.CM.ismaster == 0) {
<li><a href="javascript:;" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
}
<li><a href="javascript:;" data-toggle="tab" onclick="gotab(3);">평가설정</a></li>
<li class="active"><a href="javascript:;" onclick="gotab(5);" data-toggle="tab">시험설정</a></li>
<li><a href="javascript:;" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
</ul>
</div>
<!-- // div[id=container] -->
<!-- form[id=mform] -->
<form id="mform" method="post" class="form-horizontal">
<input type="hidden" id="hdnScdCnt" value="@ViewBag.InningScd" />
<input type="hidden" id="hdnExCnt" value="@esTsCnt" />
<input type="hidden" id="hdnScdType" value="@scdType" />
<!-- section[class=panel panel-default] -->
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
<div class="panel-body">
@if (Model.CM.ismaster == 1) {
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">과정분류 | 과정명</label>
<div class="col-sm-8 col-md-10">
<input type="text" class="form-control" disabled value="[ @(Model.CM.pcgname) | @(Model.CM.cgname) ] @(Model.CM.cname)" />
</div>
</div>
} else {
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">기수 | 강좌명 | 분반</label>
<div class="col-sm-8 col-md-10">
<input type="text" class="form-control" disabled value="@(Model.CM.tmname) | @(Model.CM.cname) | @(Model.CM.classno)반" />
</div>
</div>
}
</div>
</section>
<!-- // section[class=panel panel-default] -->
<!-- section[class=panel panel-default] -->
<!-- // section[class=panel panel-default] -->
<br />
<!-- section[class=panel panel-default] -->
<section class="panel panel-default" style="border-top: 1px solid #ddd; margin-top: 5px;">
<header class="panel-heading">
<strong><i class="fa fa-bars"></i> 시험목록<span></span></strong>
</header>
<div style="padding: 5px 20px; background-color: #fff;">
교육종료일
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval5) ? (DateTime?)null : Convert.ToDateTime(Model.stringval5), new ViewDataDictionary { { "name", "vm.CM.estart" } }) ~
@Html.Partial("./Partial/Date", string.IsNullOrEmpty(Model.stringval6) ? (DateTime?)null : Convert.ToDateTime(Model.stringval6), new ViewDataDictionary { { "name", "vm.CM.eend" } })
@Html.Partial("./Partial/Text", Model.addstringval5, Helpers.DicText(new NP.Model.TextDic() { Name = "vm.CM.instructors", Value = Model.addstringval5, PH = "교강사 이름을 입력하세요.", CssClass = "", Style = "width:250px; display:inline-block;" }))
<a href="#" class="btn btn-default" onclick="submit()" id="btnsearchtext">검색</a>
&nbsp;&nbsp;
<a href="javascript:;" onclick="add(0, 0);" class="btn btn-s-xs btn-primary">최종평가추가</a>
</div>
<div class="table-responsive" id="excel2">
<table class="table table-striped b-t b-light">
<thead>
<tr>
@*<th>평가구분</th>*@
<th>평가명</th>
<th>집체교육일</th>
<th>참여일시</th>
<th>참여조건</th>
<th>총점</th>
<th>삭제</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@{
var estList = Model.ESTs.ToList();
foreach (var item in estList) {
<tr>
<!--<td>@item.estkindname</td>-->
<td class="link"><a href="javascript:;" onclick="add(@item.gubun, @item.exno)">@item.exname</a></td>
<td>
@if (item.cshape == 1) { //오프라인
@(item.estart + "~" + item.eend)
} else { //온라인
@(item.estart)
}
</td>
<td>
@if (item.testsdate != null && item.testedate != null) {
@(Html.Raw(item.testsdate + " ~ <br/>" + item.testedate))
}
</td>
<td>
@if (item.rstype == 1) {
@(item.iseq + "회차" + " (" + item.teachername + ")")
} else {
@:출석 @(item.econdition) 이상
}
</td>
<td>@(item.estkind < 30 ? item.tpoint.ToString() + "점" : "-")</td>
<td><a href="javascript:;" class="delete-link" onclick="del(@item.estkind, @item.exno)">[삭제]</a></td>
</tr>
}
}
</tbody>
</table>
</div>
</section>
<!-- // section[class=panel panel-default] -->
<input type="hidden" id="cmno" name="cmno" value="@Model.CM.cmno" />
<input type="hidden" id="vm.CM.cmno" name="vm.CM.cmno" value="@Model.CM.cmno" />
</form>
<!-- // form[id=mform] -->
<form id="dform" method="post" action="/cm/@Model.listviewname">
@Html.Partial("./Partial/DForm", Model, new ViewDataDictionary { { "preform", 1 } })
</form>
@section styles {
<style type="text/css">
input.int {
text-align: right;
}
.delete-link {
color: red;
}
</style>
}
@section scriptsHeader {
@Html.Partial("./Partial/ScriptDate")
}
@section scripts {
<script>
@*/* 문서 로드 시 초기화 */*@
$(document).ready(function () {
$("#esttable tr td input.int").on("keyup", function (e) {
if ($(this).closest("tr").hasClass("auto")) {
var tot = 0;
$.each($(this).closest("tr").find("td input.int"), function (i, c) {
if (!$(c).hasClass("tot")) {
tot += getint($(c).val());
}
});
$(this).closest("tr").find("td input.int.tot").val(tot);
}
});
});
@*/* 탭 이동 함수 */*@
function gotab(idx, t) {
bglayer();
t = t || 0;
setTimeout(function () {
switch (idx) {
case 0:
$("#dform").attr("action", "/cm/@Model.viewname").submit();
break;
case 1:
$("#dform").attr("action", "/cm/@(Model.viewname)inning").submit();
break;
case 2:
$("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit();
break;
case 3:
$("#dform").attr("action", "/cm/@(Model.viewname)est").submit();
break;
case 4:
$("#dform").attr("action", "/cm/@(Model.viewname)menu").submit();
break;
case 5:
$("#dform").attr("action", "/cm/@(Model.viewname)exset").submit();
break;
}
}, t);
}
// 온라인 여부 변수
var _isonline = @(Model.CMEV.scdtype == 1 ? "true" : "false");
@*/* 평가기준 저장 함수 */*@
function save() {
var isok = true;
$("#isoffabs").attr("disabled", false);
// 총점 검증
$.each($("tr td input.tot"), function (i, c) {
if (getint($(c).val()) != 100) {
isok = false;
$(c).focus();
msg("평가항목의 " + ($(c).hasClass("tot") ? "합이" : "기준이") + " [100]이 되도록 입력해주세요.");
return false;
}
});
// 수료기준 검증
if (isok) {
$.each($("tr#trestcut td input.tot"), function (i, c) {
if (getint($(c).val()) != 100) {
isok = false;
$(c).focus();
msg("평가항목의 기준이 [100]이 되도록 입력해주세요.");
return false;
}
});
}
// 비환급 점수 검증
if (isok) {
$.each($("tr#trestrfd td input.int"), function (i, c) {
if (getint($(c).val()) > 100) {
isok = false;
$(c).focus();
msg("평가항목의 " + ($(c).hasClass("tot") ? "합이" : "기준이") + " 100 이하가 되도록 입력해주세요.");
return false;
}
});
}
// 비환급 수료기준 검증
if (isok) {
$.each($("tr#trestcutrfd td input.int"), function (i, c) {
if (getint($(c).val()) > 100) {
isok = false;
$(c).focus();
msg("평가항목의 기준이 100 이하가 되도록 입력해주세요.");
return false;
}
});
}
// 체크박스 값 설정
var chked = $("#isoffabs").is(':checked');
setv("isoffabs", chked ? 1 : 0);
// 비환급 값을 환급에 적용
$.each($("#trest input"), function () {
$("#trestrfd input[name='" + this.name + "rfd']").val(this.value);
});
$.each($("#trestcut input"), function () {
$("#trestcutrfd input[name='" + this.name + "rfd']").val(this.value);
});
if (isok && confirm("평가기준/비율을 저장하시겠습니까?")) {
cap("/acommon/cmevsave", "mform", "cbsave");
}
}
@*/* 저장 콜백 함수 */*@
function cbsave() {
$("#isoffabs").attr("disabled", _isonline);
if (capResult.code == 1000) {
msg("평가기준/비율을 저장했습니다.", null, true, null, true);
gotab(5, 500);
} else {
msgadmin();
}
}
@*/* 페이지 새로고침 함수 */*@
function pagerefresh() {
gotab(5, 500);
}
@*/* 평가 추가 함수 */*@
function add(idx, no)
{
if (@Model.CMInnings.Count == 0) {
msg("교육일정 탭에서 교육회차를 먼저 등록해주세요.");
return;
}
if ($("#hdnScdType").val() == 1) {
if (no == 0 && parseInt($("#hdnExCnt").val()) > 0) {
msg2("온라인 100%인 교육은 1개의 최종평가만 등록 가능합니다.");
return;
}
}
if (idx == 0) {
showramemainlayer("/cm/cmregex?cmno=@(Model.CM.cmno)&intval=" + no);
} else if (idx == 1) {
showramemainlayer("/cm/cmregsd?cmno=@(Model.CM.cmno)&intval=" + no);
} else if (idx == 2) {
showramemainlayer("/cm/cmregrs?cmno=@(Model.CM.cmno)&intval=" + no);
}
}
@*/* 평가 삭제 함수 */*@
function del(extype, no) {
if (confirm("삭제하시겠습니까?")) {
capp("/acommon/estdel", { extype: extype, no: no }, "cbdel");
}
}
@*/* 삭제 콜백 함수 */*@
function cbdel() {
if (capResult.code == 1000) {
msg("삭제했습니다.", null, true, null, true);
gotab(5, 500);
} else {
msg("수강데이터가 생성되어 삭제할 수 없습니다.");
}
}
function submit() {
$("#cmno").val("vm.CM.");
capp("/acommon/ExamList", $("#mform").serialize(), "examList");
}
function examList() {
if (capResult.code == 1000) {
let html = "";
let num = 0;
$.each($(capResult.obj), function (i, item) {
let cShape = "", rsType = "", testDate = "", estKind = "";
if (item.cshape == 1) { //오프라인
cShape = item.estart + "~" + item.eend;
} else { //온라인
cShape = item.estart;
}
if (item.rstype == 1) {
rsType = item.iseq + " 회차 (" + item.teachername + ")";
} else {
rsType = " 출석 " + item.econdition + " 이상";
}
if (item.testsdate != null && item.testedate != null) {
testDate = item.testsdate + " ~<br />" + item.testedate;
}
if (item.estkind < 30) {
estKind = item.tpoint + "점";
} else {
estKind = "-";
}
html += "<tr>";
html += " <td class=\"link\"><a href=\"javascript:;\" onclick=\"add(" + item.gubun + ", " + item.exno + ")\">" + item.exname + "</a></td>";
html += " <td>" + cShape + "</td>";
html += " <td>" + testDate + "</td>";
html += " <td>" + rsType + "</td>";
html += " <td>" + estKind +"</td>"
html += " <td><a href=\"javascript:;\" class=\"delete-link\" onclick=\"del(" + item.estkind + ", " + item.exno + ")\">[삭제]</a></td>";
html += "</tr>";
num += i + 1;
});
$("#hdnExCnt").val(num);
$("#tbody1").html(html);
}
}
</script>
}

View File

@ -12,6 +12,7 @@
@if (!ViewBag.IsSubAdmin96)
{
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">평가설정</a></li>
<li class=""><a href="#" onclick="gotab(5);" data-toggle="tab">시험설정</a></li>
<li class=""><a href="#" onclick="gotab(4);" data-toggle="tab">메뉴설정</a></li>
}
</ul>
@ -448,6 +449,7 @@
else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); }
else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); }
else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); }
else if (idx == 5) { $("#dform").attr("action", "/cm/@(Model.viewname)exset").submit(); }
}, t);
}
function regbatch() {

View File

@ -10,6 +10,9 @@
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">교육일정</a></li>
}
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">평가설정</a></li>
@if (Model.CM.ismaster == 0) {
<li class="@(Model.tabidx == 5 ? "active" : "")"><a href="#" onclick="@(Model.CM.cmno < 1 ? "gotab()":"gotab(5)");" data-toggle="tab">시험설정</a></li>
}
<li class="active"><a href="#" data-toggle="tab">메뉴설정</a></li>
</ul>
</div>
@ -85,6 +88,7 @@
else if (idx == 2) { $("#dform").attr("action", "/cm/@(Model.viewname)eduschedule").submit(); }
else if (idx == 3) { $("#dform").attr("action", "/cm/@(Model.viewname)est").submit(); }
else if (idx == 4) { $("#dform").attr("action", "/cm/@(Model.viewname)menu").submit(); }
else if (idx == 5) { $("#dform").attr("action", "/cm/@(Model.viewname)exset").submit(); }
}, t);
}
function save() {

View File

@ -186,7 +186,7 @@
@Html.Raw(Model.viewidxname == "강좌" ? "<td>" + item.pcmno + "</td>" : "")
<td>@item.tmname</td>
<td>@item.pcgname</td>
<td>@item.cgname</td>
<td>@item.cgname)</td>
<td>@item.cshapename</td>
@if (!ViewBag.IsSubAdmin96)
{

View File

@ -18,8 +18,8 @@
<li class="active"><a href="#" data-toggle="tab">학습콘텐츠</a></li>
@if (!ViewBag.IsSubAdmin96)
{
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
}
</ul>

View File

@ -18,8 +18,8 @@
<li class="active"><a href="#" data-toggle="tab">학습콘텐츠</a></li>
@if (!ViewBag.IsSubAdmin96)
{
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
}
</ul>

View File

@ -1,54 +1,67 @@
@model NP.Model.VMCM
@{
Layout = "~/Views/Shared/_PopupLayout.cshtml";
Layout = "~/Views/Shared/_PopupLayout.cshtml";
}
<form id="mform" method="post" acton="/cm/qp">
<section class="panel panel-default clearfix devsearch">
@Html.Partial("./Partial/SearchCaption")
<div class="step-content">
<div class="step-pane active form-inline">
@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "name", "stringval" }, { "selected", Model.stringval }, { "df", ":-과정선택" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "ccdiff"), new ViewDataDictionary { { "name", "StringVal2" }, { "selected", Model.stringval2 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "ccdiff").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc1"), new ViewDataDictionary { { "name", "StringVal3" }, { "selected", Model.stringval3 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc1").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc2"), new ViewDataDictionary { { "name", "StringVal4" }, { "selected", Model.stringval4 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc2").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc3"), new ViewDataDictionary { { "name", "StringVal5" }, { "selected", Model.stringval5 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc3").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc4"), new ViewDataDictionary { { "name", "StringVal6" }, { "selected", Model.stringval6 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc4").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc5"), new ViewDataDictionary { { "name", "StringVal7" }, { "selected", Model.stringval7 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc5").First().cgroupname } })
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
</div>
<div class="step-pane active form-inline">
@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "name", "stringval" }, { "selected", Model.stringval }, { "df", ":-과정선택" } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "ccdiff"), new ViewDataDictionary { { "name", "StringVal2" }, { "selected", Model.stringval2 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "ccdiff").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc1"), new ViewDataDictionary { { "name", "StringVal3" }, { "selected", Model.stringval3 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc1").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc2"), new ViewDataDictionary { { "name", "StringVal4" }, { "selected", Model.stringval4 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc2").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc3"), new ViewDataDictionary { { "name", "StringVal5" }, { "selected", Model.stringval5 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc3").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc4"), new ViewDataDictionary { { "name", "StringVal6" }, { "selected", Model.stringval6 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc4").First().cgroupname } })
@Html.Partial("./Partial/Select", Model.ComCodes.Where(w => w.cgroup == "cc5"), new ViewDataDictionary { { "name", "StringVal7" }, { "selected", Model.stringval7 }, { "cssclass", "searchcon " }, { "df", ":" + Model.ComGroups.Where(w => w.cgroup == "cc5").First().cgroupname } })
<select class="form-control dev" name="stringVal14">
@if (Model.Datas.Count > 0) {
foreach (var item in Model.Datas) {
<option value="@item.strval" @(item.strval == Model.stringval14 ? "selected" : "")>@item.strval2</option>
}
} else {
<option>교강사</option>
}
</select>
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
</div>
</div>
</section>
<div class="col-md-12 resultbox" @*style="padding: 0; margin-bottom: 60px;"*@>
<table class="databox" id="box1" style="width:100%;">
<colgroup>
<col style="width: 30px;" />
<col style="width: 120px;" />
<col style="width: 50px;" />
<col style="width: 50px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width:*;" />
<col style="width: 70px;" />
<col style="width: 30px;" />
</colgroup>
<colgroup>
<col style="width: 30px;" />
<col style="width: 120px;" />
<col style="width: 100px;" />
<col style="width: 50px;" />
<col style="width: 50px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width: 70px;" />
<col style="width:*;" />
<col style="width: 70px;" />
<col style="width: 30px;" />
</colgroup>
<thead>
<tr>
<th><input type="checkbox" onclick="javascript: checkall('box1', this);" /></th>
<th>과정</th>
<th>문제유형</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "ccdiff").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc1").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc2").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc3").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc4").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc5").First().cgroupname</th>
<th>문제명</th>
<th>등록일</th>
<th>점수</th>
</tr>
<tr>
<th><input type="checkbox" onclick="javascript: checkall('box1', this);" /></th>
<th>과정</th>
<th>교강사</th>
<th>문제유형</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "ccdiff").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc1").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc2").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc3").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc4").First().cgroupname</th>
<th>@Model.ComGroups.Where(w => w.cgroup == "cc5").First().cgroupname</th>
<th>문제명</th>
<th>등록일</th>
<th>점수</th>
</tr>
</thead>
<tbody>
@foreach (var item in Model.Qs)
@ -56,6 +69,7 @@
<tr class="data center" data-qno="@item.qno" style="font-size:11px;">
<td><input type="checkbox" class="autocheck qno" value="@string.Format("{0}:{1}:{2}:{3}:{4}:{5}:{6}:{7}:{8}", item.qno, item.atype, item.qdiff, item.cc1, item.cc2, item.cc3, item.cc4, item.cc5, item.dpoint)" /></td>
<td class="text-left" data-val="@item.atype">@item.cname</td>
<td class="text-center">@item.instructors_name</td>
<td class="atype" data-val="@item.atype">@item.atypename</td>
<td class="qdiff" data-val="@item.qdiff">@item.qdiffname</td>
<td class="qp1" data-val="@item.cc1">@item.ccname1</td>

View File

@ -14,12 +14,12 @@
var isqt5 = qt5.Count() > 0;
}
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class="active"><a href="#" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class="active"><a href="#" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
</div>
<br />
<div class="row">
@ -31,6 +31,22 @@
<label class="col-sm-4 col-md-2 control-label">과정</label>
<div class="col-sm-8 col-md-10">@Html.Partial("./Partial/Select", Model.CMs, new ViewDataDictionary { { "special", "reg" }, { "name", "Question.cmno" }, { "selected", Model.Question.cmno }, { "df", ":-과정선택" } })</div>
</div>
<div class="line line-dashed line-lg pull-in"></div>
<div class="form-group">
<label class="col-sm-4 col-md-2 control-label">교강사</label>
<div class="col-sm-8 col-md-10">
<a href="#" class="btn btn-info btn-find btn-xs data-find data-find-float" onclick="findusershow()"><i class="fa fa-search"></i></a>
<ul class="selectgroupul" id="cmprdatabox">
@if (!string.IsNullOrWhiteSpace(Model.Question.instructors))
{
<li class="instructor">[@(Model.Question.usertype == 11 ? "강사" : "운영자")]@Model.Question.instructors_name<a href="#" class="adel instructorsDel">X</a></li>
}
</ul>
@Html.HiddenFor(m => m.Question.instructors)
</div>
</div>
@if (isqdiff)
{<div class="line line-dashed line-lg pull-in"></div><div class="form-group"><label class="col-sm-4 col-md-2 control-label" id="lblqdiff">@qdiff.First().cgroupname</label><div class="col-sm-8 col-md-10">@Html.Radio(new NP.Model.InputRadio() { Name = "qdiff", Selected = Model.Question.qdiff.ToString(), ComCodes = Model.ComCodes.Where(w => w.cgroup == "ccdiff").ToList(), ChangeId = "Question_qdiff" })</div></div>}
@if (isqt1)
@ -139,6 +155,9 @@
}
</div>
</div>
@Html.Partial("./Partial/UserBoxSelect", "bindUser;강사/담당자 선택;999_1", new ViewDataDictionary { { "assigns", Model.Assigns }, { "userauths", Model.userauths } })
@section styles{
@Html.Partial("./Partial/SummerNoteStyle")
<style type="text/css">
@ -273,6 +292,11 @@
if ('@Model.Question.atype' == '0') {
$(".atype1box").hide();
}
$(document).on("click", ".instructorsDel", function () {
$(this).parent().remove();
$("#Question_instructors").val("");
});
});
var saveandnew = false;
var imgids = [];
@ -442,5 +466,26 @@
else if (idx == 3) { location.href = "/cm/rs"; }
}, t);
}
function bindUser(ui) {
$.each($(ui.split(';')), function (i, d) {
if ($("#Question_instructors").val() != "") {
if (d.split(':')[7] == $("#Question_instructors").val()) {
alert("동일한 교강사입니다.");
return;
} else {
if (!confirm("이미 등록된 교강사가 있습니다.\n선택한 교강사로 변경 하시겠습니까?")) {
return;
}
$(".instructor").remove();
}
}
//if ($("#cmprdatabox li.no" + d.split(':')[0]).length < 1) {
$("#cmprdatabox").append("<li class=\"instructor\">[" + (d.split(':')[1] == 11 ? "강사" : "운영자") + "]" + d.split(':')[2] + "<a href=\"#\" class=\"adel instructorsDel\">x</a></li>")
$("#Question_instructors").val(d.split(':')[7]);
//}
});
}
</script>
}

View File

@ -14,12 +14,12 @@
var isqt5 = qt5.Count() > 0;
}
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class="active"><a href="#" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class="active"><a href="#" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(3);" data-toggle="tab">설문지</a></li>
</ul>
</div>
<br />
<form id="mform" method="post">
@ -42,61 +42,64 @@
{@Html.Partial("./Partial/Select", qt5, new ViewDataDictionary { { "name", "stringval7" }, { "selected", Model.stringval7 }, { "cssclass", "searchcon " }, { "df", ":" + qt5.First().cgroupname } })}
<br /><br />
@Html.Partial("./Partial/Select", Helpers.ValueText(":사용여부;1:사용;0:미사용"), Helpers.DicSelect(new NP.Model.SelectDic() { Name = "stringval8", Selected = Model.stringval8 }))
@Html.Partial("./Partial/Select", Helpers.ValueText("qtextstring:문제명;qno:문제번호"), Helpers.DicSelect(new NP.Model.SelectDic() { Name = "searchtype", Selected = Model.searchtype }))
@Html.Partial("./Partial/Select", Helpers.ValueText("qtextstring:문제명;qno:문제번호;instructors:교강사"), Helpers.DicSelect(new NP.Model.SelectDic() { Name = "searchtype", Selected = Model.searchtype }))
@Html.Partial("./Partial/Text", Model.searchtext, Helpers.DicText(new NP.Model.TextDic() { Name = "searchtext", Value = Model.searchtext }))
@Html.Partial("./Partial/Button", new NP.Model.Button() { Special = "search" })
</div>
</div>
</section>
<div class="tar buttonbox">
<a href="#" onclick="javascript:reg(9);" class="btn btn-s-xs btn-danger">선택삭제</a>
<a href="#" onclick="javascript:reg(8);" class="btn btn-s-xs btn-danger">선택사용</a>
<a href="#" onclick="javascript:reg(7);" class="btn btn-s-xs btn-danger">선택미사용</a>
<a href="~/Content/file/questions.xlsx" class="btn btn-s-xs btn-default">일괄등록양식다운로드</a>
<a href="#" onclick="javascript:reg2(0);" class="btn btn-s-xs btn-info">개별등록</a>
<a href="#" onclick="javascript:reg(-1);" class="btn btn-s-xs btn-info">일괄등록</a>
</div>
<div class="tar buttonbox">
<a href="#" onclick="javascript:reg(9);" class="btn btn-s-xs btn-danger">선택삭제</a>
<a href="#" onclick="javascript:reg(8);" class="btn btn-s-xs btn-danger">선택사용</a>
<a href="#" onclick="javascript:reg(7);" class="btn btn-s-xs btn-danger">선택미사용</a>
<a href="~/Content/file/questions.xlsx" class="btn btn-s-xs btn-default">일괄등록양식다운로드</a>
<a href="#" onclick="javascript:reg2(0);" class="btn btn-s-xs btn-info">개별등록</a>
<a href="#" onclick="javascript:reg(-1);" class="btn btn-s-xs btn-info">일괄등록</a>
<a href="~/Content/file/questions.xlsx" class="btn btn-info">일괄등록양식 다운로드</a>
</div>
<section class="panel panel-default">
<header class="panel-heading">문제목록</header>
<div class="table-responsive" id="excel1">
<table class="table table-striped b-t b-light">
<thead>
<tr>
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
<th width="40">No</th>
<th width="40">Code</th>
<th>과정명</th>
@Html.Raw(isqdiff ? string.Format("<th>{0}</th>", qdiff.First().cgroupname) : "")
@Html.Raw(isqt1 ? string.Format("<th>{0}</th>", qt1.First().cgroupname) : "")
@Html.Raw(isqt2 ? string.Format("<th>{0}</th>", qt2.First().cgroupname) : "")
@Html.Raw(isqt3 ? string.Format("<th>{0}</th>", qt3.First().cgroupname) : "")
@Html.Raw(isqt4 ? string.Format("<th>{0}</th>", qt4.First().cgroupname) : "")
@Html.Raw(isqt5 ? string.Format("<th>{0}</th>", qt5.First().cgroupname) : "")
<th>유형</th>
<th>문제명</th>
<th>수정일</th>
<th>사용여부</th>
</tr>
<tr>
<th><input type="checkbox" onclick="javascript: checkall('excel1', this);" /></th>
<th width="40">No</th>
<th width="40">Code</th>
<th>과정명</th>
@Html.Raw(isqdiff ? string.Format("<th>{0}</th>", qdiff.First().cgroupname) : "")
@Html.Raw(isqt1 ? string.Format("<th>{0}</th>", qt1.First().cgroupname) : "")
@Html.Raw(isqt2 ? string.Format("<th>{0}</th>", qt2.First().cgroupname) : "")
@Html.Raw(isqt3 ? string.Format("<th>{0}</th>", qt3.First().cgroupname) : "")
@Html.Raw(isqt4 ? string.Format("<th>{0}</th>", qt4.First().cgroupname) : "")
@Html.Raw(isqt5 ? string.Format("<th>{0}</th>", qt5.First().cgroupname) : "")
<th>유형</th>
<th>문제명</th>
<th>교강사</th>
<th>수정일</th>
<th>사용여부</th>
</tr>
</thead>
<tbody class="data" id="tbody1">
@foreach (var item in Model.Qs)
{
<tr>
<td><input type="checkbox" class="autocheck" value="@item.qno" /></td>
<td>@item.rnorvt</td>
<td>@item.qno</td>
<td class="text-left">@item.cname</td>
@Html.Raw(isqdiff ? string.Format("<td>{0}</td>", item.qdiffname) : "")
@Html.Raw(isqt1 ? string.Format("<td>{0}</td>", item.ccname1) : "")
@Html.Raw(isqt2 ? string.Format("<td>{0}</td>", item.ccname2) : "")
@Html.Raw(isqt3 ? string.Format("<td>{0}</td>", item.ccname3) : "")
@Html.Raw(isqt4 ? string.Format("<td>{0}</td>", item.ccname4) : "")
@Html.Raw(isqt5 ? string.Format("<td>{0}</td>", item.ccname5) : "")
<td>@item.atypename</td>
<td class="link" style="max-width: 300px; overflow: hidden;"><a class="link" href="#" onclick="reg2(@item.qno);" style="white-space: nowrap; max-width: 300px; overflow: hidden;">@System.Text.RegularExpressions.Regex.Replace((item.qtextstring ?? "").Length < 30 ? (item.qtextstring ?? "") : (item.qtextstring ?? "").Substring(0, 30), @"[<][a-z|A-Z|/](.|)*?[>]", "")</a></td>
<td>@item.udtymd2</td>
<td>@item.isuseyn</td>
</tr>
<tr>
<td><input type="checkbox" class="autocheck" value="@item.qno" /></td>
<td>@item.rnorvt</td>
<td>@item.qno</td>
<td class="text-left">@item.cname</td>
@Html.Raw(isqdiff ? string.Format("<td>{0}</td>", item.qdiffname) : "")
@Html.Raw(isqt1 ? string.Format("<td>{0}</td>", item.ccname1) : "")
@Html.Raw(isqt2 ? string.Format("<td>{0}</td>", item.ccname2) : "")
@Html.Raw(isqt3 ? string.Format("<td>{0}</td>", item.ccname3) : "")
@Html.Raw(isqt4 ? string.Format("<td>{0}</td>", item.ccname4) : "")
@Html.Raw(isqt5 ? string.Format("<td>{0}</td>", item.ccname5) : "")
<td>@item.atypename</td>
<td class="link" style="max-width: 300px; overflow: hidden;"><a class="link" href="#" onclick="reg2(@item.qno);" style="white-space: nowrap; max-width: 300px; overflow: hidden;">@System.Text.RegularExpressions.Regex.Replace((item.qtextstring ?? "").Length < 30 ? (item.qtextstring ?? "") : (item.qtextstring ?? "").Substring(0, 30), @"[<][a-z|A-Z|/](.|)*?[>]", "")</a></td>
<td>@item.instructors_name</td>
<td>@item.udtymd2</td>
<td>@item.isuseyn</td>
</tr>
}
</tbody>
</table>

View File

@ -1,11 +1,11 @@
@model NP.Model.VMCM
<div>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class="active"><a href="#" data-toggle="tab">설문지</a></li>
</ul>
<ul class="pagination pagination-md" style="margin: 0;">
<li class=""><a href="#" onclick="gotab(1);" data-toggle="tab">학습콘텐츠</a></li>
<li class=""><a href="#" onclick="gotab(2);" data-toggle="tab">문제</a></li>
<li class=""><a href="#" onclick="gotab(0);" data-toggle="tab">그룹코드관리</a></li>
<li class="active"><a href="#" data-toggle="tab">설문지</a></li>
</ul>
</div>
<br />
<form id="mform" method="post">

View File

@ -94,7 +94,7 @@
}
@*최종평가*@
<td>@(d.ex1cnt < 1 ? "-" :d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
<td>@(d.ex1cnt < 1 ? "-" : d.ex1lectcnt < 1 && d.ex1cnt > 0 ? "미제출" : d.ex1lectpoint.ToString())</td>
@*과제*@
<td>@(d.sd0cnt < 1 ? "-" :d.sd0lectcnt < 1 && d.sd0cnt > 0 ? "미제출" : d.sd0lectpoint.ToString())</td>

View File

@ -15,7 +15,6 @@
</connectionStrings>
-->
<system.web>
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!--
아래 예에서 "Replace" 변환은 web.config 파일의

428
BO/Web.Production.config Normal file
View File

@ -0,0 +1,428 @@
<?xml version="1.0" encoding="utf-8"?>
<!--
ASP.NET 응용 프로그램을 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요.
https://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<!--Spring-->
<sectionGroup name="spring">
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core" />
<section name="typeAliases" type="Spring.Context.Support.TypeAliasesSectionHandler, Spring.Core" />
<section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc5" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
<!--<section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />-->
</sectionGroup>
<!---iBATIS-->
<sectionGroup name="iBATIS">
<section name="logging" type="IBatisNet.Common.Logging.ConfigurationSectionHandler, IBatisNet.Common" />
</sectionGroup>
<!--Common-->
</configSections>
<appSettings>
<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="fronturl" value="https://www.cte.or.kr" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="adminurl" value="https://mng.cte.or.kr" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="adminips" value="118.219.255.223;118.219.255.225;118.219.255.189;118.219.255.190" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="reporturl" value="https://cter.cte.or.kr" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="isstaging" value="0" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;yicte04003" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="popbillManager" value="070-5088-4781;박희란" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="usessl" value="Y" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="daokey" value="ynictelms2020" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--결제 url | mid | hashed signkey | 취소모듈비밀번호 | 거래번호앞두자리-->
<!--테스트-->
<add key="pginfo" value="https://stgstdpay.inicis.com|INIpayTest|SU5JTElURV9UUklQTEVERVNfS0VZU1RS|1111|te|" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--상용-->
<!--<add key="pginfo" value="https://stdpay.inicis.com|?|?|1111|pr|" />-->
<add key="pgroot" value="D:\INIpay50_ASP" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--
talk
0: url, 1: id, 2: password,3: 계정키, 4: 계정ID, 5: 발신프로필키
-->
<add key="talk" value="https://dev-alimtalk-api.bizmsg.kr:1443/v2/sender/send,?,?,?,?,?,023103312" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />-->
<add key="configpath" value="Product" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="lgdacomConfigPath" value="C:\inetpub\wwwroot\cte\pgpay" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="CST_MID" value="yicte" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--상점아이디-->
<add key="CST_PLATFORM" value="service" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--test, service-->
<add key="LGD_ENCODING" value="UTF-8" />
<add key="LGD_BACKBTN_YN" value="N" />
<add key="LGD_CASNOTEURL" value="https://www.cte.or.kr/Account/XPayVBankMoney" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--가상계좌 입금통보 URL-->
<add key="LGD_AUTOFILLYN_BUYER" value="Y" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="LGD_CASHRECEIPTYN" value="Y" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="LGD_ESCROW_USEYN" value="N" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="PAYMENT_CLASSIFICATION" value="pr" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="LGD_MERTKEY" value="1e961022a432d24d7d8d02581ac7461f" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--MTS SMSMMS 발신번호, 알림톡발신키-->
<add key="mastersms" value="10d3158b52019fa6b7e5563b1e35cf8c48a8caf9" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="mtssendnum" value="15447660" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="mtsdb" value="Server=118.219.255.222;Database=mtsyicte;User ID=mtsyicteremote;Password=dev1@#" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌 API 연동정보-->
<!--팝빌회원 링크아이디(LinkID)-->
<add key="Popbill.LinkID" value="YJCTE" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌회원 비밀키(SecretKey)-->
<add key="Popbill.SecretKey" value="nC+bFG/XTCAQ3XtsRVdPWx70wJwq8XTE5vGeW2/uxyg=" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌회원 사업자번호, '-' 제외 10자리-->
<add key="Popbill.CorpNum" value="6218204003" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌회원 아이디(비필수)-->
<add key="Popbill.UserID" value="" />
<!--연동환경 설정값, 개발용(true), 상업용(false)-->
<add key="Popbill.TaxinvoiceService.IsTest" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--인증토큰 IP 제한기능 사용여부, 권장(true)-->
<add key="Popbill.TaxinvoiceService.IPRestrictOnOff" value="true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌 API 서비스 고정 IP 사용여부(GA), true-사용, false-미사용, 기본값(false)-->
<add key="Popbill.TaxinvoiceService.UseStaticIP" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--로컬서버 시간 사용 여부 true-사용, false-미사용, 기본값(false)-->
<add key="Popbill.TaxinvoiceService.UseLocalTimeYN" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
<common>
<logging>
<factoryAdapter type="Common.Logging.Simple.TraceLoggerFactoryAdapter, Common.Logging">
<arg key="Level" value="ALL" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</factoryAdapter>
</logging>
</common>
<spring>
<!--<context>
<resource uri="config://spring/objects"/>
</context>
<objects xmlns="http://www.springframework.net">
<object name="CustomerRepositoryService"
type="App.Repository.CustomerRepository,App.Repository"/>
<object name="CustomerController" type="SpringNetMVC5.Controllers.CustomerController, SpringNetMVC5" singleton="false">
<property name="CustomerRepository" ref="CustomerRepositoryService"/>
</object>
</objects>-->
<context>
<resource uri="file://~/Spring/Controllers.xml" xdt:Transform="SetAttributes" xdt:Locator="Match(uri)" />
<resource uri="file://~/Spring/Daos.xml" xdt:Transform="SetAttributes" xdt:Locator="Match(uri)" />
</context>
<parsers>
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
<parser type="Spring.Transaction.Config.TxNamespaceParser, Spring.Data" />
</parsers>
</spring>
<connectionStrings>
<add name="xls" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0" />
<add name="xlsx" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0" />
</connectionStrings>
<!--
web.config 변경 내용에 대한 설명은 http://go.microsoft.com/fwlink/?LinkId=235367을 참고하십시오.
다음 특성은 <httpRuntime> 태그에 설정할 수 있습니다.
<system.Web>
<httpRuntime targetFramework="4.5" />
</system.Web>
-->
<system.web>
<authentication mode="None">
<forms loginUrl="~/Account/Index" timeout="2880" />
</authentication>
<!--<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20" cookieName="ntest_admin" />-->
<!--<sessionState cookieless="UseCookies" cookieName="kfcfa" mode="Off" stateConnectionString="tcpip=localhost:42424" timeout="60" />-->
<sessionState cookieless="UseCookies" cookieName="kfcfa" mode="StateServer" stateConnectionString="tcpip=localhost:42424" timeout="60" />
<!--<identity impersonate="true" userName="root" password="rhdwjdrudwod!@#45" />-->
<customErrors mode="RemoteOnly" defaultRedirect="~/Account/Error">
<error statusCode="404" redirect="~/Account/Error404" />
<error statusCode="403" redirect="~/Account/Error403" />
<error statusCode="500" redirect="~/Account/Error500" />
</customErrors>
<compilation debug="true" targetFramework="4.6" />
<httpRuntime targetFramework="4.5" requestValidationMode="2.0" maxRequestLength="1042000" />
<httpModules>
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" />
</httpModules>
</system.web>
<system.web.extensions>
<scripting>
<webServices>
<jsonSerialization maxJsonLength="5000000" />
</webServices>
</scripting>
</system.web.extensions>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-1.1.0.0" newVersion="1.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Helpers" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Common.Logging.Core" publicKeyToken="af08829b84f0328e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Common.Logging" publicKeyToken="af08829b84f0328e" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-1.2.0.0" newVersion="1.2.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Web.Http.WebHost" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Net.Http.Formatting" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-5.2.3.0" newVersion="5.2.3.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="1073741824"></requestLimits>
</requestFiltering>
</security>
<httpProtocol allowKeepAlive="false">
<customHeaders>
<remove name="Vary"></remove>
<add name="Vary" value="Accept-Encoding"></add>
<add name="Access-Control-Allow-Origin" value="http://127.0.0.1" />
</customHeaders>
</httpProtocol>
<!--<httpErrors>
<remove statusCode="403" subStatusCode="-1" />
<error statusCode="403" prefixLanguageFilePath="" path="Account/Error403" responseMode="ExecuteURL" />
</httpErrors>
<rewrite>
<outboundRules>
<rule name="Change location header" patternSyntax="ExactMatch">
<match serverVariable="RESPONSE_location" pattern="/Account/Error403?foo=bar" />
<action type="Rewrite" value="/Account/Error403" />
</rule>
</outboundRules>
</rewrite>
<defaultDocument enabled="false" />-->
<validation validateIntegratedModeConfiguration="false" />
<modules>
<remove name="ApplicationInsightsWebTracking" />
<add name="ApplicationInsightsWebTracking" type="Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule, Microsoft.AI.Web" preCondition="managedHandler" />
<add name="KpnModule" type="KpnModule.NET.KpnModule"/>
</modules>
<handlers>
<remove name="ExtensionlessUrlHandler-Integrated-4.0" />
<remove name="OPTIONSVerbHandler" />
<remove name="TRACEVerbHandler" />
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
<staticContent>
<clientCache cacheControlMode="UseMaxAge" cacheControlMaxAge="1.00:00:00" />
</staticContent>
</system.webServer>
<!-- <system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->
<iBATIS>
<logging>
<logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
<arg key="configType" value="inline" />
</logFactoryAdapter>
</logging>
</iBATIS>
<log4net xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<file value="D:\log\ynicte\log.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(value)" />
<param name="MaxSizeRollBackups" value="2" />
<param name="MaximumFileSize" value="1024KB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<appendToFile value="true" />
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d - %m%n" />
</layout>
</appender>
<appender name="ConsoleAppender" type="log4net.Appender.ConsoleAppender" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<layout type="log4net.Layout.PatternLayout">
<param name="ConversionPattern" value="%d - %m%n" />
</layout>
</appender>
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<param name="File" value="C:\log\boYnicte\debug.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="DeleteAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<param name="File" value="C:\log\boYnicte\delete.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="WarnAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<param name="File" value="C:\log\boYnicte\warn.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="QueryAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<param name="File" value="C:\log\boYnicte\query.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<param name="File" value="C:\log\boYnicte\error.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="TryErrorAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Locator="Match(name)" xdt:Transform="SetAttributes">
<param name="File" value="C:\log\boYnicte\tryerror.txt" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
<param name="MaximumFileSize" value="5MB" />
<param name="RollingStyle" value="Size" />
<param name="StaticLogFileName" value="true" />
<layout type="log4net.Layout.PatternLayout,log4net">
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<!-- OFF, FATAL, ERROR, Delete, WARN, INFO, DEBUG, ALL -->
<root>
<level value="DEBUG" />
<appender-ref ref="RollingLogFileAppender" />
<appender-ref ref="ConsoleAppender" />
</root>
<logger name="Debug">
<appender-ref ref="DebugAppender" />
<level value="DEBUG" />
</logger>
<logger name="Query">
<appender-ref ref="QueryAppender" />
<level value="QUERY" />
</logger>
<logger name="Delete">
<appender-ref ref="DeleteAppender" />
<level value="DELETE" />
</logger>
<logger name="TryError">
<appender-ref ref="TryErrorAppender" />
<level value="TRYERROR" />
</logger>
<logger name="Warn">
<appender-ref ref="WarnAppender" />
<level value="WARN" />
</logger>
<logger name="Error">
<appender-ref ref="ErrorAppender" />
<level value="ERROR" />
</logger>
<logger name="IBatisNet.DataMapper.Commands.DefaultPreparedCommand">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataMapper.Configuration.Cache.CacheModel">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataMapper.LazyLoadList">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataMapper.SqlMapSession">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.Common.Transaction.TransactionScope">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataAccess.DaoSession">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataAccess.Configuration.DaoProxy">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataMapper.Configuration.Statements.PreparedStatementFactory">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
<logger name="IBatisNet.DataMapper.Commands.IPreparedCommand">
<!--<level value="DEBUG"/>-->
<appender-ref ref="QueryAppender" />
</logger>
</log4net>
<!--<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\tmp\lmstesl_log4net.txt" />
</listeners>
</trace>
</system.diagnostics>-->
</configuration>

View File

@ -1,15 +1,22 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<?xml version="1.0" encoding="utf-8"?>
<!--
ASP.NET 응용 프로그램을 구성하는 방법에 대한 자세한 내용은 다음을 참조하세요.
https://go.microsoft.com/fwlink/?LinkId=301880
-->
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<configSections>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler,log4net" />
<!--Spring-->
<sectionGroup name="spring">
<section name="parsers" type="Spring.Context.Support.NamespaceParsersSectionHandler, Spring.Core" />
<section name="typeAliases" type="Spring.Context.Support.TypeAliasesSectionHandler, Spring.Core" />
<section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Web.Mvc5" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />
<!--<section name="context" type="Spring.Context.Support.MvcContextHandler, Spring.Core" />
<section name="objects" type="Spring.Context.Support.DefaultSectionHandler, Spring.Core" />-->
</sectionGroup>
<!---iBATIS-->
<sectionGroup name="iBATIS">
@ -23,17 +30,17 @@
<add key="ClientValidationEnabled" value="true" />
<add key="UnobtrusiveJavaScriptEnabled" value="true" />
<add key="fronturl" value="http://www.ynicte.com" />
<add key="adminurl" value="http://admin.ynicte.com" />
<add key="adminips" value="118.219.255.223;118.219.255.225;118.219.255.189;118.219.255.190" />
<add key="reporturl" value="http://ynicter.nptc.kr" />
<add key="fronturl" value="https://ynicte.nptc.kr" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="adminurl" value="https://ynictea.nptc.kr/" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="adminips" value="118.219.255.223;118.219.255.225;118.219.255.189;118.219.255.190" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="reporturl" value="http://ynicter.nptc.kr" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="isstaging" value="1" />
<!--<add key="masteremail" value="edu@ynicte.or.kr;mail.ynicte.or.kr;25;ynicte@ynicte.or.kr;k7758870!%" />-->
<!--<add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;yicte04003" />-->
<add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;txwhczubbkcbotfd" />
<add key="popbillManager" value="070-5088-4781;박희란" />
<add key="masteremail" value="yicte@cte.or.kr;smtp.daum.net;465;yicte2020;txwhczubbkcbotfd" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="popbillManager" value="070-5088-4781;박희란" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="usessl" value="N" />
<add key="usessl" value="Y" />
<add key="daokey" value="ynictelms2020" />
<!--결제 url | mid | hashed signkey | 취소모듈비밀번호 | 거래번호앞두자리-->
@ -43,50 +50,56 @@
<!--<add key="pginfo" value="https://stdpay.inicis.com|?|?|1111|pr|" />-->
<add key="pgroot" value="D:\INIpay50_ASP" />
<!-- talk 0: url, 1: id, 2: password,3: 계정키, 4: 계정ID, 5: 발신프로필키 -->
<!--
talk
0: url, 1: id, 2: password,3: 계정키, 4: 계정ID, 5: 발신프로필키
-->
<add key="talk" value="https://dev-alimtalk-api.bizmsg.kr:1443/v2/sender/send,?,?,?,?,?,023103312" />
<!--<add key="talk" value="https://alimtalk-api.bizmsg.kr/v2/sender/send,?,?,?,?,?,023103312" />-->
<!-- DB 연결문자열 -->
<!--<add key="configpath" value="Product" />-->
<!-- <add key="configpath" value="Product" />-->
<!--<add key="configpath" value="ProductDev" />-->
<add key="configpath" value="staging" />
<!-- 토스 페이먼츠 -->
<add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" />
<add key="CST_MID" value="yicte" />
<add key="CST_PLATFORM" value="test" />
<add key="lgdacomConfigPath" value="D:\3rdparti\lgdacomyicte" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="CST_MID" value="yicte" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--상점아이디-->
<add key="CST_PLATFORM" value="test" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--test,service-->
<!--test, service-->
<add key="LGD_ENCODING" value="UTF-8" />
<add key="LGD_BACKBTN_YN" value="N" />
<add key="LGD_CASNOTEURL" value="https://ynicte.nptc.kr/Account/XPayVBankMoney" />
<add key="LGD_CASNOTEURL" value="https://ynicte.nptc.kr/Account/XPayVBankMoney" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--가상계좌 입금통보 URL-->
<add key="LGD_AUTOFILLYN_BUYER" value="Y" />
<add key="LGD_CASHRECEIPTYN" value="Y" />
<add key="LGD_ESCROW_USEYN" value="N" />
<add key="PAYMENT_CLASSIFICATION" value="te" />
<add key="LGD_MERTKEY" value="1e961022a432d24d7d8d02581ac7461f" />
<add key="PAYMENT_CLASSIFICATION" value="te" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="LGD_MERTKEY" value="1e961022a432d24d7d8d02581ac7461f" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--MTS SMSMMS 발신번호, 알림톡발신키-->
<add key="mastersms" value="10d3158b52019fa6b7e5563b1e35cf8c48a8caf9" />
<add key="mtssendnum" value="15447660" />
<add key="mtsdb" value="Server=218.232.111.111;Database=mtsyicte;User ID=mtsyicteremote;Password=dev1@#" />
<add key="mastersms" value="10d3158b52019fa6b7e5563b1e35cf8c48a8caf9" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="mtssendnum" value="15447660" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<add key="mtsdb" value="Server=218.232.111.111;Database=mtsyicte;User ID=mtsyicteremote;Password=dev1@#" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌 API 연동정보-->
<!--팝빌회원 링크아이디(LinkID)-->
<add key="Popbill.LinkID" value="YJCTE" />
<add key="Popbill.LinkID" value="YJCTE" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌회원 비밀키(SecretKey)-->
<add key="Popbill.SecretKey" value="nC+bFG/XTCAQ3XtsRVdPWx70wJwq8XTE5vGeW2/uxyg=" />
<add key="Popbill.SecretKey" value="nC+bFG/XTCAQ3XtsRVdPWx70wJwq8XTE5vGeW2/uxyg=" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌회원 사업자번호, '-' 제외 10자리-->
<add key="Popbill.CorpNum" value="6218204003" />
<add key="Popbill.CorpNum" value="6218204003" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌회원 아이디(비필수)-->
<add key="Popbill.UserID" value="" />
<add key="Popbill.UserID" value="" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--연동환경 설정값, 개발용(true), 상업용(false)-->
<add key="Popbill.TaxinvoiceService.IsTest" value="true" />
<add key="Popbill.TaxinvoiceService.IsTest" value="true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--인증토큰 IP 제한기능 사용여부, 권장(true)-->
<add key="Popbill.TaxinvoiceService.IPRestrictOnOff" value="true" />
<add key="Popbill.TaxinvoiceService.IPRestrictOnOff" value="true" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--팝빌 API 서비스 고정 IP 사용여부(GA), true-사용, false-미사용, 기본값(false)-->
<add key="Popbill.TaxinvoiceService.UseStaticIP" value="false" />
<add key="Popbill.TaxinvoiceService.UseStaticIP" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
<!--로컬서버 시간 사용 여부 true-사용, false-미사용, 기본값(false)-->
<add key="Popbill.TaxinvoiceService.UseLocalTimeYN" value="false" />
<add key="Popbill.TaxinvoiceService.UseLocalTimeYN" value="false" xdt:Transform="SetAttributes" xdt:Locator="Match(key)" />
</appSettings>
<common>
<logging>
@ -96,9 +109,22 @@
</logging>
</common>
<spring>
<!--<context>
<resource uri="config://spring/objects"/>
</context>
<objects xmlns="http://www.springframework.net">
<object name="CustomerRepositoryService"
type="App.Repository.CustomerRepository,App.Repository"/>
<object name="CustomerController" type="SpringNetMVC5.Controllers.CustomerController, SpringNetMVC5" singleton="false">
<property name="CustomerRepository" ref="CustomerRepositoryService"/>
</object>
</objects>-->
<context>
<resource uri="file://~/Spring/Controllers.xml" />
<resource uri="file://~/Spring/Daos.xml" />
<resource uri="file://~/Spring/Controllers.xml" xdt:Transform="SetAttributes" xdt:Locator="Match(uri)" />
<resource uri="file://~/Spring/Daos.xml" xdt:Transform="SetAttributes" xdt:Locator="Match(uri)" />
</context>
<parsers>
<parser type="Spring.Data.Config.DatabaseNamespaceParser, Spring.Data" />
@ -109,11 +135,22 @@
<add name="xls" connectionString="Provider=Microsoft.Jet.OLEDB.4.0;Data Source={0};Extended Properties=Excel 8.0" />
<add name="xlsx" connectionString="Provider=Microsoft.ACE.OLEDB.12.0;Data Source={0};Extended Properties=Excel 12.0" />
</connectionStrings>
<!--
web.config 변경 내용에 대한 설명은 http://go.microsoft.com/fwlink/?LinkId=235367을 참고하십시오.
다음 특성은 <httpRuntime> 태그에 설정할 수 있습니다.
<system.Web>
<httpRuntime targetFramework="4.5" />
</system.Web>
-->
<system.web>
<authentication mode="None">
<forms loginUrl="~/Account/Index" timeout="2880" />
</authentication>
<!--<sessionState mode="StateServer" stateConnectionString="tcpip=localhost:42424" cookieless="false" timeout="20" cookieName="ntest_admin" />-->
<!--<sessionState cookieless="UseCookies" cookieName="kfcfa" mode="Off" stateConnectionString="tcpip=localhost:42424" timeout="60" />-->
<sessionState cookieless="UseCookies" cookieName="kfcfa" mode="StateServer" stateConnectionString="tcpip=localhost:42424" timeout="60" />
<!--<identity impersonate="true" userName="root" password="rhdwjdrudwod!@#45" />-->
<customErrors mode="RemoteOnly" defaultRedirect="~/Account/Error">
<error statusCode="404" redirect="~/Account/Error404" />
<error statusCode="403" redirect="~/Account/Error403" />
@ -190,7 +227,7 @@
<customHeaders>
<remove name="Vary"></remove>
<add name="Vary" value="Accept-Encoding"></add>
<add name="Access-Control-Allow-Origin" value="http://127.0.0.1" />
<add name="Access-Control-Allow-Origin" value="http://127.0.0.1" xdt:Transform="SetAttributes" xdt:Locator="Match(name)" />
</customHeaders>
</httpProtocol>
<!--<httpErrors>
@ -218,6 +255,12 @@
<add name="ExtensionlessUrlHandler-Integrated-4.0" path="*." verb="*" type="System.Web.Handlers.TransferRequestHandler" preCondition="integratedMode,runtimeVersionv4.0" />
</handlers>
</system.webServer>
<!-- <system.codedom>
<compilers>
<compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:1659;1699;1701" />
<compiler language="vb;vbs;visualbasic;vbscript" extension=".vb" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.7.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:default /nowarn:41008 /define:_MYTYPE=\&quot;Web\&quot; /optionInfer+" />
</compilers>
</system.codedom>-->
<iBATIS>
<logging>
<logFactoryAdapter type="IBatisNet.Common.Logging.Impl.Log4NetLoggerFA, IBatisNet.Common.Logging.Log4Net">
@ -226,7 +269,7 @@
</logging>
</iBATIS>
<log4net>
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender">
<appender name="RollingLogFileAppender" type="log4net.Appender.RollingFileAppender" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<file value="Logs\log.txt" />
<param name="MaxSizeRollBackups" value="2" />
<param name="MaximumFileSize" value="1024KB" />
@ -242,7 +285,7 @@
<param name="ConversionPattern" value="%d - %m%n" />
</layout>
</appender>
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender,log4net">
<appender name="DebugAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<param name="File" value="Logs\debug.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
@ -253,7 +296,7 @@
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="DeleteAppender" type="log4net.Appender.RollingFileAppender,log4net">
<appender name="DeleteAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<param name="File" value="Logs\delete.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
@ -264,7 +307,7 @@
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="WarnAppender" type="log4net.Appender.RollingFileAppender,log4net">
<appender name="WarnAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<param name="File" value="Logs\warn.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
@ -275,7 +318,7 @@
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="QueryAppender" type="log4net.Appender.RollingFileAppender,log4net">
<appender name="QueryAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<param name="File" value="Logs\query.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
@ -286,7 +329,7 @@
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net">
<appender name="ErrorAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<param name="File" value="Logs\error.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
@ -297,7 +340,7 @@
<param name="ConversionPattern" value="%d [%t] %-5p %c [%x] - %m%n" />
</layout>
</appender>
<appender name="TryErrorAppender" type="log4net.Appender.RollingFileAppender,log4net">
<appender name="TryErrorAppender" type="log4net.Appender.RollingFileAppender,log4net" xdt:Transform="SetAttributes" xdt:Locator="Match(name)">
<param name="File" value="Logs\tryerror.txt" />
<param name="AppendToFile" value="true" />
<param name="MaxSizeRollBackups" value="10" />
@ -375,4 +418,11 @@
<appender-ref ref="QueryAppender" />
</logger>
</log4net>
<!--<system.diagnostics>
<trace autoflush="true">
<listeners>
<add name="textWriterTraceListener" type="System.Diagnostics.TextWriterTraceListener" initializeData="C:\tmp\lmstesl_log4net.txt" />
</listeners>
</trace>
</system.diagnostics>-->
</configuration>

Binary file not shown.

Binary file not shown.

View File

@ -1,79 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<ApplicationInsights xmlns="http://schemas.microsoft.com/ApplicationInsights/2013/Settings">
<TelemetryInitializers>
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer, Microsoft.AI.DependencyCollector"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer, Microsoft.AI.WindowsServer"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer, Microsoft.AI.WindowsServer"/>
<Add Type="Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer, Microsoft.AI.Web">
<!-- Extended list of bots:
search|spider|crawl|Bot|Monitor|BrowserMob|BingPreview|PagePeeker|WebThumb|URL2PNG|ZooShot|GomezA|Google SketchUp|Read Later|KTXN|KHTE|Keynote|Pingdom|AlwaysOn|zao|borg|oegp|silk|Xenu|zeal|NING|htdig|lycos|slurp|teoma|voila|yahoo|Sogou|CiBra|Nutch|Java|JNLP|Daumoa|Genieo|ichiro|larbin|pompos|Scrapy|snappy|speedy|vortex|favicon|indexer|Riddler|scooter|scraper|scrubby|WhatWeb|WinHTTP|voyager|archiver|Icarus6j|mogimogi|Netvibes|altavista|charlotte|findlinks|Retreiver|TLSProber|WordPress|wsr-agent|http client|Python-urllib|AppEngine-Google|semanticdiscovery|facebookexternalhit|web/snippet|Google-HTTP-Java-Client-->
<Filters>search|spider|crawl|Bot|Monitor|AlwaysOn</Filters>
</Add>
<Add Type="Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.UserTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer, Microsoft.AI.Web"/>
<Add Type="Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer, Microsoft.AI.Web"/>
</TelemetryInitializers>
<TelemetryModules>
<Add Type="Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule, Microsoft.AI.DependencyCollector"/>
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.PerformanceCollectorModule, Microsoft.AI.PerfCounterCollector">
<!--
Use the following syntax here to collect additional performance counters:
<Counters>
<Add PerformanceCounter="\Process(??APP_WIN32_PROC??)\Handle Count" ReportAs="Process handle count" />
...
</Counters>
PerformanceCounter must be either \CategoryName(InstanceName)\CounterName or \CategoryName\CounterName
NOTE: performance counters configuration will be lost upon NuGet upgrade.
The following placeholders are supported as InstanceName:
??APP_WIN32_PROC?? - instance name of the application process for Win32 counters.
??APP_W3SVC_PROC?? - instance name of the application IIS worker process for IIS/ASP.NET counters.
??APP_CLR_PROC?? - instance name of the application CLR process for .NET counters.
-->
</Add>
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryModule, Microsoft.AI.PerfCounterCollector"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule, Microsoft.AI.WindowsServer"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule, Microsoft.AI.WindowsServer"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule, Microsoft.AI.WindowsServer"/>
<Add Type="Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule, Microsoft.AI.Web">
<Handlers>
<!--
Add entries here to filter out additional handlers:
NOTE: handler configuration will be lost upon NuGet upgrade.
-->
<Add>System.Web.Handlers.TransferRequestHandler</Add>
<Add>Microsoft.VisualStudio.Web.PageInspector.Runtime.Tracing.RequestDataHttpHandler</Add>
<Add>System.Web.StaticFileHandler</Add>
<Add>System.Web.Handlers.AssemblyResourceLoader</Add>
<Add>System.Web.Optimization.BundleHandler</Add>
<Add>System.Web.Script.Services.ScriptHandlerFactory</Add>
<Add>System.Web.Handlers.TraceHandler</Add>
<Add>System.Web.Services.Discovery.DiscoveryRequestHandler</Add>
<Add>System.Web.HttpDebugHandler</Add>
</Handlers>
</Add>
<Add Type="Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule, Microsoft.AI.Web"/>
</TelemetryModules>
<TelemetryProcessors>
<Add Type="Microsoft.ApplicationInsights.Extensibility.PerfCounterCollector.QuickPulse.QuickPulseTelemetryProcessor, Microsoft.AI.PerfCounterCollector"/>
<Add Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor, Microsoft.AI.ServerTelemetryChannel">
<MaxTelemetryItemsPerSecond>5</MaxTelemetryItemsPerSecond>
</Add>
</TelemetryProcessors>
<TelemetryChannel Type="Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel, Microsoft.AI.ServerTelemetryChannel"/>
<!--
Learn more about Application Insights configuration with ApplicationInsights.config here:
http://go.microsoft.com/fwlink/?LinkID=513840
Note: If not present, please add <InstrumentationKey>Your Key</InstrumentationKey> to the top of this file.
--></ApplicationInsights>

Binary file not shown.

Binary file not shown.

View File

@ -1,876 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Common.Logging.Core</name>
</assembly>
<members>
<member name="T:Common.Logging.Factory.StringFormatMethodAttribute">
<summary>
Indicates that the marked method builds string by format pattern and (optional) arguments.
Parameter, which contains format string, should be given in constructor. The format string
should be in <see cref="M:System.String.Format(System.IFormatProvider,System.String,System.Object[])"/>-like form
</summary>
<example><code>
[StringFormatMethod("message")]
public void ShowError(string message, params object[] args) { /* do something */ }
public void Foo() {
ShowError("Failed: {0}"); // Warning: Non-existing argument in format string
}
</code></example>
</member>
<member name="M:Common.Logging.Factory.StringFormatMethodAttribute.#ctor(System.String)">
<param name="formatParameterName">
Specifies which parameter of an annotated method should be treated as format-string
</param>
</member>
<member name="P:Common.Logging.Factory.StringFormatMethodAttribute.FormatParameterName">
<summary>
The name of the string parameter being formatted
</summary>
</member>
<member name="T:Common.Logging.FormatMessageHandler">
<summary>
The type of method that is passed into e.g. <see cref="M:Common.Logging.ILog.Debug(System.Action{Common.Logging.FormatMessageHandler})"/>
and allows the callback method to "submit" it's message to the underlying output system.
</summary>
<param name="format">the format argument as in <see cref="M:System.String.Format(System.String,System.Object[])"/></param>
<param name="args">the argument list as in <see cref="M:System.String.Format(System.String,System.Object[])"/></param>
<seealso cref="T:Common.Logging.ILog"/>
<author>Erich Eichinger</author>
</member>
<member name="T:Common.Logging.IConfigurationReader">
<summary>
Interface for basic operations to read .NET application configuration information.
</summary>
<remarks>Provides a simple abstraction to handle BCL API differences between .NET 1.x and 2.0. Also
useful for testing scenarios.</remarks>
<author>Mark Pollack</author>
</member>
<member name="M:Common.Logging.IConfigurationReader.GetSection(System.String)">
<summary>
Parses the configuration section and returns the resulting object.
</summary>
<remarks>
<p>
Primary purpose of this method is to allow us to parse and
load configuration sections using the same API regardless
of the .NET framework version.
</p>
See also <c>System.Configuration.ConfigurationManager</c>
</remarks>
<param name="sectionName">Name of the configuration section.</param>
<returns>Object created by a corresponding IConfigurationSectionHandler.</returns>
</member>
<member name="T:Common.Logging.ILog">
<summary>
A simple logging interface abstracting logging APIs.
</summary>
<remarks>
<para>
Implementations should defer calling a message's <see cref="M:System.Object.ToString"/> until the message really needs
to be logged to avoid performance penalties.
</para>
<para>
Each <see cref="T:Common.Logging.ILog"/> log method offers to pass in a <see cref="T:System.Action`1"/> instead of the actual message.
Using this style has the advantage to defer possibly expensive message argument evaluation and formatting (and formatting arguments!) until the message gets
actually logged. If the message is not logged at all (e.g. due to <see cref="T:Common.Logging.LogLevel"/> settings),
you won't have to pay the peformance penalty of creating the message.
</para>
</remarks>
<example>
The example below demonstrates using callback style for creating the message, where the call to the
<see cref="M:System.Random.NextDouble"/> and the underlying <see cref="M:System.String.Format(System.String,System.Object[])"/> only happens, if level <see cref="F:Common.Logging.LogLevel.Debug"/> is enabled:
<code>
Log.Debug( m=&gt;m("result is {0}", random.NextDouble()) );
Log.Debug(delegate(m) { m("result is {0}", random.NextDouble()); });
</code>
</example>
<seealso cref="T:System.Action`1"/>
<author>Mark Pollack</author>
<author>Bruno Baia</author>
<author>Erich Eichinger</author>
</member>
<member name="M:Common.Logging.ILog.Trace(System.Object)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
</summary>
<param name="message">The message object to log.</param>
</member>
<member name="M:Common.Logging.ILog.Trace(System.Object,System.Exception)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Trace"/> level including
the stack trace of the <see cref="T:System.Exception"/> passed
as a parameter.
</summary>
<param name="message">The message object to log.</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.TraceFormat(System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.TraceFormat(System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.TraceFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.TraceFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.Trace(System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Trace(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Trace(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Trace"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Debug(System.Object)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
</summary>
<param name="message">The message object to log.</param>
</member>
<member name="M:Common.Logging.ILog.Debug(System.Object,System.Exception)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Debug"/> level including
the stack trace of the <see cref="T:System.Exception"/> passed
as a parameter.
</summary>
<param name="message">The message object to log.</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.DebugFormat(System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.DebugFormat(System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.DebugFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.DebugFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.Debug(System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Debug(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Debug(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Debug"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack Debug.</param>
</member>
<member name="M:Common.Logging.ILog.Info(System.Object)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
</summary>
<param name="message">The message object to log.</param>
</member>
<member name="M:Common.Logging.ILog.Info(System.Object,System.Exception)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Info"/> level including
the stack trace of the <see cref="T:System.Exception"/> passed
as a parameter.
</summary>
<param name="message">The message object to log.</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.InfoFormat(System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.InfoFormat(System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.InfoFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.InfoFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.Info(System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Info(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Info(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Info"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack Info.</param>
</member>
<member name="M:Common.Logging.ILog.Warn(System.Object)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
</summary>
<param name="message">The message object to log.</param>
</member>
<member name="M:Common.Logging.ILog.Warn(System.Object,System.Exception)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Warn"/> level including
the stack trace of the <see cref="T:System.Exception"/> passed
as a parameter.
</summary>
<param name="message">The message object to log.</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.WarnFormat(System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.WarnFormat(System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.WarnFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.WarnFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.Warn(System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Warn(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Warn(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Warn"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack Warn.</param>
</member>
<member name="M:Common.Logging.ILog.Error(System.Object)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
</summary>
<param name="message">The message object to log.</param>
</member>
<member name="M:Common.Logging.ILog.Error(System.Object,System.Exception)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Error"/> level including
the stack trace of the <see cref="T:System.Exception"/> passed
as a parameter.
</summary>
<param name="message">The message object to log.</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.ErrorFormat(System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.ErrorFormat(System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.ErrorFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.Error(System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Error(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Error(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Error"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack Error.</param>
</member>
<member name="M:Common.Logging.ILog.Fatal(System.Object)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
</summary>
<param name="message">The message object to log.</param>
</member>
<member name="M:Common.Logging.ILog.Fatal(System.Object,System.Exception)">
<summary>
Log a message object with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level including
the stack trace of the <see cref="T:System.Exception"/> passed
as a parameter.
</summary>
<param name="message">The message object to log.</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.FatalFormat(System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.FatalFormat(System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
</summary>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args">the list of format arguments</param>
</member>
<member name="M:Common.Logging.ILog.FatalFormat(System.IFormatProvider,System.String,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.FatalFormat(System.IFormatProvider,System.String,System.Exception,System.Object[])">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
</summary>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="format">The format of the message object to log.<see cref="M:System.String.Format(System.String,System.Object[])"/> </param>
<param name="exception">The exception to log.</param>
<param name="args"></param>
</member>
<member name="M:Common.Logging.ILog.Fatal(System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Fatal(System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack trace.</param>
</member>
<member name="M:Common.Logging.ILog.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler})">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
</member>
<member name="M:Common.Logging.ILog.Fatal(System.IFormatProvider,System.Action{Common.Logging.FormatMessageHandler},System.Exception)">
<summary>
Log a message with the <see cref="F:Common.Logging.LogLevel.Fatal"/> level using a callback to obtain the message
</summary>
<remarks>
Using this method avoids the cost of creating a message and evaluating message arguments
that probably won't be logged due to loglevel settings.
</remarks>
<param name="formatProvider">An <see cref="T:System.IFormatProvider"/> that supplies culture-specific formatting information.</param>
<param name="formatMessageCallback">A callback used by the logger to obtain the message if log level is matched</param>
<param name="exception">The exception to log, including its stack Fatal.</param>
</member>
<member name="P:Common.Logging.ILog.IsTraceEnabled">
<summary>
Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Trace"/> level.
</summary>
</member>
<member name="P:Common.Logging.ILog.IsDebugEnabled">
<summary>
Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Debug"/> level.
</summary>
</member>
<member name="P:Common.Logging.ILog.IsErrorEnabled">
<summary>
Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Error"/> level.
</summary>
</member>
<member name="P:Common.Logging.ILog.IsFatalEnabled">
<summary>
Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Fatal"/> level.
</summary>
</member>
<member name="P:Common.Logging.ILog.IsInfoEnabled">
<summary>
Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Info"/> level.
</summary>
</member>
<member name="P:Common.Logging.ILog.IsWarnEnabled">
<summary>
Checks if this logger is enabled for the <see cref="F:Common.Logging.LogLevel.Warn"/> level.
</summary>
</member>
<member name="P:Common.Logging.ILog.GlobalVariablesContext">
<summary>
Returns the global context for variables
</summary>
</member>
<member name="P:Common.Logging.ILog.ThreadVariablesContext">
<summary>
Returns the thread-specific context for variables
</summary>
</member>
<member name="T:Common.Logging.ILoggerFactoryAdapter">
<summary>
LoggerFactoryAdapter interface is used internally by LogManager
Only developers wishing to write new Common.Logging adapters need to
worry about this interface.
</summary>
<author>Gilles Bayon</author>
</member>
<member name="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)">
<summary>
Get a ILog instance by type.
</summary>
<param name="type">The type to use for the logger</param>
<returns></returns>
</member>
<member name="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.String)">
<summary>
Get a ILog instance by key.
</summary>
<param name="key">The key of the logger</param>
<returns></returns>
</member>
<member name="T:Common.Logging.ILogManager">
<summary>
Interface for LogManager
</summary>
</member>
<member name="M:Common.Logging.ILogManager.Reset">
<summary>
Reset the <see cref="N:Common.Logging"/> infrastructure to its default settings. This means, that configuration settings
will be re-read from section <c>&lt;common/logging&gt;</c> of your <c>app.config</c>.
</summary>
<remarks>
This is mainly used for unit testing, you wouldn't normally use this in your applications.<br/>
<b>Note:</b><see cref="T:Common.Logging.ILog"/> instances already handed out from this LogManager are not(!) affected.
Resetting LogManager only affects new instances being handed out.
</remarks>
</member>
<member name="M:Common.Logging.ILogManager.Reset(Common.Logging.IConfigurationReader)">
<summary>
Reset the <see cref="N:Common.Logging"/> infrastructure to its default settings. This means, that configuration settings
will be re-read from section <c>&lt;common/logging&gt;</c> of your <c>app.config</c>.
</summary>
<remarks>
This is mainly used for unit testing, you wouldn't normally use this in your applications.<br/>
<b>Note:</b><see cref="T:Common.Logging.ILog"/> instances already handed out from this LogManager are not(!) affected.
Resetting LogManager only affects new instances being handed out.
</remarks>
<param name="reader">
the <see cref="T:Common.Logging.IConfigurationReader"/> instance to obtain settings for
re-initializing the LogManager.
</param>
</member>
<member name="M:Common.Logging.ILogManager.GetCurrentClassLogger">
<summary>
Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the type of the calling class.
</summary>
<remarks>
This method needs to inspect the StackTrace in order to determine the calling
class. This of course comes with a performance penalty, thus you shouldn't call it too
often in your application.
</remarks>
<seealso cref="M:Common.Logging.ILogManager.GetLogger(System.Type)"/>
<returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
</member>
<member name="M:Common.Logging.ILogManager.GetLogger``1">
<summary>
Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the specified type.
</summary>
<returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
</member>
<member name="M:Common.Logging.ILogManager.GetLogger(System.Type)">
<summary>
Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.Type)"/>
on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the specified type.
</summary>
<param name="type">The type.</param>
<returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
</member>
<member name="M:Common.Logging.ILogManager.GetLogger(System.String)">
<summary>
Gets the logger by calling <see cref="M:Common.Logging.ILoggerFactoryAdapter.GetLogger(System.String)"/>
on the currently configured <see cref="P:Common.Logging.ILogManager.Adapter"/> using the specified key.
</summary>
<param name="key">The key.</param>
<returns>the logger instance obtained from the current <see cref="P:Common.Logging.ILogManager.Adapter"/></returns>
</member>
<member name="P:Common.Logging.ILogManager.COMMON_LOGGING_SECTION">
<summary>
The key of the default configuration section to read settings from.
</summary>
<remarks>
You can always change the source of your configuration settings by setting another <see cref="T:Common.Logging.IConfigurationReader"/> instance
on <see cref="P:Common.Logging.ILogManager.ConfigurationReader"/>.
</remarks>
</member>
<member name="P:Common.Logging.ILogManager.ConfigurationReader">
<summary>
Gets the configuration reader used to initialize the LogManager.
</summary>
<remarks>Primarily used for testing purposes but maybe useful to obtain configuration
information from some place other than the .NET application configuration file.</remarks>
<value>The configuration reader.</value>
</member>
<member name="P:Common.Logging.ILogManager.Adapter">
<summary>
Gets or sets the adapter.
</summary>
<value>The adapter.</value>
</member>
<member name="T:Common.Logging.IVariablesContext">
<summary>
A context for logger variables
</summary>
</member>
<member name="M:Common.Logging.IVariablesContext.Set(System.String,System.Object)">
<summary>
Sets the value of a new or existing variable within the global context
</summary>
<param name="key">The key of the variable that is to be added</param>
<param name="value">The value to add</param>
</member>
<member name="M:Common.Logging.IVariablesContext.Get(System.String)">
<summary>
Gets the value of a variable within the global context
</summary>
<param name="key">The key of the variable to get</param>
<returns>The value or null if not found</returns>
</member>
<member name="M:Common.Logging.IVariablesContext.Contains(System.String)">
<summary>
Checks if a variable is set within the global context
</summary>
<param name="key">The key of the variable to check for</param>
<returns>True if the variable is set</returns>
</member>
<member name="M:Common.Logging.IVariablesContext.Remove(System.String)">
<summary>
Removes a variable from the global context by key
</summary>
<param name="key">The key of the variable to remove</param>
</member>
<member name="M:Common.Logging.IVariablesContext.Clear">
<summary>
Clears the global context variables
</summary>
</member>
<member name="T:Common.Logging.LogLevel">
<summary>
The 7 possible logging levels
</summary>
<author>Gilles Bayon</author>
</member>
<member name="F:Common.Logging.LogLevel.All">
<summary>
All logging levels
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Trace">
<summary>
A trace logging level
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Debug">
<summary>
A debug logging level
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Info">
<summary>
A info logging level
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Warn">
<summary>
A warn logging level
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Error">
<summary>
An error logging level
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Fatal">
<summary>
A fatal logging level
</summary>
</member>
<member name="F:Common.Logging.LogLevel.Off">
<summary>
Do not log anything.
</summary>
</member>
</members>
</doc>

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,870 +0,0 @@
<?xml version="1.0"?>
<doc xml:lang="en">
<assembly>
<name>Microsoft.AI.DependencyCollector</name>
</assembly>
<members>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer">
<summary>
Telemetry Initializer that parses http dependencies into well-known types like Azure Storage.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.HttpDependenciesParsingTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
If telemetry item is http dependency - converts it to the well-known type of the dependency.
</summary>
<param name="telemetry">Telemetry item to convert.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.PretendProfilerIsAttached">
<summary>
Gets or sets a value indicating whether pretending the profiler is attached or not.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.BeginTracking(Microsoft.ApplicationInsights.TelemetryClient)">
<summary>
The function that needs to be called before sending a request to the server. Creates and initializes dependency telemetry item.
</summary>
<param name="telemetryClient">Telemetry client object to initialize the context of the telemetry item.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.EndTracking(Microsoft.ApplicationInsights.TelemetryClient,Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry)">
<summary>
Function that needs to be invoked after the request call to the sever. Computes the duration of the request and tracks the dependency telemetry
item.
</summary>
<param name="telemetryClient">Telemetry client object to track the telemetry item.</param>
<param name="telemetry">Telemetry item to compute the duration and track.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.GetTupleForWebDependencies(System.Net.WebRequest)">
<summary>
Gets the tuple from either conditional weak table or cache (based on the framework for the input web request).
</summary>
<param name="webRequest">Target web request.</param>
<returns>Tuple of dependency telemetry and a boolean that tells if the tuple is custom created or not.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.AddTupleForWebDependencies(System.Net.WebRequest,Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Boolean)">
<summary>
Adds the tuple to either conditional weak table or cache (based on the framework for the input web request).
</summary>
<param name="webRequest">Target web request.</param>
<param name="telemetry">Dependency telemetry item to add to the table for the corresponding web request.</param>
<param name="isCustomCreated">Boolean value that tells if the current telemetry item is being added by the customer or not.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.GetTupleForSqlDependencies(System.Data.SqlClient.SqlCommand)">
<summary>
Gets the tuple from either conditional weak table or cache (based on the framework for the input SQL request).
</summary>
<param name="sqlRequest">Target SQL request.</param>
<returns>Tuple of dependency telemetry and a boolean that tells if the tuple is custom created or not.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ClientServerDependencyTracker.AddTupleForSqlDependencies(System.Data.SqlClient.SqlCommand,Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Boolean)">
<summary>
Adds the tuple to either conditional weak table or cache (based on the framework for the input SQL request).
</summary>
<param name="sqlRequest">Target SQL request.</param>
<param name="telemetry">Dependency telemetry item to add to the table for the corresponding SQL request.</param>
<param name="isCustomCreated">Boolean value that tells if the current telemetry item is being added by the customer or not.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers">
<summary>
Client-Server dependency tracking.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers.SetUserAndSessionContextForWebRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Net.WebRequest)">
<summary>
Populates WebRequest using the user, session initialized in telemetry item.
</summary>
<param name="dependencyTelemetry">Dependency telemetry item.</param>
<param name="webRequest">Http web request.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers.SetCorrelationContextForWebRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Net.WebRequest)">
<summary>
Populates WebRequest using the operation context in telemetry item.
</summary>
<param name="dependencyTelemetry">Dependency telemetry item.</param>
<param name="webRequest">Http web request.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.WebRequestDependencyTrackingHelpers.CreateAndAddCookie(System.Net.WebRequest,System.String,System.String)">
<summary>
Creates and adds cookie to the web request.
</summary>
<param name="webRequest">Web request object.</param>
<param name="key">Cookie key.</param>
<param name="value">Cookie value.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource">
<summary>
ETW EventSource tracing class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.DependencyTelemetryItemIsNullWarning(System.String)">
<summary>
Logs the information when the DependencyTelemetry item is null as warning.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.WebRequestIsNullWarning(System.String)">
<summary>
Logs the information when the HttpWebRequest is null as warning.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.TrackingAnExistingTelemetryItemVerbose(System.String)">
<summary>
Logs the information when a telemetry item that is already existing in the tables (that is currently being tracked) is tracked again.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.TelemetryToTrackIsNullWarning(System.String)">
<summary>
Logs the information when the telemetry item to track is null.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.Keywords">
<summary>
Keywords for the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource"/>.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.Keywords.UserActionable">
<summary>
Key word for user actionable events.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.DependencyCollectorEventSource.Keywords.RddEventKeywords">
<summary>
Key word for resource discovery module failures.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener">
<summary>
Provides methods for listening to events from FrameworkEventSource for HTTP.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.HttpProcessingFramework">
<summary>
The Http processor.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.FrameworkEventSourceName">
<summary>
The Framework EventSource name.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.BeginGetResponseEventId">
<summary>
BeginGetResponse Event ID.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.EndGetResponseEventId">
<summary>
EndGetResponse Event ID.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.BeginGetRequestStreamEventId">
<summary>
BeginGetRequestStream Event ID.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.EndGetRequestStreamEventId">
<summary>
EndGetRequestStream Event ID.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnEventSourceCreated(System.Diagnostics.Tracing.EventSource)">
<summary>
Enables HTTP event source when EventSource is created. Called for all existing
event sources when the event listener is created and when a new event source is attached to the listener.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called whenever an event has been written by an event source for which the event listener has enabled events.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnBeginGetResponse(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called when a postfix of a (HttpWebRequest|FileWebRequest|FtpWebRequest).BeginGetResponse method has been invoked.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnEndGetResponse(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called when a postfix of a (HttpWebRequest|FileWebRequest|FtpWebRequest).EndGetResponse method has been invoked.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpEventListener.OnBeginGetRequestStream(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called when a postfix of a (HttpWebRequest|FileWebRequest|FtpWebRequest).BeginGetRequestStream method has been invoked.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpProcessing.OnBeginHttpCallback(System.Int64,System.String)">
<summary>
On begin callback from Framework event source.
</summary>
<param name="id">This object.</param>
<param name="resourceName">URI of the web request.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpProcessing.OnEndHttpCallback(System.Int64,System.Nullable{System.Boolean},System.Boolean,System.Nullable{System.Int32})">
<summary>
On end callback from Framework event source.
</summary>
<param name="id">The id.</param>
<param name="success">The success to indicate if the dependency call completed successfully or not.</param>
<param name="synchronous">The synchronous flag to indicate if the dependency call was synchronous or not.</param>
<param name="statusCode">The HTTP status code of the response.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkHttpProcessing.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing">
<summary>
Concrete class with all processing logic to generate RDD data from the calls backs
received from Profiler instrumentation for HTTP .
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,System.String,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ObjectInstanceBasedOperationHolder)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing"/> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForGetResponse(System.Object)">
<summary>
On begin callback for GetResponse.
</summary>
<param name="thisObj">This object.</param>
<returns>The context for end callback.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnEndForGetResponse(System.Object,System.Object,System.Object)">
<summary>
On end callback for GetResponse.
</summary>
<param name="context">The context.</param>
<param name="returnValue">The return value.</param>
<param name="thisObj">This object.</param>
<returns>The resulting return value.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForGetResponse(System.Object,System.Object,System.Object)">
<summary>
On exception callback for GetResponse callback.
</summary>
<param name="context">The context.</param>
<param name="exception">The exception object.</param>
<param name="thisObj">This object.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForGetRequestStream(System.Object,System.Object)">
<summary>
On begin callback for GetRequestStream callback.
</summary>
<param name="thisObj">This object.</param>
<param name="transportContext">The transport context parameter.</param>
<returns>The context for end callback.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForGetRequestStream(System.Object,System.Object,System.Object,System.Object)">
<summary>
On exception for GetRequestStream callback.
Note: There is no call back required for GetRequestStream except on exception cases.
</summary>
<param name="context">The context.</param>
<param name="exception">The exception.</param>
<param name="thisObj">This object.</param>
<param name="transportContext">The transport context parameter.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForBeginGetResponse(System.Object,System.Object,System.Object)">
<summary>
On begin for BeginGetResponse callback.
</summary>
<param name="thisObj">This object.</param>
<param name="callback">The callback parameter.</param>
<param name="state">The state parameter.</param>
<returns>The context for end callback.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnEndForEndGetResponse(System.Object,System.Object,System.Object,System.Object)">
<summary>
On end for EndGetResponse callbacks.
</summary>
<param name="context">The context.</param>
<param name="returnValue">The return value.</param>
<param name="thisObj">This object.</param>
<param name="asyncResult">The asyncResult parameter.</param>
<returns>The return value passed.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForEndGetResponse(System.Object,System.Object,System.Object,System.Object)">
<summary>
On exception for EndGetResponse callbacks.
</summary>
<param name="context">The context.</param>
<param name="exception">The exception.</param>
<param name="thisObj">This object.</param>
<param name="asyncResult">The asyncResult parameter.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBeginForBeginGetRequestStream(System.Object,System.Object,System.Object)">
<summary>
On begin for BeginGetRequestStream callback.
</summary>
<param name="thisObj">This object.</param>
<param name="callback">The callback parameter.</param>
<param name="state">The state parameter.</param>
<returns>The context for end callback.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnExceptionForEndGetRequestStream(System.Object,System.Object,System.Object,System.Object,System.Object)">
<summary>
On exception for EndGetRequestStream callback.
Note: There is no call back required for EndGetRequestStream except on exception cases.
</summary>
<param name="context">The context.</param>
<param name="exception">The exception.</param>
<param name="thisObj">This object.</param>
<param name="asyncResult">The asyncResult parameter.</param>
<param name="transportContext">The transportContext parameter.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.GetUrl(System.Net.WebRequest)">
<summary>
Gets HTTP request url.
</summary>
<param name="webRequest">Represents web request.</param>
<returns>The url if possible otherwise empty string.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnBegin(System.Object,System.Boolean)">
<summary>
Common helper for all Begin Callbacks.
</summary>
<param name="thisObj">This object.</param>
<param name="isAsyncCall">Indicates if the method used is async or not.</param>
<returns>Null object as all context is maintained in this class via weak tables.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerHttpProcessing.OnEnd(System.Object,System.Object,System.Object)">
<summary>
Common helper for all End Callbacks.
</summary>
<param name="exception">The exception object if any.</param>
<param name="thisObj">This object.</param>
<param name="returnValue">Return value of the function if any.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1">
<summary>
The implementation of cache provider for Windows Phone and Windows Store as MemoryCache is not available there.
</summary>
<typeparam name="TValue">Type of items to store in the cache.</typeparam>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.readerWriterLock">
<summary>
Reader-Writer Lock for thread safety.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.dictionary">
<summary>
Dictionary of cache items for fast Get and Contains operations.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.sortedList">
<summary>
Cache items sorted by the time of adding to cache. Required for to clear fast cache items when items are expired.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.maxSize">
<summary>
The maximum number of elements in the cache to avoid out of memory crashes.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.timer">
<summary>
Timer for clearing expired cache items on recurring bases.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.expirationMilliseconds">
<summary>
The duration in milliseconds after which item in the cache is expired.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.#ctor(System.Int32,System.Int32,System.Boolean)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1" /> class.
</summary>
<param name="expirationMilliseconds">Expiration timeout in milliseconds for an object to live in the cache.</param>
<param name="maxSize">Maximum number of entries to cache (adjustable at runtime with MaxSize property).</param>
<param name="synchronized">True to use a reader-writer lock to protect the data in the MemoryCacheList; false if the caller will handle synchronization.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Contains(System.Int64)">
<summary>
Checks whether the cache entry already exists in the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<returns>true if the cache contains a cache entry with the same key value as key; otherwise, false.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Get(System.Int64)">
<summary>
Gets the specified cache entry from the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<returns>A reference to the cache entry identified by key if the entry exists; otherwise, null.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Set(System.Int64,`0)">
<summary>
Inserts a cache entry into the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<param name="value">The object to insert.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Remove(System.Int64)">
<summary>
Removes a specific key from the cache.
</summary>
<param name="key">Key to remove.</param>
<returns>An object that represents the value of the removed cache entry that was specified by the key, or null if the specified entry was not found.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.ClearExpiredCacheItems(System.Object)">
<summary>
The timer callback that clears expired items in the cache.
</summary>
<param name="state">An object containing information to be used by the callback method, or null.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.Add(System.Int64,`0,System.Boolean)">
<summary>
Adds the specified key and value to the dictionary.
</summary>
<param name="key">Key to add.</param>
<param name="value">Value to associate with key.</param>
<param name="overwrite">If true, will overwrite an existing key.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry">
<summary>
An entry in the MemoryCacheList.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.#ctor(System.Int64,`0)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry" /> class.
</summary>
<param name="key">The key of the element.</param>
<param name="value">The value of the element.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.Key">
<summary>
Gets the key of the element.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.Value">
<summary>
Gets or sets the value of the element.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemoryCacheEntry.CreatedTicks">
<summary>
Gets number of ticks elapsed on the clock since the element was created.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemmoryCacheEntryTimeComparer">
<summary>
Exposes a method that compares two MemoryCacheEntry objects.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider`1.MemmoryCacheEntryTimeComparer.Compare(Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider{`0}.MemoryCacheEntry,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheProvider{`0}.MemoryCacheEntry)">
<summary>
Compares two objects and returns a value indicating whether one is less than, equal to, or greater than the other.
</summary>
<param name="x">The first object to compare.</param>
<param name="y">The second object to compare.</param>
<returns>A signed integer that indicates the relative values of x and y, as shown in the following table.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1">
<summary>
Represents an object cache and provides the base methods and properties for accessing the object cache.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Contains(System.Int64)">
<summary>
Checks whether the cache entry already exists in the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<returns>true if the cache contains a cache entry with the same key value as key; otherwise, false.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Get(System.Int64)">
<summary>
Gets the specified cache entry from the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<returns>A reference to the cache entry identified by key if the entry exists; otherwise, null.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Set(System.Int64,`0)">
<summary>
Inserts a cache entry into the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<param name="value">The object to insert.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ICacheProvider`1.Remove(System.Int64)">
<summary>
Removes the cache entry from the cache.
</summary>
<param name="key">A unique identifier for the cache entry.</param>
<returns>True if the element is successfully found and removed; otherwise, false. This method returns false if key is not found.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch">
<summary>
Single high precision clock used by operations.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.Watch">
<summary>
High precision stopwatch.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.HundredNanosecondsPerTick">
<summary>
Number of 100 nanoseconds per high-precision clock tick.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.StartTime">
<summary>
The time clock started.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.ElapsedTicks">
<summary>
Gets number of ticks elapsed on the clock since the start.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.Duration(System.Int64,System.Int64)">
<summary>
Calculates time between two clock readings.
</summary>
<param name="fromTicks">Start time in ticks.</param>
<param name="toTicks">End time in ticks.</param>
<returns>Time between two clock readings.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.OperationWatch.Timestamp(System.Int64)">
<summary>
Converts time on the operation clock (in ticks) to date and time structure.
</summary>
<param name="elapsedTicks">Ticks elapsed according to operation watch.</param>
<returns>Date time structure representing the date and time that corresponds to the operation clock reading.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1">
<summary>
Represents a collection of sorted elements that are accessible by index.
</summary>
<typeparam name="T">The type of element.</typeparam>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.list">
<summary>
Represents a collection of objects that can be individually accessed by index.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.comparer">
<summary>
Exposes a method that compares two objects.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.#ctor(System.Collections.Generic.IComparer{`0})">
<summary>
Initializes a new instance of the SortedList class that is empty.
</summary>
<param name="comparer">The IComparer implementation to use when comparing elements.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Count">
<summary>
Gets the number of elements contained in a SortedList object.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Item(System.Int32)">
<summary>
Gets the element at a specified index in a sequence.
</summary>
<param name="index">The zero-based index of the element to get.</param>
<returns>The element at the specified position in the source sequence.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>An IEnumerator object that can be used to iterate through the collection.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.System#Collections#IEnumerable#GetEnumerator">
<summary>
Returns an enumerator that iterates through a collection.
</summary>
<returns>An IEnumerator object that can be used to iterate through the collection.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Add(`0)">
<summary>
Adds an element with the specified value to a SortedList object.
</summary>
<param name="item">Item to add.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.RemoveAt(System.Int32)">
<summary>
Removes the element at the specified index of a SortedList object.
</summary>
<param name="index">The zero-based index of the element to remove.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.Remove(`0)">
<summary>
Removes the element with the specified value from a SortedList object.
</summary>
<param name="item">Item to remove.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.SortedList`1.TryIndexOf(`0,System.Boolean@)">
<summary>
Determines the index of a specific item in the IList.
</summary>
<param name="item">The object to locate in the IList.</param>
<param name="found">True if value is found in the list, otherwise false.</param>
<returns>The index of value if found in the list; otherwise, the index of value where it needs to be inserted.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ApplicationInsightsUrlFilter.IsApplicationInsightsUrl(System.String)">
<summary>
Determines whether an URL is application insights URL.
</summary>
<param name="url">HTTP URL.</param>
<returns>True if URL is application insights url, otherwise false.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener">
<summary>
Provides methods for listening to events from FrameworkEventSource for SQL.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.SqlProcessingFramework">
<summary>
The SQL processor.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.AdoNetEventSourceName">
<summary>
The Framework EventSource name for SQL.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.BeginExecuteEventId">
<summary>
BeginExecute Event ID.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.EndExecuteEventId">
<summary>
EndExecute Event ID.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.Dispose">
<summary>
Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnEventSourceCreated(System.Diagnostics.Tracing.EventSource)">
<summary>
Enables SQL event source when EventSource is created. Called for all existing
event sources when the event listener is created and when a new event source is attached to the listener.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called whenever an event has been written by an event source for which the event listener has enabled events.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnBeginExecute(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called when a postfix of a SQLCommand begin methods have been invoked.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlEventListener.OnEndExecute(System.Diagnostics.Tracing.EventWrittenEventArgs)">
<summary>
Called when a postfix of a postfix of a SQLCommand end methods have been invoked.
</summary>
<param name="eventData">The event arguments that describe the event.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.CacheBasedOperationHolder)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing"/> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.OnBeginExecuteCallback(System.Int64,System.String,System.String,System.String)">
<summary>
On begin callback from Framework event source.
</summary>
<param name="id">Identifier of SQL connection object.</param>
<param name="dataSource">Data source name.</param>
<param name="database">Database name.</param>
<param name="commandText">Command text.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.OnEndExecuteCallback(System.Int64,System.Boolean,System.Boolean,System.Int32)">
<summary>
On end callback from Framework event source.
</summary>
<param name="id">Identifier of SQL connection object.</param>
<param name="success">Indicate whether operation completed successfully.</param>
<param name="synchronous">Indicates whether operation was called synchronously or asynchronously.</param>
<param name="sqlExceptionNumber">SQL exception number.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.FrameworkSqlProcessing.GetResourceName(System.String,System.String,System.String)">
<summary>
Gets SQL command resource name.
</summary>
<param name="dataSource">DataSource name.</param>
<param name="database">Database name.</param>
<param name="commandText">CommandText name.</param>
<returns>The resource name if possible otherwise empty string.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing">
<summary>
Concrete class with all processing logic to generate RDD data from the calls backs
received from Profiler instrumentation for SQL.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.#ctor(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration,System.String,Microsoft.ApplicationInsights.DependencyCollector.Implementation.Operation.ObjectInstanceBasedOperationHolder)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing"/> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForOneParameter(System.Object)">
<summary>
On begin callback for methods with 1 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForTwoParameters(System.Object,System.Object)">
<summary>
On begin callback for methods with 2 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForThreeParameters(System.Object,System.Object,System.Object)">
<summary>
On begin callback for methods with 3 parameters.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBeginForFourParameters(System.Object,System.Object,System.Object,System.Object)">
<summary>
On begin callback for methods with 4 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEndForOneParameter(System.Object,System.Object,System.Object)">
<summary>
On end callback for methods with 1 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEndForTwoParameters(System.Object,System.Object,System.Object,System.Object)">
<summary>
On end callback for methods with 2 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEndForThreeParameters(System.Object,System.Object,System.Object,System.Object,System.Object)">
<summary>
On end callback for methods with 3 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnExceptionForOneParameter(System.Object,System.Object,System.Object)">
<summary>
On exception callback for methods with 1 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnExceptionForTwoParameters(System.Object,System.Object,System.Object,System.Object)">
<summary>
On exception callback for methods with 2 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnExceptionForThreeParameters(System.Object,System.Object,System.Object,System.Object,System.Object)">
<summary>
On exception callback for methods with 3 parameter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.GetResourceName(System.Object)">
<summary>
Gets SQL command resource name.
</summary>
<param name="thisObj">The SQL command.</param>
<remarks>Before we have clarity with SQL team around EventSource instrumentation, providing name as a concatenation of parameters.</remarks>
<returns>The resource name if possible otherwise empty string.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.GetCommandName(System.Object)">
<summary>
Return CommandTest for SQL resource.
</summary>
<param name="thisObj">The SQL command.</param>
<returns>Returns the command text or empty.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnBegin(System.Object)">
<summary>
Common helper for all Begin Callbacks.
</summary>
<param name="thisObj">This object.</param>
<returns>The context for end callback.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.Implementation.ProfilerSqlProcessing.OnEnd(System.Object,System.Object)">
<summary>
Common helper for all End Callbacks.
</summary>
<param name="exceptionObj">The exception object if any.</param>
<param name="thisObj">This object.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule">
<summary>
Remote dependency monitoring.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.DisableRuntimeInstrumentation">
<summary>
Gets or sets a value indicating whether to disable runtime instrumentation.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.Dispose">
<summary>
IDisposable implementation.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Initialize method is called after all configuration properties have been loaded from the configuration.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.Dispose(System.Boolean)">
<summary>
IDisposable implementation.
</summary>
<param name="disposing">The method has been called directly or indirectly by a user's code.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.InitializeForFrameworkEventSource">
<summary>
Initialize for framework event source (not supported for Net40).
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.DependencyTrackingTelemetryModule.InitializeForRuntimeInstrumentationOrFramework">
<summary>
Initialize for runtime instrumentation or framework event source.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.DependencyCollector.TelemetryExtensionsForDependencyCollector">
<summary>
Dependency Telemetry extension methods to associate with request objects and to store in conditional/cache tables to avoid duplicate tracking.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.TelemetryExtensionsForDependencyCollector.AssociateTelemetryWithWebRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Net.WebRequest,System.Boolean,System.Boolean)">
<summary>
Associates telemetry item to a web request to avoid duplicate tracking, and populates cookies with data from initialized telemetry item if setCookies is set to true.
When there is an existing telemetry item in the corresponding to the given WEB REQUEST, we return the existing telemetry and associate the same with the WEB REQUEST.
</summary>
<param name="telemetry">Telemetry object that needs to be associated with the web request.</param>
<param name="webRequest">Web request object which we use to populate from the information obtained from the initialized telemetry.</param>
<param name="setCookies">Set cookies enables the process of setting the cookies to the web request. By default it is set to false.</param>
<param name="setCorrelationContext">Set request headers to correlate dependency telemetry item with the request telemetry item that will process this http request.</param>
<returns>Dependency telemetry item with an associated dependency telemetry item.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.DependencyCollector.TelemetryExtensionsForDependencyCollector.AssociateTelemetryWithSqlRequest(Microsoft.ApplicationInsights.DataContracts.DependencyTelemetry,System.Data.SqlClient.SqlCommand)">
<summary>
Associates telemetry item to a SQL command object to to avoid duplicate tracking.
When there is an existing telemetry item in the corresponding to the given SQL REQUEST, we return the existing telemetry and associate the same with the SQL REQUEST.
</summary>
<param name="telemetry">Telemetry object that needs to be associated with the web request.</param>
<param name="sqlRequest">SQL request object which is used as a key to store in the tables.</param>
<returns>Dependency telemetry item with an associated dependency telemetry item.</returns>
</member>
</members>
</doc>

View File

@ -1,945 +0,0 @@
<?xml version="1.0"?>
<doc xml:lang="en">
<assembly>
<name>Microsoft.AI.ServerTelemetryChannel</name>
</assembly>
<members>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor">
<summary>
Telemetry processor for sampling telemetry at a dynamic rate before sending to Application Insights.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.samplingProcessor">
<summary>
Fixed-rate sampling telemetry processor.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.estimatorSettings">
<summary>
Sampling percentage estimator settings.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.evaluationCallback">
<summary>
Callback invoked every time sampling percentage is evaluated.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.estimatorProcessor">
<summary>
Sampling percentage estimator telemetry processor.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> class.
<param name="next">Next TelemetryProcessor in call chain.</param>
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback,Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> class.
<param name="settings">Sampling percentage estimator settings.</param>
<param name="callback">Callback invoked every time sampling percentage is evaluated.</param>
<param name="next">Next TelemetryProcessor in call chain.</param>
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.ExcludedTypes">
<summary>
Gets or sets a semicolon separated list of telemetry types that should not be sampled.
Types listed are excluded even if they are set in IncludedTypes.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.IncludedTypes">
<summary>
Gets or sets a semicolon separated list of telemetry types that should be sampled.
If left empty all types are included implicitly.
Types are not included if they are set in ExcludedTypes.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.InitialSamplingPercentage">
<summary>
Gets or sets initial sampling percentage applied at the start
of the process to dynamically vary the percentage.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxTelemetryItemsPerSecond">
<summary>
Gets or sets maximum rate of telemetry items per second
dynamic sampling will try to adhere to.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MinSamplingPercentage">
<summary>
Gets or sets minimum sampling percentage that can be set
by the dynamic sampling percentage algorithm.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MaxSamplingPercentage">
<summary>
Gets or sets maximum sampling percentage that can be set
by the dynamic sampling percentage algorithm.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.EvaluationInterval">
<summary>
Gets or sets duration of the sampling percentage evaluation interval.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageDecreaseTimeout">
<summary>
Gets or sets a value indicating how long to not to decrease
sampling percentage after last change to prevent excessive fluctuation.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.SamplingPercentageIncreaseTimeout">
<summary>
Gets or sets a value indicating how long to not to increase
sampling percentage after last change to prevent excessive fluctuation.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.MovingAverageRatio">
<summary>
Gets or sets exponential moving average ratio (factor) applied
during calculation of rate of telemetry items produced by the application.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Processes telemetry item.
</summary>
<param name="item">Telemetry item to process.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose">
<summary>
Disposes the object.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor.Dispose(System.Boolean)">
<summary>
Disposes the object.
</summary>
<param name="disposing">True if disposing.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationFolderProvider.CheckAccessPermissions(System.IO.DirectoryInfo)">
<summary>
Throws <see cref="T:System.UnauthorizedAccessException" /> if the process lacks the required permissions to access the <paramref name="telemetryDirectory"/>.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs">
<summary>
Encapsulates arguments of the <see cref="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Stopping"/> event.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs.#ctor(System.Func{System.Func{System.Threading.Tasks.Task},System.Threading.Tasks.Task})">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs"/> class with the specified runner of asynchronous methods.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ApplicationStoppingEventArgs.Run(System.Func{System.Threading.Tasks.Task})">
<summary>
Runs the specified asynchronous method while preventing the application from exiting.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.CurrentThreadTaskScheduler">
<summary>
Runs tasks synchronously, on the current thread.
From <a href="http://code.msdn.microsoft.com/Samples-for-Parallel-b4b76364/view/SourceCode"/>.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.ExceptionHandler.Start(System.Func{System.Threading.Tasks.Task})">
<summary>
Starts the <paramref name="asyncMethod"/>, catches and logs any exceptions it may throw.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationFolderProvider.GetApplicationFolder">
<summary>
Returns a per-user/per-application folder.
</summary>
<returns>
An <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IPlatformFolder"/> instance, or <c>null</c> if current application does not have access to file system.
</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle">
<summary>
Encapsulates application lifecycle events.
</summary>
</member>
<member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Started">
<summary>
Occurs when a new instance of the application is started or an existing instance is activated.
</summary>
</member>
<member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle.Stopping">
<summary>
Occurs when the application is suspending or closing.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.INetwork">
<summary>
Encapsulates platform-specific behavior of network information APIs.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.INetwork.AddAddressChangedEventHandler(System.Net.NetworkInformation.NetworkAddressChangedEventHandler)">
<summary>
Adds <see cref="E:System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged"/> event handler.
</summary>
<remarks>
Defined as a method instead of an event in this interface because C# compiler
changes signature of event in a Windows Runtime component, making it very hard
to implement properly.
</remarks>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.INetwork.RemoveAddressChangeEventHandler(System.Net.NetworkInformation.NetworkAddressChangedEventHandler)">
<summary>
Removes <see cref="E:System.Net.NetworkInformation.NetworkChange.NetworkAddressChanged"/> event handler.
</summary>
<param name="handler">Address changed event handler.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Network">
<summary>
Encapsulates platform-specific behavior of network information APIs.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.NetworkAvailabilityTransmissionPolicy.Dispose">
<summary>
Releases resources used by this <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.NetworkAvailabilityTransmissionPolicy"/> instance.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer">
<summary>
Accumulates <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> items for efficient transmission.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.Capacity">
<summary>
Gets or sets the maximum number of telemetry items that can be buffered before transmission.
</summary>
<exception cref="T:System.ArgumentOutOfRangeException">The value is zero or less.</exception>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.Dispose">
<summary>
Releases resources used by this <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer"/> instance.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Processes the specified <paramref name="item"/> item.
</summary>
<exception cref="T:System.ArgumentNullException">The <paramref name="item"/> is null.</exception>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetryBuffer.FlushAsync">
<summary>
Passes all <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> items to the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetrySerializer"/> and empties the queue.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TelemetrySerializer.EndpointAddress">
<summary>
Gets or sets the endpoint address.
</summary>
<remarks>
If endpoint address is set to null, the default endpoint address will be used.
</remarks>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer.Capacity">
<summary>
Gets or sets the maximum amount of memory in bytes for buffering <see cref="T:Microsoft.ApplicationInsights.Channel.Transmission"/> objects.
</summary>
<remarks>
Use this property to limit the amount of memory used to store telemetry in memory of the
application before transmission. Once the maximum amount of memory is
reached, <see cref="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer.Enqueue(System.Func{Microsoft.ApplicationInsights.Channel.Transmission})"/> will reject new transmissions.
</remarks>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer.Size">
<summary>
Gets the combined length of <see cref="P:Microsoft.ApplicationInsights.Channel.Transmission.Content"/> stored in the buffer.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionExtensions.Load(System.IO.Stream)">
<summary>
Loads a new transmission from the specified <paramref name="stream"/>.
</summary>
<returns>Return transmission loaded from file; throws FormatException is file is corrupted.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionExtensions.Save(Microsoft.ApplicationInsights.Channel.Transmission,System.IO.Stream)">
<summary>
Saves the transmission to the specified <paramref name="stream"/>.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.Capacity">
<summary>
Gets or sets the the maximum number of <see cref="T:Microsoft.ApplicationInsights.Channel.Transmission"/> objects that can be sent simultaneously.
</summary>
<remarks>
Use this property to limit the number of concurrent HTTP connections. Once the maximum number of
transmissions in progress is reached, <see cref="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.Enqueue(System.Func{Microsoft.ApplicationInsights.Channel.Transmission})"/> will stop accepting new transmissions
until previous transmissions are sent.
</remarks>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.ApplyThrottle">
<summary>
Gets or sets a value indicating whether a limiter on the maximum number of <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> objects
that can be sent in a given throttle window is enabled. Items attempted to be sent exceeding of the local
throttle amount will be treated the same as a backend throttle.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.ThrottleLimit">
<summary>
Gets or sets the maximum number of items that will be allowed to send in a given throttle window.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.ThrottleWindow">
<summary>
Gets or sets the size of the self-limiting throttle window in milliseconds.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender.IsTransmissionSendable(System.Int32,System.Boolean)">
<summary>
Checks if the transmission throttling policy allows for sending another request.
If so, this method will add a request to the current throttle count (unless peeking).
</summary>
<returns>The number of events that are able to be sent.</returns>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionStorage.Capacity">
<summary>
Gets or sets the total amount of disk space, in bytes, allowed for storing transmission files.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter">
<summary>
Implements throttled and persisted transmission of telemetry to Application Insights.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter.#ctor(Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionSender,Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionBuffer,Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionStorage,System.Collections.Generic.IEnumerable{Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.TransmissionPolicy},Microsoft.ApplicationInsights.Channel.Implementation.BackoffLogicManager)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter" /> class. Used only for UTs.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter.Dispose">
<summary>
Releases resources used by this <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.Transmitter"/> instance.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle">
<summary>
Implements the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.IApplicationLifecycle"/> events for web applications.
</summary>
</member>
<member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Started">
<summary>
The <see cref="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Started"/> event is raised when the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle"/> instance is first created.
This event is not raised for web applications.
</summary>
</member>
<member name="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stopping">
<summary>
The <see cref="E:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stopping"/> event is raised when <see cref="T:System.Web.Hosting.HostingEnvironment"/> calls the <see cref="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stop(System.Boolean)"/> method.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Dispose">
<summary>
Unregisters the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle"/> from <see cref="T:System.Web.Hosting.HostingEnvironment"/>.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.Implementation.WebApplicationLifecycle.Stop(System.Boolean)">
<summary>
Gets called by <see cref="T:System.Web.Hosting.HostingEnvironment"/> when the web application is stopping.
</summary>
<param name="immediate">
False when the method is invoked first time, allowing async shutdown operations.
True when the method is invoked second time, demanding to unregister immediately.
</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor">
<summary>
Represents a telemetry processor for sampling telemetry at a fixed-rate before sending to Application Insights.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor"/> class.
<param name="next">Next TelemetryProcessor in call chain.</param>
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.ExcludedTypes">
<summary>
Gets or sets a semicolon separated list of telemetry types that should not be sampled.
Allowed type names: Dependency, Event, Exception, PageView, Request, Trace.
Types listed are excluded even if they are set in IncludedTypes.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.IncludedTypes">
<summary>
Gets or sets a semicolon separated list of telemetry types that should be sampled.
If left empty all types are included implicitly.
Types are not included if they are set in ExcludedTypes.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.SamplingPercentage">
<summary>
Gets or sets data sampling percentage (between 0 and 100) for all <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/>
objects logged in this <see cref="T:Microsoft.ApplicationInsights.TelemetryClient"/>.
</summary>
<remarks>
All sampling percentage must be in a ratio of 100/N where N is a whole number (2, 3, 4, …). E.g. 50 for 1/2 or 33.33 for 1/3.
Failure to follow this pattern can result in unexpected / incorrect computation of values in the portal.
</remarks>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.Next">
<summary>
Gets or sets the next TelemetryProcessor in call chain.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Process a collected telemetry item.
</summary>
<param name="item">A collected Telemetry item.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel">
<summary>
Represents a communication channel for sending telemetry to Application Insights via HTTP/S.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DefaultBackoffEnabledReportingInterval">
<summary>
Gets or sets default interval after which diagnostics event will be logged if telemetry sending was disabled.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.DeveloperMode">
<summary>
Gets or sets a value indicating whether developer mode of telemetry transmission is enabled.
When developer mode is True, <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> sends telemetry to Application Insights immediately
during the entire lifetime of the application. When developer mode is False, <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/>
respects production sending policies defined by other properties.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EndpointAddress">
<summary>
Gets or sets the HTTP address where the telemetry is sent.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferDelay">
<summary>
Gets or sets the maximum telemetry batching interval. Once the interval expires, <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/>
serializes the accumulated telemetry items for transmission.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTelemetryBufferCapacity">
<summary>
Gets or sets the maximum number of telemetry items will accumulate in a memory before
the <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> serializing them for transmission to Application Insights.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionBufferCapacity">
<summary>
Gets or sets the maximum amount of memory, in bytes, that <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> will use
to buffer transmissions before sending them to Application Insights.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionSenderCapacity">
<summary>
Gets or sets the maximum number of telemetry transmissions that <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> will
send to Application Insights at the same time.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.MaxTransmissionStorageCapacity">
<summary>
Gets or sets the maximum amount of disk space, in bytes, that <see cref="N:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel"/> will
use to store unsent telemetry transmissions.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.StorageFolder">
<summary>
Gets or sets the folder to be used as a temporary storage for events that were not sent because of temporary connectivity issues.
If folder was not provided or inaccessible. %LocalAppData% or %Temp% folder will be used.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.EnableLocalThrottling">
<summary>
Gets or sets a value indicating whether a limiter on the maximum number of <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry"/> objects
that can be sent in a given throttle window is enabled. Items attempted to be sent exceeding of the local
throttle amount will be treated the same as a backend throttle.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.LocalThrottleLimit">
<summary>
Gets or sets the maximum number of items that will be allowed to send in a given throttle window.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.LocalThrottleWindow">
<summary>
Gets or sets the size of the self-limiting throttle window in milliseconds.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.TelemetryProcessor">
<summary>
Gets or sets first TelemetryProcessor in processor call chain.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Dispose">
<summary>
Releases unmanaged and - optionally - managed resources.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Send(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Sends an instance of ITelemetry through the channel.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Flush">
<summary>
Asynchronously flushes the telemetry buffer.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.ServerTelemetryChannel.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Initialize method is called after all configuration properties have been loaded from the configuration.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter">
<summary>
Exponential moving average counter.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.average">
<summary>
Average value of the counter.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.current">
<summary>
Value of the counter during current interval of time.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.#ctor(System.Double)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter"/> class.
</summary>
<param name="coefficient">Exponential coefficient.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.Coefficient">
<summary>
Gets exponential coefficient (must be between 0 and 1).
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.Average">
<summary>
Gets exponential moving average value of the counter.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.Increment">
<summary>
Increments counter value.
</summary>
<returns>Incremented value.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.ExponentialMovingAverageCounter.StartNewInterval">
<summary>
Zeros out current value and starts new 'counter interval'.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.IRandomNumberBatchGenerator">
<summary>
Interface for random number generator capable of producing
a batch of unsigned 64 bit random numbers.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings">
<summary>
Container for all the settings applicable to the process of dynamically estimating
application telemetry sampling percentage.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.default">
<summary>
Set of default settings.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxTelemetryItemsPerSecond">
<summary>
Gets or sets maximum rate of telemetry items per second
dynamic sampling will try to adhere to.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.InitialSamplingPercentage">
<summary>
Gets or sets initial sampling percentage applied at the start
of the process to dynamically vary the percentage.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MinSamplingPercentage">
<summary>
Gets or sets minimum sampling percentage that can be set
by the dynamic sampling percentage algorithm.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MaxSamplingPercentage">
<summary>
Gets or sets maximum sampling percentage that can be set
by the dynamic sampling percentage algorithm.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EvaluationInterval">
<summary>
Gets or sets duration of the sampling percentage evaluation
interval in seconds.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageDecreaseTimeout">
<summary>
Gets or sets a value indicating how long to not to decrease
sampling percentage after last change to prevent excessive fluctuation.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.SamplingPercentageIncreaseTimeout">
<summary>
Gets or sets a value indicating how long to not to increase
sampling percentage after last change to prevent excessive fluctuation.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.MovingAverageRatio">
<summary>
Gets or sets exponential moving average ratio (factor) applied
during calculation of rate of telemetry items produced by the application.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMaxTelemetryItemsPerSecond">
<summary>
Gets effective maximum telemetry items rate per second
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveInitialSamplingRate">
<summary>
Gets effective initial sampling rate
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMinSamplingRate">
<summary>
Gets effective minimum sampling rate
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMaxSamplingRate">
<summary>
Gets effective maximum sampling rate
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveEvaluationInterval">
<summary>
Gets effective sampling percentage evaluation interval
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveSamplingPercentageDecreaseTimeout">
<summary>
Gets effective sampling percentage decrease timeout
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveSamplingPercentageIncreaseTimeout">
<summary>
Gets effective sampling percentage increase timeout
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.EffectiveMovingAverageRatio">
<summary>
Gets effective exponential moving average ratio
adjusted in case user makes an error while setting a value.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings.AdjustSamplingPercentage(System.Double)">
<summary>
Adjusts sampling percentage set by user to account for errors
such as setting it below zero or above 100%.
</summary>
<param name="samplingPercentage">Input sampling percentage.</param>
<returns>Adjusted sampling percentage in range &gt; 0 and &lt;= 100.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback">
<summary>
Represents a method that is invoked every time sampling percentage is evaluated
by the dynamic sampling algorithm.
</summary>
<param name="afterSamplingTelemetryItemRatePerSecond">Rate of telemetry items generated by this instance of the application after current sampling percentage was applied.</param>
<param name="currentSamplingPercentage">Current sampling percentage that was used by the algorithm.</param>
<param name="newSamplingPercentage">Suggested new sampling percentage that will allow to keep desired telemetry item generation rate given the volume of items states the same.</param>
<param name="isSamplingPercentageChanged">A value indicating whether new sampling percentage will be applied by dynamic sampling algorithm. New sampling percentage may not be immediately applied in case it was recently changed.</param>
<param name="settings">Dynamic sampling algorithm settings.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor">
<summary>
Telemetry processor to estimate ideal sampling percentage.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.next">
<summary>
Next-in-chain processor.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.settings">
<summary>
Dynamic sampling estimator settings.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.itemCount">
<summary>
Average telemetry item counter.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.evaluationTimer">
<summary>
Evaluation timer.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.evaluationInterval">
<summary>
Current evaluation interval.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.currenSamplingRate">
<summary>
Current sampling rate.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.samplingPercentageLastChangeDateTime">
<summary>
Last date and time sampling percentage was changed.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.evaluationCallback">
<summary>
Callback to invoke every time sampling percentage is evaluated.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor"/> class.
<param name="next">Next TelemetryProcessor in call chain.</param>
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.#ctor(Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback,Microsoft.ApplicationInsights.Extensibility.ITelemetryProcessor)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor"/> class.
<param name="settings">Dynamic sampling estimator settings.</param>
<param name="callback">Callback to invoke every time sampling percentage is evaluated.</param>
<param name="next">Next TelemetryProcessor in call chain.</param>
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.Process(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Processes telemetry item.
</summary>
<param name="item">Telemetry item to process.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.Dispose">
<summary>
Disposes the object.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.MovingAverageCoefficientChanged(System.Double,System.Double)">
<summary>
Checks to see if exponential moving average has changed.
</summary>
<param name="running">Currently running value of moving average.</param>
<param name="current">Value set in the algorithm parameters.</param>
<returns>True if moving average value changed.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorTelemetryProcessor.EstimateSamplingPercentage(System.Object)">
<summary>
Callback for sampling percentage evaluation timer.
</summary>
<param name="state">Timer state.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingScoreGenerator">
<summary>
Utility class for sampling score generation.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingScoreGenerator.GetSamplingScore(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Generates telemetry sampling score between 0 and 100.
</summary>
<param name="telemetry">Telemetry item to score.</param>
<returns>Item sampling score.</returns>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.random">
<summary>
Generator singleton.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.index">
<summary>
Index of the last used random number within pre-generated array.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.segmentCount">
<summary>
Count of segments of random numbers.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.segmentSize">
<summary>
Number of random numbers per segment.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.bitsToStoreRandomIndexWithinSegment">
<summary>
Number of bits used to store index of the random number within segment.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.segmentIndexMask">
<summary>
Bit mask to get segment index bits.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomIndexWithinSegmentMask">
<summary>
Bit mask to get index of the random number within segment.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomArrayIndexMask">
<summary>
Bit mask to get index of the random number in the pre-generated array.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomGemerators">
<summary>
Array of random number batch generators (one per each segment).
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.randomNumbers">
<summary>
Array of pre-generated random numbers.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom"/> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.Initialize">
<summary>
Initializes generator with a set of random numbers.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.Initialize(System.Func{System.UInt64,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.IRandomNumberBatchGenerator},System.Int32,System.Int32)">
<summary>
Initializes generator with a set of random numbers.
</summary>
<param name="randomGeneratorFactory">Factory used to create random number batch generators.</param>
<param name="segmentIndexBits">Number of significant bits in segment index, i.e. value of 3 means 8 segments of random numbers - 0..7.</param>
<param name="segmentBits">Number of significant bits in random number index within segment, i.e. value of 10 means 1024 random numbers per segment.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.Next">
<summary>
Weakly thread safe next (random) operation id generator
where 'weakly' indicates that it is unlikely we'll get into
collision state.
</summary>
<returns>Next operation id.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.WeakConcurrentRandom.RegenerateSegment(System.Int32)">
<summary>
Generates random number batch for segment which just exhausted
according to value of the new index.
</summary>
<param name="newIndex">Index in random number array of the random number we're about to return.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator">
<summary>
Generates batches of random number using Xorshift algorithm
Note: the base code is from http://www.codeproject.com/Articles/9187/A-fast-equivalent-for-System-Random.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator.#ctor(System.UInt64)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator"/> class.
</summary>
<param name="seed">Random generator seed value.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.XorshiftRandomBatchGenerator.NextBatch(System.UInt64[],System.Int32,System.Int32)">
<summary>
Generates a batch of random numbers.
</summary>
<param name="buffer">Buffer to put numbers in.</param>
<param name="index">Start index in the buffer.</param>
<param name="count">Count of random numbers to generate.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.Channel.Implementation.BackoffLogicManager.ConsecutiveErrors">
<summary>
Gets the number of consecutive errors SDK transmitter got so far while sending telemetry to backend.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Channel.Implementation.BackoffLogicManager.LastStatusCode">
<summary>
Gets the last status code SDK received from the backend.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Channel.Implementation.BackoffLogicManager.ResetConsecutiveErrors">
<summary>
Sets ConsecutiveErrors to 0.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions">
<summary>
Extension methods for <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.
Adds shorthand for adding well-known processors.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,System.Double,System.String,System.String)">
<summary>
Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.SamplingTelemetryProcessor"/> to the given<see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" />
</summary>
<param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param>
<param name="samplingPercentage">Sampling Percentage to configure.</param>
<param name="excludedTypes">Semicolon separated list of types that should not be sampled.</param>
<param name="includedTypes">Semicolon separated list of types that should be sampled. All types are sampled when left empty.</param>
<return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return>
</member>
<member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,System.String,System.String)">
<summary>
Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> to the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" />
</summary>
<param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param>
<param name="excludedTypes">Semicolon separated list of types that should not be sampled.</param>
<param name="includedTypes">Semicolon separated list of types that should be sampled. All types are sampled when left empty.</param>
<return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return>
</member>
<member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,System.Double,System.String,System.String)">
<summary>
Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> to the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" />
</summary>
<param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param>
<param name="maxTelemetryItemsPerSecond">Maximum number of telemetry items to be generated on this application instance.</param>
<param name="excludedTypes">Semicolon separated list of types that should not be sampled.</param>
<param name="includedTypes">Semicolon separated list of types that should be sampled. All types are sampled when left empty.</param>
<return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return>
</member>
<member name="M:Microsoft.ApplicationInsights.Extensibility.TelemetryProcessorChainBuilderExtensions.UseAdaptiveSampling(Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.SamplingPercentageEstimatorSettings,Microsoft.ApplicationInsights.WindowsServer.Channel.Implementation.AdaptiveSamplingPercentageEvaluatedCallback,System.String,System.String)">
<summary>
Adds <see cref="T:Microsoft.ApplicationInsights.WindowsServer.TelemetryChannel.AdaptiveSamplingTelemetryProcessor"/> to the <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder" />
</summary>
<param name="builder">Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/></param>
<param name="settings">Set of settings applicable to dynamic sampling percentage algorithm.</param>
<param name="callback">Callback invoked every time sampling percentage evaluation occurs.</param>
<param name="excludedTypes">Semicolon separated list of types that should not be sampled.</param>
<param name="includedTypes">Semicolon separated list of types that should be sampled. All types are sampled when left empty.</param>
<return>Instance of <see cref="T:Microsoft.ApplicationInsights.Extensibility.Implementation.TelemetryProcessorChainBuilder"/>.</return>
</member>
</members>
</doc>

Binary file not shown.

View File

@ -1,437 +0,0 @@
<?xml version="1.0"?>
<doc xml:lang="en">
<assembly>
<name>Microsoft.AI.Web</name>
</assembly>
<members>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.HttpRequestExtensions">
<summary>
HttpRequest Extensions.
</summary>
<summary>
HttpRequest Extensions.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants">
<summary>
Request tracking constants and keys.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants.RequestTelemetryItemName">
<summary>
Name of the HttpContext item containing RequestTelemetry object.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants.TransferHandlerType">
<summary>
Type name for the transfer handler. This handler is used to enable extension(less) URI
and it produces extra request, which should not be counted.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingConstants.WebAuthenticatedUserCookieName">
<summary>
The name of the cookie which holds authenticated user context information.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.RequestTrackingExtensions.CreateRequestNamePrivate(System.Web.HttpContext)">
<summary>
Creates request name on the base of HttpContext.
</summary>
<returns>Controller/Action for MVC or path for other cases.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.SyntheticUserAgentFilter">
<summary>
Allows configuration of patterns for synthetic traffic filters.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.Implementation.SyntheticUserAgentFilter.Pattern">
<summary>
Gets or sets the regular expression pattern applied to the user agent string to determine whether traffic is synthetic.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.Implementation.SyntheticUserAgentFilter.SourceName">
<summary>
Gets or sets the readable name for the synthetic traffic source. If not provided, defaults to the pattern match.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource">
<summary>
ETW EventSource tracing class.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Log">
<summary>
Instance of the PlatformEventSource class.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords">
<summary>
Keywords for the PlatformEventSource. Those keywords should match keywords in Core.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords.UserActionable">
<summary>
Key word for user actionable events.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords.Diagnostics">
<summary>
Diagnostics tracing keyword.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventSource.Keywords.VerboseFailure">
<summary>
Keyword for errors that trace at Verbose level.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher">
<summary>
Class provides methods to post event about Web event like begin or end of the request.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.Instance">
<summary>
WebEventsPublisher static instance.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.Log">
<summary>
Gets the instance of WebEventsPublisher type.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.OnBegin">
<summary>
Method generates event about begin of the request.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.OnEnd">
<summary>
Method generates event about end of the request.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebEventsPublisher.OnError">
<summary>
Method generates event in case if request failed.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase">
<summary>
Base class for WebOperationTelemetryInitializers.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Base implementation of the initialization method.
</summary>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryInitializerBase.ResolvePlatformContext">
<summary>
Resolved web platform specific context.
</summary>
<returns>An instance of the context.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase">
<summary>
Base web telemetry module.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.ModuleName">
<summary>
Gets the module name which is added to be used for internal tracing instead of GetType on each request to improve performance.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.OnBeginRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,System.Web.HttpContext)">
<summary>
Post initialization Web Telemetry Module callback.
</summary>
<param name="requestTelemetry">An instance of request telemetry context.</param>
<param name="platformContext">Platform specific context.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.OnEndRequest(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,System.Web.HttpContext)">
<summary>
Request telemetry finalization - sending callback Web Telemetry Module callback.
</summary>
<param name="requestTelemetry">An instance of request telemetry context.</param>
<param name="platformContext">Platform specific context.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.Implementation.WebTelemetryModuleBase.OnError(Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,System.Web.HttpContext)">
<summary>
Http Error reporting Web Telemetry Module callback.
</summary>
<param name="requestTelemetry">An instance of request telemetry context.</param>
<param name="platformContext">Platform specific context.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer">
<summary>
A telemetry initializer that will set the User properties of Context corresponding to a RequestTelemetry object.
User.AccountId is updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.User.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.AccountIdTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule">
<summary>
Platform agnostic module for web application instrumentation.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.isEnabled">
<summary>
Indicates if module initialized successfully.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule"/> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.Init(System.Web.HttpApplication)">
<summary>
Initializes module for a given application.
</summary>
<param name="context">HttpApplication instance.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ApplicationInsightsHttpModule.Dispose">
<summary>
Required IDisposable implementation.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer">
<summary>
A telemetry initializer that will set the User properties of Context corresponding to a RequestTelemetry object.
User.AuthenticatedUserId is updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.User.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.AuthenticatedUserIdTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer">
<summary>
A telemetry initializer that will set the correlation context for all telemetry items in web application.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.ParentOperationIdHeaderName">
<summary>
Gets or sets the name of the header to get parent operation Id from.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.RootOperationIdHeaderName">
<summary>
Gets or sets the name of the header to get root operation Id from.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.OperationCorrelationTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer">
<summary>
Telemetry initializer populates client IP address for the current request.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.HeaderNames">
<summary>
Gets a list of request header names that is used to check client id.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.HeaderValueSeparators">
<summary>
Gets or sets a header values separator.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.UseFirstIp">
<summary>
Gets or sets a value indicating whether the first or the last IP should be used from the lists of IPs in the header.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ClientIpHeaderTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule">
<summary>
Telemetry module to collect unhandled exceptions caught by http module.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.OnError(System.Web.HttpContext)">
<summary>
Implements on error callback of http module.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.ExceptionTrackingTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Initializes the telemetry module.
</summary>
<param name="configuration">Telemetry configuration to use for initialization.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer">
<summary>
A telemetry initializer that will set the NAME property of OperationContext corresponding to a TraceTelemetry object.
If the telemetry object is of type RequestTelemetry, then the Name of the RequestTelemetry is updated. For all other cases,
Operation.Name is updated with the name derived from the HttpContext.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.OperationNameTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="rootRequestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule">
<summary>
Telemetry module tracking requests using http module.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.Handlers">
<summary>
Gets the list of handler types for which requests telemetry will not be collected
if request was successful.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.OnBeginRequest(System.Web.HttpContext)">
<summary>
Implements on begin callback of http module.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.OnEndRequest(System.Web.HttpContext)">
<summary>
Implements on end callback of http module.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Initializes the telemetry module.
</summary>
<param name="configuration">Telemetry configuration to use for initialization.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.NeedProcessRequest(System.Web.HttpContext)">
<summary>
Verifies context to detect whether or not request needs to be processed.
</summary>
<param name="httpContext">Current http context.</param>
<returns>True if request needs to be processed, otherwise - False.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.RequestTrackingTelemetryModule.IsHandlerToFilter(System.Web.IHttpHandler)">
<summary>
Checks whether or not handler is a transfer handler.
</summary>
<param name="handler">An instance of handler to validate.</param>
<returns>True if handler is a transfer handler, otherwise - False.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer">
<summary>
A telemetry initializer that will set the Session properties of Context corresponding to a RequestTelemetry object.
Session is updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.Session.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.SessionTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer">
<summary>
A telemetry initializer that will update the User, Session and Operation contexts if request originates from a web test.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.WebTestTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer">
<summary>
A telemetry initializer that determines if the request came from a synthetic source based on the user agent string.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer.Filters">
<summary>
Gets or sets the configured patterns for matching synthetic traffic filters through user agent string.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.SyntheticUserAgentTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.Web.UserTelemetryInitializer">
<summary>
A telemetry initializer that will set the User properties of Context corresponding to a RequestTelemetry object.
User.Id are updated with properties derived from the RequestTelemetry.RequestTelemetry.Context.User.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.Web.UserTelemetryInitializer.OnInitializeTelemetry(System.Web.HttpContext,Microsoft.ApplicationInsights.DataContracts.RequestTelemetry,Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Implements initialization logic.
</summary>
<param name="platformContext">Http context.</param>
<param name="requestTelemetry">Request telemetry object associated with the current request.</param>
<param name="telemetry">Telemetry item to initialize.</param>
</member>
<member name="T:System.Web.HttpContextExtension">
<summary>
HttpContextExtension class provides extensions methods for accessing Web Application Insights objects.
</summary>
</member>
<member name="M:System.Web.HttpContextExtension.GetRequestTelemetry(System.Web.HttpContext)">
<summary>
Provide access to request generated by Web Application Insights SDK.
</summary>
<param name="context">HttpContext instance.</param>
<returns>Request telemetry instance or null.</returns>
</member>
</members>
</doc>

View File

@ -1,489 +0,0 @@
<?xml version="1.0"?>
<doc xml:lang="en">
<assembly>
<name>Microsoft.AI.WindowsServer</name>
</assembly>
<members>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer">
<summary>
A telemetry initializer that will gather Azure Web App Role Environment context information.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer.WebAppNameEnvironmentVariable">
<summary>Azure Web App name corresponding to the resource name.</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer.WebAppHostNameEnvironmentVariable">
<summary>Azure Web App Hostname. This will include the deployment slot, but will be same across instances of same slot.</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer" /> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.AzureWebAppRoleEnvironmentTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Initializes <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry" /> device context.
</summary>
<param name="telemetry">The telemetry to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer">
<summary>
A telemetry initializer that will gather Azure Role Environment context information.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer" /> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.AzureRoleEnvironmentTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Initializes <see cref="T:Microsoft.ApplicationInsights.Channel.ITelemetry" /> device context.
</summary>
<param name="telemetry">The telemetry to initialize.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer">
<summary>
A telemetry context initializer that will set component context version on the base of BuildInfo.config information.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.version">
<summary>
The version for this component.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Initializes version of the telemetry item with the version obtained from build info if it is available.
</summary>
<param name="telemetry">The telemetry context to initialize.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.LoadBuildInfoConfig">
<summary>
Loads BuildInfo.config and returns XElement.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.BuildInfoConfigComponentVersionTelemetryInitializer.GetVersion">
<summary>
Gets the version for the current application. If the version cannot be found, we will return the passed in default.
</summary>
<returns>The extracted data.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule">
<summary>
Telemetry module that sets developer mode to true when is not already set AND managed debugger is attached.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule.IsDebuggerAttached">
<summary>
Function that checks whether debugger is attached with implementation that can be replaced by unit test code.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.DeveloperModeWithDebuggerAttachedTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Gives the opportunity for this telemetry module to initialize configuration object that is passed to it.
</summary>
<param name="configuration">Configuration object.</param>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.DeviceTelemetryInitializer">
<summary>
A telemetry context initializer that will gather device context information.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.DeviceTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Populates device properties on a telemetry item.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer">
<summary>
Obsolete. A telemetry context initializer that used to populate role instance name. Preserved for backward compatibility.
Note that role instance will still be populated with the machine name as in the previous versions.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.DomainNameRoleInstanceTelemetryInitializer.Initialize(Microsoft.ApplicationInsights.Channel.ITelemetry)">
<summary>
Obsolete method.
</summary>
<param name="telemetry">The telemetry to initialize.</param>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.instance">
<summary>
The singleton instance for our reader.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.roleName">
<summary>
The Azure role name (if any).
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.roleInstanceName">
<summary>
The Azure role instance name (if any).
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.Instance">
<summary>
Gets or sets the singleton instance for our application context reader.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.BaseDirectory">
<summary>
Gets or sets the base directly where hunting for application DLLs is to start.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.Initialize">
<summary>
Initializes the current reader with respect to its environment.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.GetRoleName">
<summary>
Gets the Azure role name.
</summary>
<returns>The extracted data.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.AzureRoleEnvironmentContextReader.GetRoleInstanceName">
<summary>
Gets the Azure role instance name.
</summary>
<returns>The extracted data.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader">
<summary>
The reader is platform specific and applies to .NET applications only.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.Instance">
<summary>
Gets or sets the singleton instance for our application context reader.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetHostSystemLocale">
<summary>
Gets the host system locale.
</summary>
<returns>The discovered locale.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetDeviceType">
<summary>
Gets the type of the device.
</summary>
<returns>The type for this device as a hard-coded string.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetDeviceUniqueId">
<summary>
Gets the device unique ID, or uses the fallback if none is available due to application configuration.
</summary>
<returns>
The discovered device identifier.
</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetOemName">
<summary>
Gets the device OEM.
</summary>
<returns>The discovered OEM.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetDeviceModel">
<summary>
Gets the device model.
</summary>
<returns>The discovered device model.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.GetNetworkType">
<summary>
Gets the network type.
</summary>
<returns>The discovered network type.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.DeviceContextReader.RunWmiQuery(System.String,System.String,System.String)">
<summary>
Runs a single WMI query for a property.
</summary>
<param name="table">The table.</param>
<param name="property">The property.</param>
<param name="defaultValue">The default value of the property if WMI fails.</param>
<returns>The value if found, Unknown otherwise.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader">
<summary>
The user context reader interface used while reading user related information in a platform specific way.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader.Initialize">
<summary>
Initializes the current reader with respect to its environment.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader.GetRoleName">
<summary>
Gets the Azure role name.
</summary>
<returns>The extracted data.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.IAzureRoleEnvironmentContextReader.GetRoleInstanceName">
<summary>
Gets the Azure role instance name.
</summary>
<returns>The extracted data.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role">
<summary>
Represents a role that is defined as part of a hosted service.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role.#ctor(System.Object)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role"/> class.
</summary>
<param name="targetObject">The target object.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role.Name">
<summary>
Gets the name of the role as it is declared in the service definition file.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.Role.GetTargetObjectInstance(System.Type,System.Object[])">
<summary>
Gets the target object instance.
</summary>
<param name="targetType">Type of the target.</param>
<param name="activationArgs">The activation arguments.</param>
<returns>
The activated instance is one is required.
</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment">
<summary>
Provides information about the configuration, endpoints, and status of running role instances.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment"/> class.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.IsAvailable">
<summary>
Gets a value indicating whether the role instance is running in the Windows Azure environment.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.DeploymentId">
<summary>
Gets the unique identifier of the deployment in which the role instance is running.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.CurrentRoleInstance">
<summary>
Gets a RoleInstance object that represents the role instance in which the code is currently running.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleEnvironment.GetTargetObjectInstance(System.Type,System.Object[])">
<summary>
Gets the target object instance.
</summary>
<param name="targetType">Type of the target.</param>
<param name="activationArgs">The activation arguments.</param>
<returns>
The activated instance is one is required.
</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance">
<summary>
Represents an instance of a role.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.#ctor(System.Object)">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance"/> class.
</summary>
<param name="targetObject">The target object.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.Id">
<summary>
Gets the instance identifier (ID) of the role instance.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.Role">
<summary>
Gets the Role object that is associated with the role instance.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RoleInstance.GetTargetObjectInstance(System.Type,System.Object[])">
<summary>
Gets the target object instance.
</summary>
<param name="targetType">Type of the target.</param>
<param name="activationArgs">The activation arguments.</param>
<returns>
The activated instance is one is required.
</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject">
<summary>
A runtime bound object for a given .NET type.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.targetType">
<summary>
The target type for our object.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.targetObject">
<summary>
The target object.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.#ctor(System.Type,System.Object[])">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject"/> class.
</summary>
<param name="targetType">Type of the target.</param>
<param name="activationArgs">The activation arguments.</param>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.TargetType">
<summary>
Gets or sets the type of the target.
</summary>
</member>
<member name="P:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.TargetObject">
<summary>
Gets or sets the target object.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetTargetObjectInstance(System.Type,System.Object[])">
<summary>
Gets the target object instance.
</summary>
<param name="targetType">Type of the target.</param>
<param name="activationArgs">The activation arguments.</param>
<returns>The activated instance is one is required.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetProperty(System.String,System.Object[])">
<summary>
Gets the property.
</summary>
<param name="name">The name.</param>
<param name="args">The arguments.</param>
<returns>The value for our property.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetProperty(System.String,System.Type[],System.Object[])">
<summary>
Gets the property.
</summary>
<param name="name">The name.</param>
<param name="parameterTypes">The parameter types.</param>
<param name="args">The arguments.</param>
<returns>The value for our property.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.GetProperty(System.String,System.Reflection.BindingFlags,System.Type[],System.Object[])">
<summary>
Gets the property.
</summary>
<param name="name">The name.</param>
<param name="bindingFlags">The binding flags.</param>
<param name="parameterTypes">The parameter types.</param>
<param name="args">The arguments.</param>
<returns>The value for our property.</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.RuntimeBindingObject.InvokeHelper(System.String,System.Reflection.BindingFlags,System.Object[],System.Globalization.CultureInfo)">
<summary>
Invocation helper for calling any member on our target object.
</summary>
<param name="name">The name.</param>
<param name="bindingFlags">The binding flags.</param>
<param name="args">The arguments.</param>
<param name="culture">The culture.</param>
<returns>The return value for our invocation.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.ServiceRuntime">
<summary>
The wrapper for the Azure Service Runtime.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.ServiceRuntime.GetRoleEnvironment(System.String)">
<summary>
Gets the role environment.
</summary>
<param name="baseDirectory">The base directory.</param>
<returns>
The role environment object.
</returns>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.Implementation.TypeHelpers.GetLoadedType(System.String,System.String)">
<summary>
Gets the type by type name from the assembly.
</summary>
<param name="typeName">The type name.</param>
<param name="assemblyName">The assembly name.</param>
<returns>Return type from assembly loaded in the process by assembly and type name.</returns>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource">
<summary>
ETW EventSource tracing class.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource.Log">
<summary>
Instance of the WindowsServerEventSource class.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource.Keywords">
<summary>
Keywords for the PlatformEventSource. Those keywords should match keywords in Core.
</summary>
</member>
<member name="F:Microsoft.ApplicationInsights.WindowsServer.Implementation.WindowsServerEventSource.Keywords.UserActionable">
<summary>
Key word for user actionable events.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule">
<summary>
The module subscribed to AppDomain.CurrentDomain.UnhandledException to send exceptions to ApplicationInsights.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule"/> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Initializes the telemetry module.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.UnhandledExceptionTelemetryModule.Dispose">
<summary>
Disposing UnhandledExceptionTelemetryModule instance.
</summary>
</member>
<member name="T:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule">
<summary>
The module subscribed to TaskScheduler.UnobservedTaskException to send exceptions to ApplicationInsights.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule.#ctor">
<summary>
Initializes a new instance of the <see cref="T:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule" /> class.
</summary>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule.Initialize(Microsoft.ApplicationInsights.Extensibility.TelemetryConfiguration)">
<summary>
Initializes the telemetry module.
</summary>
<param name="configuration">Telemetry Configuration used for creating TelemetryClient for sending exceptions to ApplicationInsights.</param>
</member>
<member name="M:Microsoft.ApplicationInsights.WindowsServer.UnobservedExceptionTelemetryModule.Dispose">
<summary>
Disposing TaskSchedulerOnUnobservedTaskException instance.
</summary>
</member>
</members>
</doc>

File diff suppressed because it is too large Load Diff

View File

@ -1,40 +0,0 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.CodeDom.Providers.DotNetCompilerPlatform</name>
</assembly>
<members>
<member name="T:Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider">
<summary>
Provides access to instances of the .NET Compiler Platform C# code generator and code compiler.
</summary>
</member>
<member name="M:Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider.#ctor">
<summary>
Default Constructor
</summary>
</member>
<member name="M:Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider.CreateCompiler">
<summary>
Gets an instance of the .NET Compiler Platform C# code compiler.
</summary>
<returns>An instance of the .NET Compiler Platform C# code compiler</returns>
</member>
<member name="T:Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider">
<summary>
Provides access to instances of the .NET Compiler Platform VB code generator and code compiler.
</summary>
</member>
<member name="M:Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider.#ctor">
<summary>
Default Constructor
</summary>
</member>
<member name="M:Microsoft.CodeDom.Providers.DotNetCompilerPlatform.VBCodeProvider.CreateCompiler">
<summary>
Gets an instance of the .NET Compiler Platform VB code compiler.
</summary>
<returns>An instance of the .NET Compiler Platform VB code compiler</returns>
</member>
</members>
</doc>

View File

@ -1,289 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/tr/xmlschema-1/" namespace="">
<alias>
</alias>
<cacheModels>
<cacheModel id="attendCache" implementation="LRU" >
<flushInterval hours="1" />
<property name="CacheSize" value="1000" />
</cacheModel>
</cacheModels>
<resultMaps></resultMaps>
<statements>
<update id="att.attend.allin" parameterClass="hashtable">
update lectinning
set istatus=2
,stime=case when stime is null then <include refid="sql.now"></include> else stime end
,etime=case when etime is null then <include refid="sql.now"></include> else etime end
,sip=case when sip is null then #uip# else sip end
,eip=case when eip is null then #uip# else eip end
,ispcs=case when ispcs is null then 1 else ispcs end
,ispce=case when ispce is null then 1 else ispce end
,statustime=<include refid="sql.now"></include>
,statusreason=#statusreason#
,statususerno=#uno#
where lectno in ($lectnos$) and (istatus is null or istatus&lt;2);
insert into lectinning(lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,statususerno,<include refid="sql.inc"></include>)
select a.lectno,b.cmino,0,<include refid="sql.now"></include>,<include refid="sql.now"></include>,2,<include refid="sql.now"></include>,#statusreason#,#uno#,<include refid="sql.inv"></include>
from lect a
inner join cminning b on b.cmno=a.cmno
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
where a.lectno in ($lectnos$) and a.status=1 and a.ischanged=0 and c.lectno is null;
update lect set <include refid="sql.up"></include>
,attrate=100
,stime=case when stime is null then <include refid="sql.now"></include> else stime end
,etime=case when etime is null then <include refid="sql.now"></include> else etime end
,sip=case when sip is null then #uip# else sip end
,eip=case when eip is null then #uip# else eip end
,ispcs=case when ispcs is null then 1 else ispcs end
,ispce=case when ispce is null then 1 else ispce end
where lectno in ($lectnos$)
</update>
<update id="att.off.save" parameterClass="cminning">
update lectinning a
inner join (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].istatus# istatus </iterate>
) b on b.lectno=a.lectno
set a.uip=#uip#,a.uno=#uno#
,a.istatus=b.istatus
,a.stime = a.stime
,a.etime = a.etime
,a.sip = case when a.sip is null then #uip# else a.sip end
,a.eip = case when a.eip is null then #uip# else a.eip end
,a.ispcs = case when a.ispcs is null then 1 else a.ispcs end
,a.ispce = case when a.ispce is null then 1 else a.ispce end
where a.cmino=#cmino#;
insert into lectinning (lectno,cmino,totstudy<!--,stime,etime-->,istatus,statustime,statusreason,sip,eip,ispcs,ispce,<include refid="sql.inc"></include>)
select a.lectno,#cmino#,0
<!--,case when a.istatus is not null then <include refid="sql.now"></include> else NULL end
,case when a.istatus is not null then <include refid="sql.now"></include> else NULL end-->
,a.istatus,null,null,#uip#,#uip#,1,1,<include refid="sql.inv"></include>
from (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].istatus# istatus </iterate>
) a
left outer join lectinning b on b.cmino=#cmino# and b.lectno=a.lectno
where b.lectno is null;
update lect a
inner join (
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
from lect a
inner join cminning b on b.cmno=a.cmno and ifnull(b.isscd,0)=0
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus in (1,2)
where a.lectno in ($lectnos$)
group by a.lectno
) b on b.lectno=a.lectno
set a.attrate=b.attrate
,a.stime=case when a.stime is null then <include refid="sql.now"></include> else a.stime end
,a.etime=case when a.etime is null then <include refid="sql.now"></include> else a.etime end
,a.sip=case when a.sip is null then #uip# else a.sip end
,a.eip=case when a.eip is null then #uip# else a.eip end
,a.ispcs=case when a.ispcs is null then 1 else a.ispcs end
,a.ispce=case when a.ispce is null then 1 else a.ispce end
</update>
<update id="att.scd.save" parameterClass="cminning">
update lectinning a
inner join (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
) b on b.lectno=a.lectno and b.cmino = a.cmino
set a.uip=#uip#,a.uno=#uno#
,a.istatus=b.istatus
,a.stime = a.stime
,a.etime = a.etime
,a.sip = case when a.sip is null then #uip# else a.sip end
,a.eip = case when a.eip is null then #uip# else a.eip end
,a.ispcs = case when a.ispcs is null then 1 else a.ispcs end
,a.ispce = case when a.ispce is null then 1 else a.ispce end;
insert into lectinning (lectno,cmino,totstudy<!--,stime,etime-->,istatus,statustime,statusreason,sip,eip,ispcs,ispce,<include refid="sql.inc"></include>)
select a.lectno,a.cmino,0
,a.istatus,null,null,#uip#,#uip#,1,1,<include refid="sql.inv"></include>
from (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
) a
left outer join lectinning b on b.cmino=a.cmino and b.lectno=a.lectno
where b.lectno is null;
update lect a
inner join (
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
from lect a
inner join cminning b on b.cmno=a.cmno and ifnull(b.isscd,0)=0
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus in (1,2)
where a.lectno in ($lectnos$)
group by a.lectno
) b on b.lectno=a.lectno
set a.attrate=b.attrate
,a.stime=case when a.stime is null then <include refid="sql.now"></include> else a.stime end
,a.etime=case when a.etime is null then <include refid="sql.now"></include> else a.etime end
,a.sip=case when a.sip is null then #uip# else a.sip end
,a.eip=case when a.eip is null then #uip# else a.eip end
,a.ispcs=case when a.ispcs is null then 1 else a.ispcs end
,a.ispce=case when a.ispce is null then 1 else a.ispce end;
</update>
<update id="att.scd.setattr" parameterClass="cminning">
insert into lectinning(lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,statususerno,<include refid="sql.inc"></include>)
select a.lectno,b.cmino,0,<include refid="sql.now"></include>,<include refid="sql.now"></include>,#istatus#,<include refid="sql.now"></include>,null,#uno#,<include refid="sql.inv"></include>
from lect a
inner join cminning b on b.cmno=a.cmno
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
where a.lectno in ($lectnos$) and a.status=1 and b.isonline = 0 and b.isscd = 1 and a.ischanged=0 and c.lectno is null;
update lectinning lni
inner join lect l on lni.lectno = l.lectno
inner join cminning cmi on lni.cmino = cmi.cmino
inner join (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
) a on lni.lectno = a.lectno and lni.cmino = a.cmino
set lni.stime=now(),lni.etime=now(), lni.istatus = #istatus#
where l.status = 1 and cmi.isonline = 0 and cmi.isscd = 1;
</update>
<update id="att.scd.setattrnull" parameterClass="cminning">
insert into lectinning(lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,statususerno,<include refid="sql.inc"></include>)
select a.lectno,b.cmino,0,null,null,#istatus#,<include refid="sql.now"></include>,null,#uno#,<include refid="sql.inv"></include>
from lect a
inner join cminning b on b.cmno=a.cmno
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
where a.lectno in ($lectnos$) and a.status=1 and b.isonline = 0 and b.isscd = 1 and a.ischanged=0 and c.lectno is null;
update lectinning lni
inner join lect l on lni.lectno = l.lectno
inner join cminning cmi on lni.cmino = cmi.cmino
inner join (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
) a on lni.lectno = a.lectno and lni.cmino = a.cmino
set lni.stime=null,lni.etime=null, lni.istatus = #istatus#
where l.status = 1 and cmi.isonline = 0 and cmi.isscd = 1;
</update>
<!--<update id="att.scd.nowdate" parameterClass="cminning">
insert into lectinning(lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,statususerno,<include refid="sql.inc"></include>)
select a.lectno,b.cmino,0,<include refid="sql.now"></include>,<include refid="sql.now"></include>,2,<include refid="sql.now"></include>,null,#uno#,<include refid="sql.inv"></include>
from lect a
inner join cminning b on b.cmno=a.cmno
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
where a.lectno in ($lectnos$) and a.status=1 and b.isonline = 0 and b.isscd = 1 and a.ischanged=0 and c.lectno is null;
update lectinning lni
inner join lect l on lni.lectno = l.lectno
inner join cminning cmi on lni.cmino = cmi.cmino
inner join (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
) a on lni.lectno = a.lectno and lni.cmino = a.cmino
set lni.stime=now(),lni.etime=now(), lni.istatus = 2
where l.status = 1 and cmi.isonline = 0 and cmi.isscd = 1;
</update>
<update id="att.scd.attrnull" parameterClass="cminning">
insert into lectinning(lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,statususerno,<include refid="sql.inc"></include>)
select a.lectno,b.cmino,0,<include refid="sql.now"></include>,<include refid="sql.now"></include>,2,<include refid="sql.now"></include>,null,#uno#,<include refid="sql.inv"></include>
from lect a
inner join cminning b on b.cmno=a.cmno
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino
where a.lectno in ($lectnos$) and a.status=1 and b.isonline = 0 and b.isscd = 1 and a.ischanged=0 and c.lectno is null;
update lectinning lni
inner join lect l on lni.lectno = l.lectno
inner join cminning cmi on lni.cmino = cmi.cmino
inner join (
<iterate property="Ds" open="" conjunction="union all" close=""> select #Ds[].lectno# lectno,#Ds[].cmino# cmino,#Ds[].istatus# istatus </iterate>
) a on lni.lectno = a.lectno and lni.cmino = a.cmino
set lni.stime=null,lni.etime=null
<isEqual property="zstring0" compareValue="-1">, lni.istatus = null</isEqual>
<isEqual property="zstring0" compareValue="0">, lni.istatus = 0</isEqual>
where l.status = 1 and cmi.isonline = 0 and cmi.isscd = 1
</update>-->
<update id="att.att.in" parameterClass="hashtable">
update lectinning set <include refid="sql.up"></include>
,lectno=#lectno#,cmino=#cmino#,totstudy=0
,stime=<include refid="sql.now"></include>,etime=null
,istatus=1,statustime=null,statusreason=null
where lectno=#lectno# and cmino=#cmino# and istatus is null;
insert into lectinning (lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,sip,eip,ispcs,ispce,<include refid="sql.inc"></include>)
select #lectno#,#cmino#,0,<include refid="sql.now"></include>,null,1,null,null,#uip#,null,1,null,<include refid="sql.inv"></include>
from (select 1 col1) a
left outer join lectinning b on b.lectno=#lectno# and b.cmino=#cmino#
where b.lectno is null;
update lect
set stime = case when stime is null then <include refid="sql.now"></include> else stime end
,sip = case when sip is null then #uip# else sip end
,ispcs = case when ispcs is null then 1 else ispcs end
where lectno=#lectno#
</update>
<update id="att.att.out" parameterClass="hashtable">
update lectinning set <include refid="sql.up"></include>
,totstudy=timestampdiff(SECOND, stime, <include refid="sql.now"></include>)
,etime=<include refid="sql.now"></include>
,eip=#uip#
,ispce=1
,istatus=2
where lectno=#lectno# and cmino=#cmino# and istatus=1;
update lect a
inner join (
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
from lectinning a
inner join cminning b on b.cmino=a.cmino and ifnull(b.isscd,0)=0
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
where a.lectno=#lectno# and a.cmino=#cmino# and a.istatus=2
group by a.lectno
) b on b.lectno=a.lectno
set a.attrate=b.attrate
,a.etime=<include refid="sql.now"></include>,a.eip=#uip#,a.ispce=1
</update>
<update id="att.abs" parameterClass="hashtable">
update lectinning
set istatus=2
,stime=case when stime is null then <include refid="sql.now"></include> else stime end
,etime=case when etime is null then <include refid="sql.now"></include> else etime end
,sip=case when sip is null then #uip# else sip end
,eip=case when eip is null then #uip# else eip end
,ispcs=case when ispcs is null then 1 else ispcs end
,ispce=case when ispce is null then 1 else ispce end
,statustime=<include refid="sql.now"></include>
,statusreason=#statusreason#
,statususerno=#uno#
where lectno=#lectno# and cmino=#cmino# and (istatus is null or istatus&lt;2);
insert into lectinning(lectno,cmino,totstudy,stime,etime,istatus,statustime,statusreason,statususerno,<include refid="sql.inc"></include>)
select a.lectno,#cmino#,0,<include refid="sql.now"></include>,<include refid="sql.now"></include>,2,<include refid="sql.now"></include>,#statusreason#,#uno#,<include refid="sql.inv"></include>
from lect a
left outer join lectinning b on b.lectno=a.lectno and b.cmino=#cmino#
where a.lectno=#lectno# and a.status=1 and a.ischanged=0 and b.lectno is null;
update lect a
inner join (
select a.lectno,convert(100*count(c.lectno)/count(b.cmino), int) attrate
from lectinning a
inner join lect a2 on a2.lectno=a.lectno
inner join cminning b on b.cmno=a2.cmno and ifnull(b.isscd,0)=0
left outer join lectinning c on c.lectno=a.lectno and c.cmino=b.cmino and c.istatus=2
where a.lectno=#lectno# and a.cmino=#cmino# and a.istatus=2
group by a.lectno
) b on b.lectno=a.lectno
set a.attrate=b.attrate
,a.stime=case when a.stime is null then <include refid="sql.now"></include> else a.stime end
,a.etime=case when a.etime is null then <include refid="sql.now"></include> else a.etime end
,a.sip=case when a.sip is null then #uip# else a.sip end
,a.eip=case when a.eip is null then #uip# else a.eip end
,a.ispcs=case when a.ispcs is null then 1 else a.ispcs end
,a.ispce=case when a.ispce is null then 1 else a.ispce end
where a.lectno=#lectno#
</update>
</statements>
</sqlMap>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,508 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/TR/xmlschema-1/" namespace="">
<alias>
<typeAlias alias="comment" type="NP.Model.Comment, NP.Model" />
<typeAlias alias="memo" type="NP.Model.Memo, NP.Model" />
<typeAlias alias="memouser" type="NP.Model.MemoUser, NP.Model" />
<typeAlias alias="basemodel" type="NP.Model.BaseModel, NP.Model" />
<typeAlias alias="emailsend" type="NP.Model.EmailSend, NP.Model" />
<typeAlias alias="smsauth" type="NP.Model.SmsAuth, NP.Model" />
</alias>
<cacheModels>
<cacheModel id="commonCache" implementation="LRU" >
<flushInterval hours="1" />
<property name="CacheSize" value="1000" />
</cacheModel>
</cacheModels>
<!--<parameterMaps>
</parameterMaps>-->
<resultMaps>
</resultMaps>
<statements>
<select id="common.check.loginkey" parameterClass="hashtable" resultClass="data">
select a.userno dtype
from users a
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
</select>
<select id="common.check.admin" parameterClass="hashtable" resultClass="data">
select a.userno dtype, a.udt time, count(b.mno) intval
from users a
left outer join memouser b on b.userno=a.userno and b.isread=0 and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
</select>
<select id="common.check.front" parameterClass="hashtable" resultClass="data">
select a.dtype,sum(a.intval) intval,sum(a.intval2) intval2
from (
select a.userno dtype,count(b.mno) intval,0 intval2
from users a
left outer join memouser b on b.userno=a.userno and b.isread=0 and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
group by a.userno
union all
select a.userno dtype,0 intval,count(b.userno) intval2
from users a
left outer join alarms b on b.userno=a.userno and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
group by a.userno
) a
group by a.dtype
</select>
<select id="common.check.frontcroom" parameterClass="hashtable" resultClass="data">
select a.dtype,sum(a.intval) intval,sum(a.intval2) intval2,sum(a.intval3) intval3,sum(a.intval4) intval4,sum(a.intval5) intval5
,sum(a.intval6) intval6,sum(a.intval7) intval7,sum(a.intval8) intval8,sum(a.intval9) intval9,sum(a.intval10) intval10
,sum(a.intval11) intval11,sum(a.intval12) intval12
,max(a.strval) strval,max(a.strval2) strval2,max(a.strval3) strval3
from (
select a.userno dtype,count(b.mno) intval,0 intval2,0 intval3,0 intval4,0 intval5
,0 intval6,0 intval7,0 intval8,0 intval9,0 intval10
,0 intval11,0 intval12
,null strval,null strval2,null strval3
from users a
left outer join memouser b on b.userno=a.userno and b.isread=0 and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
group by a.userno
union all
select a.userno dtype,0 intval,count(b.userno) intval2,0 intval3,0 intval4,0 intval5
,0 intval6,0 intval7,0 intval8,0 intval9,0 intval10
,0 intval11,0 intval12
,null strval,null strval2,null strval3
from users a
left outer join alarms b on b.userno=a.userno and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
union all
select a.userno dtype,0 intval,0 intval2,c.tyear intval3,c.tseq intval4,b.classno intval5
,b2.isplan intval6,b2.iscontent intval7,b2.isev intval8,b2.isrs intval9,b2.isgrade intval10
,b.cmno intval11,b.cshape intval12
,d.cgname strval,b.cname strval2
,group_concat(case when f.bmno is null then null else concat(f.bmno,':',f.bmname,':',f.bmtype) end separator ';') strval3
from users a0
inner join lect a on a.lectno=#lectno# and a.userno=a0.userno and a.status=1 and a.ischanged=0
inner join cm b on b.cmno=a.cmno
inner join cmmenu b2 on b2.cmno=b.cmno
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno
left outer join cmmenubm e on e.cmno=b.cmno
left outer join boardmaster f on f.bmno=e.bmno
where a0.userno=#userno# and (a0.loginkey=#loginkey# or #IsDupCheck#=0)
group by a.userno,b.cmno,c.tyear,c.tseq,b.classno
,b2.isplan,b2.iscontent,b2.isev,b2.isrs,b2.isgrade
,d.cgname,b.cname
) a
group by a.dtype
</select>
<select id="common.check.frontcroom.subdomain" parameterClass="hashtable" resultClass="data">
select a.*,b.asname strval4,c.fileurl
from (
select a.dtype,sum(a.intval) intval,sum(a.intval2) intval2,sum(a.intval3) intval3,sum(a.intval4) intval4,sum(a.intval5) intval5
,sum(a.intval6) intval6,sum(a.intval7) intval7,sum(a.intval8) intval8,sum(a.intval9) intval9,sum(a.intval10) intval10
,sum(a.intval11) intval11
,max(a.strval) strval,max(a.strval2) strval2,max(a.strval3) strval3
from (
select a.userno dtype,count(b.mno) intval,0 intval2,0 intval3,0 intval4,0 intval5
,0 intval6,0 intval7,0 intval8,0 intval9,0 intval10
,0 intval11
,null strval,null strval2,null strval3
from users a
left outer join memouser b on b.userno=a.userno and b.isread=0 and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
group by a.userno
union all
select a.userno dtype,0 intval,count(b.userno) intval2,0 intval3,0 intval4,0 intval5
,0 intval6,0 intval7,0 intval8,0 intval9,0 intval10
,0 intval11
,null strval,null strval2,null strval3
from users a
left outer join alarms b on b.userno=a.userno and b.isdel=0
where a.userno=#userno# and (a.loginkey=#loginkey# or #IsDupCheck#=0)
union all
select a.userno dtype,0 intval,0 intval2,c.tyear intval3,c.tseq intval4,b.classno intval5
,b2.isplan intval6,b2.iscontent intval7,b2.isev intval8,b2.isrs intval9,b2.isgrade intval10
,b.cmno intval11
,d.cgname strval,b.cname strval2
,group_concat(case when f.bmno is null then null else concat(f.bmno,':',f.bmname,':',f.bmtype) end separator ';') strval3
from users a0
inner join lect a on a.lectno=#lectno# and a.userno=a0.userno and a.status=1 and a.ischanged=0
inner join cm b on b.cmno=a.cmno
inner join cmmenu b2 on b2.cmno=b.cmno
inner join term c on c.tmno=b.tmno
inner join cg d on d.cgno=b.cgno
left outer join cmmenubm e on e.cmno=b.cmno
left outer join boardmaster f on f.bmno=e.bmno
where a0.userno=#userno# and (a0.loginkey=#loginkey# or #IsDupCheck#=0)
group by a.userno,b.cmno,c.tyear,c.tseq,b.classno
,b2.isplan,b2.iscontent,b2.isev,b2.isrs,b2.isgrade
,d.cgname,b.cname
) a
group by a.dtype
) a
inner join assign b on b.subdomain=#subdomain#
left outer join fileinfo c on c.fgno=b.sitelogo
</select>
<update id="common.comment.save" parameterClass="hashtable">
update cmt set <include refid="sql.up"></include>
,memo=#memo#
,memotype=case when cdepth=0 then #memotype# else memotype end
<isNotNull property="fgno" prepend=",">fgno=#fgno#</isNotNull>
where #cmtno# &lt;&gt;0 and cmtno=#cmtno#;
insert into cmt (cmttype,pcmtno,cdepth,tcmtno,baseno,memotype,memo,fgno,isdel,<include refid="sql.inc"></include>)
select #cmttype#,#pcmtno#
,case when #pcmtno# is null then 0 else b.cdepth+1 end
,case when #pcmtno# is null then null else case when b.cdepth=0 then b.cmtno else b.tcmtno end end
,#baseno#,case when #pcmtno# is null then #memotype# else null end,#memo#,#fgno#,0,<include refid="sql.inv"></include>
from (select 1 col1) a
left outer join cmt b on b.cmtno=#pcmtno#
where #cmtno#=0;
</update>
<select id="common.basecomments" parameterClass="hashtable" resultClass="comment">
select a.cmtno,a.pcmtno,a.tcmtno,a.baseno,a.cdepth,a.memo,a.memotype,a.fgno,a.cdt,a.udt, a.isdel,a.cno
,b.orgname, b.fileurl, b.fileno
,c.username
from cmt a
inner join users c on c.userno=a.cno
left outer join fileinfo b on b.fgno=a.fgno and b.isdel=0
where a.cmttype=#cmttype# and a.baseno=#baseno#
order by a.cdt desc
</select>
<update id="common.comment.delete" parameterClass="hashtable">
update cmt set isdel=1 where cmtno=#cmtno# and (#isadmin# is not null or cno=#cno#);
</update>
<select id="common.emailsends" parameterClass="hashtable" resultClass="emailsend">
select a.*
from (
select a.sendno,a.etitle,a.semail,a.fgno,a.cdt,a.rcvcount,a.readcount
,count(b.sendno) bancount
,c.username cnoname
,row_number() over(order by a.cdt desc) rno,count(a.cdt) over() pagetotalcount
from emailsend a
left outer join emailban b on b.sendno=a.sendno
inner join users c on c.userno=a.cno
where a.isdel=0
group by a.sendno,a.etitle,a.semail,a.fgno,a.cdt,a.rcvcount,a.readcount,c.username
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select>
<select id="common.emailsend.get" parameterClass="long" resultClass="emailsend">
select a.sendno,a.ehtml,a.etitle
from emailsend a
left outer join emailban b on b.sendno=a.sendno
where a.sendno=#sendno# and a.isdel=0
</select>
<select id="common.emailsend.get2" parameterClass="long" resultClass="emailsend">
select a.sendno,a.etitle,a.rcvs,ifnull(a.sendeds, ' ') sendeds,ifnull(group_concat(b.email separator ';'), ' ') bans
from emailsend a
left outer join emailban b on b.sendno=a.sendno
where a.sendno=#sendno# and a.isdel=0
group by a.sendno,a.rcvs,a.etitle,a.sendeds
</select>
<insert id="common.emailsend.in" parameterClass="hashtable">
insert into emailsend(etitle,semail,ehtml,fgno,cmno,rcvs,reademails,rcvcount,readcount,<include refid="sql.inc"></include>)
values (#etitle#,#semail#,#ehtml#,#fgno#,#cmno#,#rcvs#,#reademails#,#rcvcount#,#readcount#,<include refid="sql.inv"></include>)
<selectKey type="post" property="sendno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<select id="common.emailbanpool" parameterClass="string" resultClass="emailsend">
select email semail from emailbanpool where email in ($emails$)
</select>
<update id="common.emailsendok" parameterClass="hashtable">
update emailsend set isdel=0,readcount=#readcount#,sendeds=#sendeds# where sendno=#sendno#
</update>
<update id="common.emailban" parameterClass="emailsend">
insert into emailban(sendno,email,<include refid="sql.inc"></include>)
values
<iterate property="Ds" open="" conjunction="," close="">
(#sendno#,#Ds[].bans#,now(),#Ds[].uno#,now(),#Ds[].uno#,#Ds[].uip#)
</iterate>
</update>
<select id="common.list.rcv" parameterClass="hashtable" resultClass="memo">
select a.*
from (
select a.mno,a.userno,a.isread,a.cdt
,b.mtitle
,u.username sendusername
,u.usertype sendusertype
,u.userid senduserid
,CAST(AES_DECRYPT(UNHEX(u.email), <include refid="sql.digest"></include>) AS char) Email
, row_number() over(order by a.cdt desc) rno
, count(a.cdt) over() pagetotalcount
from memouser a
inner join memo b on b.mno=a.mno
left outer join users u on u.userno=b.cno
where a.isdel=0
<isNotNull property="userno">and a.userno=#userno#</isNotNull>
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select>
<select id="common.list.rcvnot" parameterClass="hashtable" resultClass="int">
select count(a.mno)
from memouser a
where a.userno=#userno# and and a.isread=0 and a.isdel=0
</select>
<update id="common.memo.alldeleteR" parameterClass="hashtable">
update memouser set isdel=1,<include refid="sql.up"></include> where userno=#uno#
</update>
<update id="common.memo.alldeleteS" parameterClass="hashtable">
update memo set isdel=1,<include refid="sql.up"></include> where cno=#uno#
</update>
<update id="common.memo.deleteR" parameterClass="hashtable">
update memouser set isdel=1,<include refid="sql.up"></include>
where userno=#uno#
<isNotNull property="mnos">and mno in ($mnos$)</isNotNull>
<isGreaterThan property="mno" compareValue="0">and mno=#mno#</isGreaterThan>
</update>
<update id="common.memo.deleteS" parameterClass="hashtable">
update memo set isdel=1,<include refid="sql.up"></include> where cno=#uno#
<isNotNull property="mnos">and mno in ($mnos$)</isNotNull>
<isGreaterThan property="mno" compareValue="0">and mno=#mno#</isGreaterThan>
</update>
<select id="common.list.send" parameterClass="hashtable" resultClass="memo">
select a.*
from (
select a.mno,a.mtitle,a.cdt,count(b.mno) mucount
, sum(b.isread) ccount
, row_number() over(order by a.cdt desc) rno
, count(b.cdt) over() pagetotalcount
from memo a
inner join memouser b on b.mno=a.mno
where a.isdel=0
<isNotNull property="userno">and a.cno=#userno#</isNotNull>
group by a.mno,a.mtitle,a.cdt
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select>
<update id="common.memo.insert" parameterClass="memo">
insert into memo (pmno,mtitle,mcontents,fgno,Isdel,<include refid="sql.inc"></include>)
values (#pmno#,#mtitle#,#mcontents#,#fgno#,0,<include refid="sql.now"></include>,#cno#,<include refid="sql.now"></include>,#uno#,#uip#);
insert into memouser (mno,userno,isread,isdel,<include refid="sql.inc"></include>)
select LAST_INSERT_ID(),userno,1,0,0,<include refid="sql.inv"></include>
from users where userno in ($usernos$) and isdel=0
</update>
<update id="common.memo.inserttousertype" parameterClass="memo">
insert into memo (pmno,mtitle,mcontents,fgno,isdel,<include refid="sql.inc"></include>)
values (#pmno#,#mtitle#,#mcontents#,#fgno#,0,<include refid="sql.now"></include>,#cno#,<include refid="sql.now"></include>,#uno#,#uip#);
insert into memouser (mno,userno,isread,isdel,<include refid="sql.inc"></include>)
select LAST_INSERT_ID(),userno,1,0,0,<include refid="sql.inv"></include>
from users
where usertype in ($usertype$) and isdel=0
</update>
<update id="common.memo.insertmulti" parameterClass="hashtable">
insert into memo (pmno,cmno,mtitle,mcontents,fgno,isdel,<include refid="sql.inc"></include>)
values (#pmno#,#cmno#,#mtitle#,#mcontents#,#fgno#,0,<include refid="sql.inv"></include>);
insert into memouser (mno,userno,isread,isdel,<include refid="sql.inc"></include>)
select LAST_INSERT_ID(), a.userno,0,0,<include refid="sql.inv"></include>
from users a
where a.userno in ($usernos$)
</update>
<select id="common.list.senddata" parameterClass="hashtable" resultClass="memo">
select a.mno,b.isread,a.cdt,b.rdate
,u.username,u.usertype sendusertype
,CAST(AES_DECRYPT(UNHEX(u.userid), <include refid="sql.digest"></include>) AS char) email
,u.userid zstring0
from memo a
inner join memouser b on b.mno=a.mno
left outer join users u on u.userno=b.userno
<dynamic prepend="where">
<isNotNull property="mno" prepend="and">a.mno=#mno#</isNotNull>
<isNotNull property="mnos" prepend="and">a.mno in ($mnos$)</isNotNull>
</dynamic>
order by a.mno
</select>
<select id="common.memo" parameterClass="hashtable" resultClass="memo">
<isNotNull property="readcheck">
update memouser set isread=1,rdate=now() where mno=#mno# and userno=#readuser#;
</isNotNull>
select a.mno,u.username cnoname,a.cdt,a.mtitle,a.mcontents,a.fgno,a.cno
,u.usertype
from memo a
left outer join users u on u.userno=a.cno
<isNotNull property="readuser">
inner join memouser b on b.mno=a.mno and b.userno=#readuser# and b.isdel=0
</isNotNull>
where a.mno=#mno# <isNotNull property="cno">and a.cno=#cno#</isNotNull>
</select>
<select id="common.memouser" parameterClass="hashtable" resultClass="memo">
<isNotNull property="userno">
update memouser set isread=1,rdate=<include refid="sql.now"></include> where mno=#mno# and userno=#userno#;
</isNotNull>
select a.mno,u.username,a.isread,a.rdate
from memouser a
left outer join users u on u.userno=a.userno
where a.mno=#mno# <isNotNull property="userno">and a.userno=#userno#</isNotNull>
order by u.username
</select>
<select id="common.talklist.send" parameterClass="hashtable" resultClass="memo">
select a.mno,b.mcontents,a.ACount,a.FTCount,a.SCount,a.LCount,a.MCount,a.ECount,a.ccount,b.cdt,c.username cnoname
from (
select a.mno,a.rno,a.pagetotalcount
,sum(case when b.isok=1 and b.smstype='A' then 1 else 0 end) ACount
,sum(case when b.isok=1 and b.smstype='FT' then 1 else 0 end) FTCount
,sum(case when b.isok=1 and b.smstype='S' then 1 else 0 end) SCount
,sum(case when b.isok=1 and b.smstype='L' then 1 else 0 end) LCount
,sum(case when b.isok=1 and b.smstype='M' then 1 else 0 end) MCount
,sum(case when b.isok &lt; 1 then 1 else 0 end) ECount
,count(b.mno) ccount
from (
select a.mno,a.rno,a.pagetotalcount
from (
select a.mno
, row_number() over(order by a.cdt desc) rno
, count(a.cdt) over() pagetotalcount
from sms a
where a.cno=#userno#
) a
<include refid="sql.pagedynamic"></include>
) a
inner join smsuser b on b.mno=a.mno
group by a.mno,a.rno,a.pagetotalcount
) a
inner join sms b on b.mno=a.mno
inner join users c on c.userno=b.cno
order by a.rno
</select>
<insert id="common.sms.in" parameterClass="hashtable">
insert into sms(cmno,mcontents,<include refid="sql.inc"></include>)
values (#cmno#,#mcontents#,<include refid="sql.inv"></include>);
<selectKey type="post" property="mno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<update id="common.smsuser.in" parameterClass="hashtable">
insert into smsuser (mno,userno,smstype,isok,msgid,message,<include refid="sql.inc"></include>)
values
<iterate property="Users" open="" conjunction="," close="">
(#mno#,#Users[].userno#,#Users[].smstype#,#Users[].isok#,#Users[].msgid#,#Users[].message#,now(),#uno#,now(),#uno#,#uip#)
</iterate>
</update>
<select id="common.smssend.get" parameterClass="long" resultClass="memouser">
select c.asname,b.usertype,b.username
,CAST(AES_DECRYPT(UNHEX(b.mobile), <include refid="sql.digest"></include>) AS char) mobile
,a.smstype,a.isok
,row_number() over(order by b.username) rno, count(a.cno) over() pagetotalcount
from smsuser a
inner join users b on b.userno=a.userno
left outer join assign c on c.asno=b.asno
where a.mno=#mno#
order by b.username
</select>
<select id="common.home" parameterClass="int" resultClass="data">
select b.cnt intval
,c.cnt0 intval2
,c.cnt1 intval3
,d.cnt intval4
,e.cnt intval5
,f.cnt intval6
,(SELECT COUNT(*) FROM userleave WHERE status = 0) intval7
from (select 1 col1) a
left outer join (select count(mno) cnt from memouser where userno=#userno# and isread=0 and isdel=0) b on 1=1
left outer join (
select sum(case when a.bmposition=0 then 1 else 0 end) cnt0,sum(case when a.bmposition=1 and b.cmno is not null then 1 else 0 end) cnt1
from boardmaster a
inner join board b on b.bmno=a.bmno and b.pbno is null and b.isdel=0 and b.isopen=1
left outer join board c on c.pbno=b.bno and c.isdel=0
where a.bmtype=2 and a.isopen=1 and c.bno is null and a.disptype=0
) c on 1=1
left outer join (
select count(a.rfdno) cnt
from payrfd a
left outer join pay b on b.payno = a.payno
where a.rstatus=0 and b.rstatus=0
<!--select sum(cnt) cnt
from (
select count(a.rfdno) cnt
from payrfd a
inner join payitem b on a.payno is not null and b.payno=a.payno and b.pstatus=1 and b.rstatus=0
where a.rstatus=0
union all
select count(a.rfdno) cnt
from payrfd a
inner join pay b on a.payno is null and b.payno=a.payno and b.pstatus=1 and b.rstatus=0
where a.rstatus=0
) a-->
) d on 1=1
left outer join (
select count(a.payno) cnt
from paydvr a
inner join pay b on b.payno=a.payno and b.pstatus=1 and b.rstatus=0
inner join payitem c on c.payno = b.payno
inner join book bb on bb.bkno=c.itemno
where a.dvrcode is null and a.isdvr=1
) e on 1=1
left outer join (
select count(a.payno) cnt
from paytax a
where a.ischeck=0
<!--inner join pay b on b.payno=a.payno and b.pstatus in (1,22) and b.rstatus &lt; 2
where a.taxdate is null and ifnull(a.iscancel,0) = 0-->
) f on 1=1
</select>
<update id="common.authkey.save" parameterClass="hashtable">
update authkey set jobkey=#jobkey#,randkey=#randkey#,keytime=date_add(now(), interval 1 minute)
where authtype=#authtype# and userno=#userno#;
insert into authkey (authtype,userno,jobkey,randkey,keytime)
select a.authtype,a.userno,a.jobkey,a.randkey,date_add(now(), interval 1 minute)
from (select #authtype# authtype,#userno# userno,#jobkey# jobkey,#randkey# randkey) a
left outer join authkey b on b.authtype=a.authtype and b.userno=a.userno
where b.authtype is null
</update>
<select id="common.authkey" parameterClass="hashtable" resultClass="string">
select jobkey
from authkey where authtype=#authtype# and userno=#userno# and randkey=#randkey# and keytime &gt; now()
</select>
<update id="common.authkey.set" parameterClass="data">
<isEqual property="dtype" compareValue="1">
update ct set authkey=#intval30# where ctno=#intval#
</isEqual>
<isEqual property="dtype" compareValue="2">
update question set authkey=#intval30# where qno=#intval#
</isEqual>
</update>
<select id="common.authkey.check1" parameterClass="hashtable" resultClass="data">
select ctno intval,ismenu intval2,ctype intval3,ccode strval
from ct
where ctno=#ctno# and authkey=#authkey#;
update ct set authkey=null where ctno=#ctno#
</select>
<select id="common.authkey.check2" parameterClass="hashtable" resultClass="data">
select qno intval
from question
where qno=#qno# and authkey=#authkey#;
update question set authkey=null where qno=#qno#
</select>
<insert id="common.smsauth" parameterClass="smsauth">
insert into smsauth(latime,lakey,lectno)
values(now(),#lakey#,#lectno#);
<selectKey type="post" property="authno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<insert id="common.smsauth2" parameterClass="smsauth">
insert into smsauth(latime,lakey,userno, lectno)
values(now(),#lakey#,#userno#, 0);
<selectKey type="post" property="authno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<select id ="common.sms.chk" parameterClass="hashtable" resultClass="data">
select authno intval,lectno intval2,latime time,lakey strval
from smsauth
where authno = #authno#
</select>
<update id="common.sms.extend" parameterClass="hashtable">
update smsauth
set latime = now()
where authno = #authno#
</update>
<insert id ="common.atalk.send" parameterClass="hashtable">
insert into MTS_ATALK_MSG (TRAN_SENDER_KEY,TRAN_TMPL_CD,TRAN_CALLBACK,TRAN_PHONE,TRAN_SUBJECT,TRAN_MSG,TRAN_DATE,TRAN_TYPE,TRAN_STATUS,TRAN_REPLACE_TYPE,TRAN_REPLACE_MSG)
values (#senderkey#,#method#,#SEND_PHONE#,#DEST_PHONE#,#title#,#MSG_BODY#,now(),5,'1',#replace_type#,#MSG_BODY#);
</insert>
</statements>
</sqlMap>

View File

@ -1,22 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/TR/xmlschema-1/" namespace="">
<alias>
<typeAlias alias="authgroup" type="NP.Model.AuthGroup, NP.Model" />
<typeAlias alias="userauth" type="NP.Model.UserAuth, NP.Model" />
<!--<typeAlias alias="privateview" type="NP.Model.PrivateView, NP.Model" />-->
</alias>
<cacheModels>
<cacheModel id="configCache" implementation="LRU" >
<flushInterval hours="1" />
<property name="CacheSize" value="1000" />
</cacheModel>
</cacheModels>
<!--<parameterMaps></parameterMaps>-->
<resultMaps></resultMaps>
<statements>
<update id="sys.error" parameterClass="hashtable">
insert into errors (errmsg,userno) values(#err#,#userno#)
</update>
</statements>
</sqlMap>

View File

@ -1,301 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/tr/xmlschema-1/" namespace="">
<alias>
</alias>
<cacheModels>
<cacheModel id="examCache" implementation="LRU" >
<flushInterval hours="1" />
<property name="CacheSize" value="1000" />
</cacheModel>
</cacheModels>
<resultMaps></resultMaps>
<statements>
<select id="exam.exams" parameterClass="hashtable" resultClass="exam">
select a.*
from (
select a.exno,a.cgno,a.exname,a.infee,a.outfee,a.certcc,a.certgradecc,a.gradename,a.rstime,a.retime
,a.fee
,a.estime,a.eetime
,a.certdate,a.certindate,a.elocation,a.introhtml
,a.isscored,a.isopen,a.fgno,a.isdel,a.isresultopen
,a.cdt,a.cno,a.udt,a.uno,a.uip
,a.pcgno
,a.cgname
,a.pcgname
,a.rno
,a.pagetotalcount
from (
select a.exno,a.cgno,a.exname,a.infee,a.outfee,a.certcc,a.certgradecc,a.gradename,a.rstime,a.retime
,a.fee
,a.estime,a.eetime
,a.certdate,a.certindate,a.elocation,a.introhtml
,a.isscored,a.isopen,a.fgno,a.isdel,a.isresultopen
,a.cdt,a.cno,a.udt,a.uno,a.uip
,a.pcgno
,a.cgname
,a.pcgname
,row_number() over(order by a.retime desc) rno
,count(a.exno) over() pagetotalcount
from (
select a.exno,a.cgno,a.exname,a.infee,a.outfee,a.certcc,a.certgradecc,d.cname gradename,a.rstime,a.retime
,case when ua.isjoin=1 then a.infee else a.outfee end fee
,a.estime,a.eetime
,a.certdate,a.certindate,a.elocation,a.introhtml
,a.isscored,a.isopen,a.fgno,a.isdel,a.isresultopen
,a.cdt,a.cno,a.udt,a.uno,a.uip
,b.pcgno pcgno
,b.cgname cgname
,c.cgname pcgname
,row_number() over(order by a.retime desc) rno
,count(a.exno) over() pagetotalcount
from exam a
inner join cg b on b.cgno=a.cgno
inner join cg c on c.cgno=b.pcgno
inner join comcode d on d.ccode = a.certgradecc
left outer join users u on u.userno=#userno#
left outer join assign ua on ua.asno=u.asno
where a.isdel = 0
) a
<dynamic prepend="where">
<isNotNull property="exno" prepend ="and">a.exno=#exno#</isNotNull>
<isNotNull property="pcgno" prepend ="and">a.pcgno=#pcgno#</isNotNull>
<isNotNull property="cgno" prepend ="and">a.cgno=#cgno#</isNotNull>
<isNotNull property="ename" prepend="and">a.exname like concat('%',#ename#,'%')</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen=1</isNotNull>
<isNotNull property="status" prepend="and">
<isEqual property="status" compareValue="0" >a.rstime &gt; now()</isEqual>
<isEqual property="status" compareValue="1" >now() &gt; a.rstime and now() &lt; a.retime</isEqual>
<isEqual property="status" compareValue="2" >now() &gt; a.retime and now() &lt; a.estime</isEqual>
<isEqual property="status" compareValue="3" >now() &gt; a.estime and a.isresultopen=0</isEqual>
<isEqual property="status" compareValue="4" >a.isscored=1 and a.isresultopen=1</isEqual>
</isNotNull>
</dynamic>
) a
<include refid="sql.pagedynamic"></include>
) a
order by a.retime desc
</select>
<insert id="exam.exam.in" parameterClass="exam">
insert into exam (cgno,exname,infee,outfee
,certcc,certgradecc,rstime,retime,estime,eetime
,elocation,certdate,certindate,introhtml
,isopen,isresultopen,isscored,fgno,isdel
,<include refid="sql.inc"></include>)
values (#cgno#,#exname#,#infee#,#outfee#
,#certcc#,#certgradecc#,#rstime#,#retime#,#estime#,#eetime#
,#elocation#,#certdate#,#certindate#,#introhtml#
,#isopen#,0,#isscored#,#fgno#,0
,<include refid="sql.inv"></include>)
<selectKey type="post" property="exno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<update id="exam.exam.up" parameterClass="exam">
update exam set <include refid="sql.up"></include>
,exname =#exname#
,infee =#infee#
,outfee =#outfee#
,certcc =#certcc#
,certgradecc =#certgradecc#
,rstime =#rstime#
,retime =#retime#
,estime =#estime#
,eetime =#eetime#
,elocation =#elocation#
,certdate =#certdate#
,certindate =#certindate#
,introhtml =#introhtml#
,isopen =#isopen#
,fgno =#fgno#
where exno=#exno#
</update>
<update id="exam.del" parameterClass="hashtable">
<!--update exam set isdel=1,uno=#uno#,uip=#uip# where exno=#exno#-->
update exam a
inner join (
select count(userno) cntuser, exno
from examuser
where exno = #exno#
group by exno
) b on b.exno=a.exno
set a.uip=#uip#
,a.uno=#uno#
,a.isdel = 1
where a.exno=#exno# and b.cntuser=0 and a.isdel=0;
</update>
<select id="exam.examusers" parameterClass="hashtable" resultClass="examuser">
select a.*
from (
select a.exno,a.userno,a.status,a.pstatus,a.epoint1,a.epoint2,a.epoint3,a.avrg
,a.ispass,a.certdate,a.certindate,a.cdt,a.cno,a.udt,a.uno,a.uip
,a.isscored,a.certcc,a.certgradecc
,a.username,a.userid,a.usernameeng,a.userpno
,a.asname
,a.rno
,a.pagetotalcount
,(a.countesame + a.countlsame) as countsame
from (
select a.exno,a.userno,a.status,a.pstatus,a.epoint1,a.epoint2,a.epoint3,a.avrg
,a.ispass,a.certdate,a.certindate,a.cdt,a.cno,a.udt,a.uno,a.uip
,b.isscored,b.certcc,b.certgradecc
,c.username,c.userid,c.usernameeng,CAST(AES_DECRYPT(UNHEX(c.userpno),<include refid="sql.digest"></include>) as char) userpno
,d.asname
,row_number() over(order by a.cdt desc) rno
,count(a.exno) over() pagetotalcount
,count(f.exno) countesame
,count(h.lectno) countlsame
from examuser a
inner join exam b on b.exno=a.exno
inner join users c on c.userno=a.userno and c.status = 1
left outer join assign d on d.asno = c.asno
left outer join exam e on e.certcc=b.certcc and e.certgradecc=b.certgradecc and e.exno&lt;&gt;b.exno
left outer join examuser f on f.exno=e.exno and f.userno=a.userno and f.pstatus=1 and f.ispass is not null
left outer join cm g on g.certcc = b.certcc and g.certgradecc=b.certgradecc
left outer join lect h on h.userno=a.userno and h.cmno=g.cmno and h.status&lt;5 and h.ischanged=0
<dynamic prepend="where">
<isNotNull property="exno" prepend ="and">a.exno=#exno#</isNotNull>
<isNotNull property="userno" prepend ="and">a.userno =#userno#</isNotNull>
<isNotNull property="usernos" prepend ="and">a.userno in ($usernos$)</isNotNull>
<isNotNull property="pstatus" prepend ="and">a.pstatus=#pstatus#</isNotNull>
<isNotNull property="pstatus24" prepend ="and">a.pstatus in(2,4)</isNotNull>
<isNotNull property="pstatus89" prepend ="and">a.pstatus in(8,9)</isNotNull>
<isNotNull property="username" prepend ="and">c.username=#pstatus#</isNotNull>
<isNotNull property="userid" prepend ="and">c.userid=#pstatus#</isNotNull>
<isNotNull property="certcc"><isGreaterThan compareValue="0" property="certcc" prepend ="and">b.certcc=#certcc#</isGreaterThan></isNotNull>
<isNotNull property="certgradecc"><isGreaterThan compareValue="0" property="certgradecc" prepend ="and">b.certgradecc=#certgradecc#</isGreaterThan></isNotNull>
<isNotNull property="certdate" prepend="and">
a.certindate &gt; #certdate#
</isNotNull>
<isNotNull property="certindate" prepend="and">
a.certindate &lt; #certindate#
</isNotNull>
<!--<isNotNull property="certdate" prepend="and">
<isNull property="certindate">
a.certdate &gt; #certdate#
</isNull>
<isNotNull property="certindate">
a.certdate &gt; #certdate# and a.certindate &lt; #certindate#
</isNotNull>
</isNotNull>-->
<isNotNull property="cnamelike">
<isNull property="searchcon" prepend="and">
(c.username like concat('%',#cnamelike#,'%') or c.userid like concat('%',#cnamelike#,'%'))
</isNull>
<isNotNull property="searchcon" prepend="and">
<isEqual property="searchcon" compareValue="1">c.username like concat('%',#cnamelike#,'%')</isEqual>
<isEqual property="searchcon" compareValue="2">c.userid like concat('%',#cnamelike#,'%')</isEqual>
</isNotNull>
</isNotNull>
<isNotNull property="ispass">
<isEqual property="ispass" prepend = "and" compareValue="-1">a.ispass is null</isEqual>
<isEqual property="ispass" prepend = "and" compareValue="1">a.ispass = 1</isEqual>
<isEqual property="ispass" prepend = "and" compareValue="0">a.ispass = 0</isEqual>
</isNotNull>
</dynamic>
group by a.exno,a.userno,a.status,a.pstatus,a.epoint1,a.epoint2,a.epoint3,a.avrg
,a.ispass,a.certdate,a.certindate,a.cdt,a.cno,a.udt,a.uno,a.uip
,b.isscored,b.certcc,b.certgradecc
,c.username,c.userid,c.usernameeng,userpno
,d.asname
<isNotNull property="resultview">
order by d.asname desc,c.username desc
</isNotNull>
) a
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select>
<update id="exam.examuser.save" parameterClass="hashtable">
insert ignore into examuser(exno,userno,status,pstatus,avrg,certdate,certindate,cdt,cno,udt,uno,uip)
values (#exno#,#userno#,#status#,#pstatus#,#avrg#,#certdate#,#certindate#,<include refid="sql.inv"></include>)
</update>
<update id="exam.examuser.del" parameterClass="hashtable">
insert into examuserdelbk(exno,userno,status,payno,pino,pstatus,epoint1,epoint2,epoint3,avrg,ispass,certdate,certindate,cdt,cno,udt,uno,uip)
select exno,userno,status,payno,pino,pstatus,epoint1,epoint2,epoint3,avrg,ispass,certdate,certindate,now(),cno,udt,uno,uip
from examuser a
where a.exno=#exno# and a.userno in ($usernos$) and a.pstatus in(4,8);
delete from examuser
where exno=#exno# and userno in (
select a.userno
from (
select a.userno
from examuser a
where a.exno=#exno# and a.userno in ($usernos$) and a.pstatus in(4,8)
) a
)
</update>
<update id="exam.examuser.regbatch" parameterClass="examuser">
insert into examuser(exno,userno,status,pstatus,avrg,certdate,certindate,cdt,cno,udt,uno,uip)
<iterate property="Ds" open="" conjunction="union all" close="">
select #exno# exno,#Ds[].userno# userno,#Ds[].status# status,#Ds[].pstatus# pstatus,#Ds[].avrg# avrg,#certdate# certdate,#certindate# certindate,now() cdt,#uno# cno,now() udt,#uno# uno,#uip# uip
</iterate>
</update>
<update id="exam.examuserbatch" parameterClass="examuser">
update examuser a
inner join (
<iterate property="Ds" open ="" conjunction="union all" close="">
select #exno# exno,#Ds[].userno# userno,#Ds[].epoint1# epoint1,#Ds[].epoint2# epoint2,#Ds[].epoint3# epoint3,#Ds[].avrg# avrg,#Ds[].ispass# ispass
</iterate>
) b on b.userno=a.userno
set a.epoint1=b.epoint1,a.epoint2=b.epoint2,a.epoint3=b.epoint3,a.avrg=b.avrg,a.ispass=b.ispass
,a.udt=now(),a.uno=#uno#,a.uip=#uip#
where a.exno=#exno#;
update exam set <include refid="sql.up"></include>,isscored=1 where exno=#exno#;
insert into examuserrenew (exno,userno,certtime,certdate,certindate,renewreason,certidx,isfirst,<include refid="sql.inc"></include>)
select a.exno,a.userno,now(),a2.certdate,a2.certindate,'시험합격',row_number() over (order by a.cdt) + ifnull(max(d.certidx), 0),1,<include refid="sql.inv"></include>
from examuser a
inner join exam a2 on a2.exno=a.exno
left outer join examuserrenew b on b.exno=a.exno and b.userno=a.userno
left outer join exam c on c.certcc=a2.certcc and c.certgradecc=a2.certgradecc
left outer join examuserrenew d on d.exno=c.exno and year(d.certtime)=year(a2.certdate)
where a.exno=#exno# and a.pstatus=1 and a.ispass=1 and b.exno is null
group by a.exno,a.userno,a2.certdate,a2.certindate
</update>
<update id="exam.examopen" parameterClass="hashtable">
update exam set <include refid="sql.up"></include>,isresultopen=#isresultopen# where exno=#exno#;
</update>
<select id="exam.examuserrenews" parameterClass="hashtable" resultClass="examuserrenew">
select a.exno,a.userno,a.certtime,a.certdate,a.certindate,a.renewreason,a.cdt,a.isfirst,a.certidx
,b.username,c.username cnoname
,row_number() over(order by a.certtime asc) rno
from examuserrenew a
inner join users b on b.userno = a.userno
left outer join users c on c.userno=a.cno
<dynamic prepend="where">
<isNotNull property="exno" prepend ="and">a.exno=#exno#</isNotNull>
<isNotNull property="userno" prepend ="and">a.userno=#userno#</isNotNull>
<isNotNull property="usernos" prepend ="and">a.userno in ($usernos$)</isNotNull>
</dynamic>
group by a.exno,a.userno,a.certtime,a.certdate,a.certindate,a.renewreason,a.cdt
,b.username
,c.username
<isNotNull property="isprint">
order by a.certtime asc
</isNotNull>
<isNull property="isprint">
order by a.certdate desc
<isNotNull property="orderby">
,a.certtime desc
</isNotNull>
</isNull>
</select>
<update id="exam.examuser.renew" parameterClass="hashtable">
update examuser set <include refid="sql.up"></include>,certdate=#certdate#,certindate=#certindate#
where exno=#exno# and userno=#userno#;
insert into examuserrenew (exno,userno,certtime,certdate,certindate,renewreason,isfirst,certidx,<include refid="sql.inc"></include>)
select a.exno,#userno#,now(),#certdate#,#certindate#,#renewreason#,0,max(a.certidx),now(),#uno#,now(),#uno#,#uip#
from(
select a.exno,ifnull(max(d.certidx), 0)+1 certidx
from examuser a
inner join exam a2 on a2.exno=a.exno
left outer join exam c on c.certcc=a2.certcc and c.certgradecc=a2.certgradecc
left outer join examuserrenew d on d.exno=c.exno and year(d.certtime)=year(a.certdate)
where a.exno=#exno#
group by a.exno,a.userno,a.certdate,a.certindate
) a
</update>
</statements>
</sqlMap>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,149 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/TR/xmlschema-1/" namespace="">
<alias>
<typeAlias alias="popup" type="NP.Model.Popup, NP.Model" />
<typeAlias alias="menupage" type="NP.Model.MenuPage, NP.Model" />
<typeAlias alias="banner" type="NP.Model.Banner, NP.Model" />
</alias>
<cacheModels><cacheModel id="manageCache" implementation="LRU" ><flushInterval hours="1" /><property name="CacheSize" value="1000" /></cacheModel></cacheModels>
<resultMaps></resultMaps>
<statements>
<select id="mm.comcode.glist" parameterClass="string" resultClass="comcode">
select cgroup, cgroup value, cgroupname, cgroupname text, count(cgroup) ccount, row_number() over(order by $rno$) rno
from comcode
<dynamic prepend="where">
<isNotNull property="isuse" prepend="and">isuse=#isuse#</isNotNull>
<isNotNull property="cgroups" prepend="and">cgroup in ($cgroups$)</isNotNull>
<isNotNull property="notcgroups" prepend="and">cgroup not in ($notcgroups$)</isNotNull>
</dynamic>
group by cgroup, cgroupname
<isNotNull property="orderby" prepend="order by">$orderby$</isNotNull>
order by rno
</select>
<update id="mm.comcode.insert" parameterClass="hashtable">
update comcode a
inner join (
select ccode, #corder# + row_number() over(order by corder) rno from comcode where cgroup=#cgroup# and corder &gt;=#corder#
) b on b.ccode=a.ccode
set a.corder=b.rno
where a.cgroup=#cgroup#;
insert into comcode (cname, cgroup, cgroupname, isuse, corder,<include refid="sql.inc"></include>)
select #cname#, #cgroup#, a.cgroupname, #isuse#, #corder#,<include refid="sql.inv"></include>
from comcode a
where a.cgroup=#cgroup#
limit 1
</update>
<update id="mm.comcode.update" parameterClass="hashtable">
<isGreaterThan property="corder" compareValue="-1">
update comcode a
inner join (
select b.ccode, #corder# + row_number() over(order by b.corder) rno
from comcode a
inner join comcode b on b.cgroup=a.cgroup and b.corder &gt;=#corder#
where a.ccode=#ccode#
) b on b.ccode=a.ccode
set a.corder=b.rno;
</isGreaterThan>
update comcode set <include refid="sql.up"></include>
<isNotNull property="cname">,cname=#cname#</isNotNull>
<isGreaterThan property="corder" compareValue="-1">,corder=#corder#</isGreaterThan>
<isGreaterThan property="isuse" compareValue="-1">,isuse=#isuse#</isGreaterThan>
where ccode=#ccode#
</update>
<update id="mm.comcode.groupupdate" parameterClass="hashtable">
update comcode set cgroupname=#cgroupname# where cgroup=#cgroup#
</update>
<select id="mm.banners" parameterClass="hashtable" resultClass="banner">
select a.bno,a.btitle,a.fgno,a.fgno2,a.bdesc,a.burl,a.ismain,a.bseq,a.isopen,a.udt
,b.fileurl,c.fileurl fileurl2
from banner a
left outer join fileinfo b on b.fgno=a.fgno and b.isdel=0
left outer join fileinfo c on c.fgno=a.fgno2 and c.isdel=0
<dynamic prepend="where">
<isNotNull property="bno" prepend="and">a.bno=#bno#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen=#isopen#</isNotNull>
<isNotNull property="ismain" prepend="and">a.ismain=#ismain#</isNotNull>
</dynamic>
order by a.isopen desc, a.bseq desc
</select>
<update id="mm.banner.save" parameterClass="hashtable">
update banner set <include refid="sql.up"></include>,btitle=#btitle#,bdesc=#bdesc#,burl=#burl#,ismain=0,bseq=#bseq#,isopen=#isopen#
,fgno=#fgno#,fgno2=#fgno2#
where #bno# &gt; 0 and bno=#bno#;
insert into banner(bno,btitle,fgno,fgno2,bdesc,burl,ismain,bseq,isopen,<include refid="sql.inc"></include>) select #bno#,#btitle#,#fgno#,#fgno2#,#bdesc#,#burl#,#ismain#,#bseq#,#isopen#,<include refid="sql.inv"></include> from (select 1 col1) a where #bno# = 0
</update>
<select id="mm.popups" parameterClass="hashtable" resultClass="popup">
select a.pno,a.ptitle,a.pcontents,a.toppx,a.leftpx,pwidth,pheight,a.purl,a.zindex,a.isopen,a.udt
from popup a
<dynamic prepend="where">
<isNotNull property="pno" prepend="and">a.pno=#pno#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen=#isopen#</isNotNull>
</dynamic>
order by a.isopen desc, a.zindex desc
</select>
<update id="mm.popup.save" parameterClass="hashtable">
update popup set <include refid="sql.up"></include>,ptitle =#ptitle#,pcontents=#pcontents#,toppx=#toppx#,leftpx=#leftpx#,pwidth=#pwidth#,pheight=#pheight#,purl=#purl#,zindex=#zindex#,isopen=#isopen# where #pno# &gt; 0 and pno=#pno#;
insert into popup (ptitle,pcontents,toppx,leftpx,pwidth,pheight,purl,zindex,isopen,<include refid="sql.inc"></include>) select #ptitle#,#pcontents#,#toppx#,#leftpx#,#pwidth#,#pheight#,#purl#,#zindex#,#isopen#,<include refid="sql.inv"></include> from (select 1 col1) a where #pno# = 0
</update>
<select id="mm.pages" parameterClass="hashtable" resultClass="menupage">
select a.pno,a.ppno,a.pdepth,a.pagetype,a.bmno,a.porder,a.pagename,a.pagedesc,a.pageurl,a.pagehtml,a.isopen,a.usertype,m1.pagename ppagename,a.refcode,a.imagecode,a.bgtitle bgtitle2,a.bgdesc bgdesc2
,case a.pdepth when 0 then a.pno when 1 then m1.pno when 2 then m2.pno when 3 then m3.pno else m4.pno end m0
,case a.pdepth when 0 then 0 when 1 then a.pno when 2 then m1.pno when 3 then m2.pno else m3.pno end m1
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then a.pno when 3 then m1.pno else m2.pno end m2
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then a.pno else m1.pno end m3
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then 0 else a.pno end m4
,case a.pdepth when 0 then a.imagecode when 1 then m1.imagecode when 2 then m2.imagecode when 3 then m3.imagecode else m4.imagecode end topimagecode
,case a.pdepth when 0 then a.bgtitle when 1 then m1.bgtitle when 2 then m2.bgtitle when 3 then m3.bgtitle else m4.bgtitle end bgtitle
,case a.pdepth when 0 then a.bgdesc when 1 then m1.bgdesc when 2 then m2.bgdesc when 3 then m3.bgdesc else m4.bgdesc end bgdesc
from menupage a
left outer join menupage m1 on m1.pno=a.ppno
left outer join menupage m2 on m2.pno=m1.ppno
left outer join menupage m3 on m3.pno=m2.ppno
left outer join menupage m4 on m4.pno=m3.ppno
<dynamic prepend="where">
<isNotNull property="pno" prepend="and">a.pno=#pno#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen &gt; 0</isNotNull>
</dynamic>
order by
case a.pdepth when 0 then a.porder when 1 then m1.porder when 2 then m2.porder when 3 then m3.porder else m4.porder end
,case a.pdepth when 0 then a.pno when 1 then m1.pno when 2 then m2.pno when 3 then m3.pno else m4.pno end
,case a.pdepth when 0 then 0 when 1 then a.porder when 2 then m1.porder when 3 then m2.porder else m3.porder end
,case a.pdepth when 0 then 0 when 1 then a.pno when 2 then m1.pno when 3 then m2.pno else m3.pno end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then a.porder when 3 then m1.porder else m2.porder end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then a.pno when 3 then m1.pno else m2.pno end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then a.porder else m1.porder end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then a.pno else m1.pno end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then 0 else a.porder end
,case a.pdepth when 0 then 0 when 1 then 0 when 2 then 0 when 3 then 0 else a.pno end
</select>
<update id="mm.menupage.save" parameterClass="hashtable">
update menupage set <include refid="sql.up"></include>
,pdepth =#pdepth#
,pagetype=#pagetype#
,bmno=#bmno#
,porder =#porder#
,pagename=#pagename#
,pagedesc=#pagedesc#
,pageurl =#pageurl#
,pagehtml=#pagehtml#
,isopen =#isopen#
,usertype=#usertype#
,refcode=#refcode#
,imagecode=#imagecode#
,bgtitle=#bgtitle#
,bgdesc=#bgdesc#
where #pno# &gt; 0 and pno =#pno#;
insert into menupage (pno,ppno,pdepth,pagetype,bmno,porder,pagename,pagedesc,pageurl,pagehtml,isopen,usertype,refcode,imagecode,bgtitle,bgdesc,<include refid="sql.inc"></include>)
select #pno#,#ppno#,#pdepth#,#pagetype#,#bmno#,#porder#,#pagename#,#pagedesc#,#pageurl#,#pagehtml#,#isopen#,#usertype#,#refcode#,#imagecode#,#bgtitle#,#bgdesc#,<include refid="sql.inv"></include>
from (select 1 col1) a
where #pno# &lt; 1
</update>
</statements>
</sqlMap>

File diff suppressed because it is too large Load Diff

View File

@ -1,101 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/tr/xmlschema-1/" namespace="">
<alias>
<!--<typeAlias alias="users.lect" type="NP.Model.Lect, NP.Model" />-->
</alias>
<cacheModels>
<cacheModel id="siteCache" implementation="LRU" >
<flushInterval hours="1" />
<property name="CacheSize" value="1000" />
</cacheModel>
</cacheModels>
<!--<parametermaps>
</parametermaps>-->
<resultMaps>
</resultMaps>
<statements>
<select id="site.main" parameterClass="hashtable" resultClass="data">
select *
from (
select 0 dtype
,a.cmno intval,a.isrefund intval2
,0 longval
,a.cname strval,b.cgname strval2,a.kname strval3,null strval4,null strval5,null strval6
,a.rstime time,a.retime time2,a.sstime time3,a.setime time4
from cm a
inner join cg b on b.cgno=a.cgno
inner join cg b2 on b2.cgno=b.pcgno and b2.cgcode=#offcode#
inner join cm c on c.cmno=a.pcmno
where a.ismaster=0 and a.rstime &lt; now() and a.retime &gt;= DATE_FORMAT(now(), '%Y%m%d') and a.isuse=1 and a.isdel=0
order by a.retime asc
limit 4
) a
union all
select *
from (
select a.dtype,a.intval,a.intval2
,a.longval
,a.strval,a.strval2,a.strval3,a.strval4,ifnull(a.strval5,d.fileurl) strval5,a.strval6
,a.time,a.time2,a.time3,a.time4
from (
select 1 dtype
,a.cmno intval,a.isrefund intval2
,0 longval
,a.cname strval,b.cgname strval2,c.cname strval3,concat('/', e.ccode, '/', f.srcp) strval4,ef.fileurl strval5,b.cgcode strval6
,a.rstime time,a.retime time2,a.sstime time3,a.setime time4
from cm a
inner join cg b on b.cgno=a.cgno
inner join cg b2 on b2.cgno=b.pcgno and b2.cgcode=#oncode#
inner join cm c on c.cmno=a.pcmno
left outer join cminning d on d.cmno=a.cmno and d.istaste=1
left outer join ct e on e.ctno=d.ctno <!--and e.ctype=0-->
left outer join fileinfo ef on ef.fgno=e.fgnothumb and ef.isdel=0
left outer join ctpage f on f.ctno=e.ctno and f.pseq=1
where a.ismaster=0 and a.rstime &lt; now() and a.retime &gt;= DATE_FORMAT(now(), '%Y%m%d') and a.cshape=0 and a.isuse=1 and a.isdel=0
order by a.retime asc
limit 4
) a
left outer join cminning b on a.strval5 is null and b.cmno=a.intval and b.iseq=1
left outer join ct c on a.strval5 is null and c.ctno=b.ctno
left outer join fileinfo d on a.strval5 is null and d.fgno=c.fgnothumb and d.isdel=0
) a
union all
select *
from (
select 2 dtype
,0 intval,0 intval2
,b.bno longval
,c.opname strval,b.subject strval2,null strval3,null strval4,null strval5,null strval6
,null time,null time2,null time3,null time4
from boardmaster a
inner join board b on b.bmno=a.bmno and b.pbno is null and b.isdel=0 and b.issecr=0 and b.isopen=1
left outer join boardmasteropening c on c.opno=b.opno
where a.bmcode='homenotice'
order by b.cdt desc
limit 2
) a
union all
select *
from (
select 3 dtype
,0 intval,0 intval2
,b.bno longval
,c.opname strval,b.subject strval2,null strval3,null strval4,null strval5,null strval6
,null time,null time2,null time3,null time4
from boardmaster a
inner join board b on b.bmno=a.bmno and b.pbno is null and b.isdel=0 and b.issecr=0 and b.isopen=1
left outer join boardmasteropening c on c.opno=b.opno
where a.bmcode='homefaq'
order by b.cdt desc
limit 2
) a
</select>
</statements>
</sqlMap>

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1,457 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<sqlMap xmlns="http://ibatis.apache.org/mapping" xmlns:xsi="http://www.w3.org/tr/xmlschema-1/" namespace="">
<alias>
<typeAlias alias="board" type="NP.Model.Board, NP.Model" />
<typeAlias alias="bm" type="NP.Model.BoardMaster, NP.Model" />
<typeAlias alias="bmo" type="NP.Model.BoardMasterOpening, NP.Model" />
<typeAlias alias="boardcmt" type="NP.Model.BoardCMT, NP.Model "/>
</alias>
<cacheModels>
<cacheModel id="boardcache" implementation="LRU" >
<flushInterval hours="1" />
<property name="CacheSize" value="1000" />
</cacheModel>
</cacheModels>
<resultMaps></resultMaps>
<statements>
<select id="board.bms" parameterClass="hashtable" resultClass="bm">
select a.*
from (
select a.bmno,a.bmcode,a.bmposition,a.bmname,a.bmdesc,a.bmtype,a.disptype,a.isuseopening,a.isreply,a.isopen,a.isdefault,a.cdt,a.udt
,a.bmno value,a.bmname text
,b.asno,b.asname
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt desc</isNull>) rno
,count(a.cno) over() pagetotalcount
from boardmaster a
left outer join assign b on b.asno=a.asno
<dynamic prepend="where">
<isNotNull property="bmno" prepend="and">a.bmno=#bmno#</isNotNull>
<isNotNull property="bmnos" prepend="and">a.bmno in ($bmnos$)</isNotNull>
<isNotNull property="bmposition" prepend="and">a.bmposition=#bmposition#</isNotNull>
<isNotNull property="bmtype" prepend="and">a.bmtype=#bmtype#</isNotNull>
<isNotNull property="disptype" prepend="and">a.disptype=#disptype#</isNotNull>
<isNotNull property="bmname" prepend="and">a.bmname=#bmname#</isNotNull>
<isNotNull property="bmcode" prepend="and">a.bmcode=#bmcode#</isNotNull>
<isNotNull property="isopen" prepend="and">a.isopen=#isopen#</isNotNull>
<isNotNull property="asno" prepend="and">a.asno=#asno#</isNotNull>
<isNotNull property="isdefaults" prepend="and">a.isdefault in ($isdefaults$)</isNotNull>
<isNotNull property="isdefault" prepend="and">a.isdefault =#isdefault#</isNotNull>
</dynamic>
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select>
<select id="board.bms.forassign" parameterClass="hashtable" resultClass="bm">
select a.*
from (
select a.bmno,a.bmcode,a.bmposition,a.bmname,a.bmdesc,a.bmtype,a.disptype,a.isuseopening,a.isreply,a.isopen,a.isdefault,a.cdt,a.udt
,a.bmno value,a.bmname text
,b.asno,b.asname
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">a.cdt desc</isNull>) rno
,count(a.cno) over() pagetotalcount
from assign a0
inner join boardmaster a on a.asno=a0.asno
<isNotNull property="isdefault">and a.isdefault=#isdefault#</isNotNull>
left outer join assign b on b.asno=a.asno
where a0.isdel=0
<isNotNull property="subdomain" prepend="and">a0.subdomain=#subdomain#</isNotNull>
) a
<include refid="sql.pagedynamic"></include>
order by a.rno
</select>
<select id="board.bmos" parameterClass="int" resultClass="bmo">
select a.opno,a.bmno,a.opname,a.isuse,a.dsort
,a.opno value,a.opname text
from boardmasteropening a
where a.bmno=#bmno# and a.isdel=0
order by a.dsort,a.cdt
</select>
<select id="board.check.bmcode" parameterClass="hashtable" resultClass="bm">
select a.bmno
from boardmaster a
<dynamic prepend="where">
<isNotNull property="bmnonot" prepend="and">a.bmno &lt;&gt; #bmnonot#</isNotNull>
<isNotNull property="bmcode" prepend="and">a.bmcode=#bmcode#</isNotNull>
</dynamic>
</select>
<insert id="board.bm.in" parameterClass="bm">
insert into boardmaster (bmcode,bmposition,bmname,bmdesc,bmtype,disptype,isuseopening,isreply,isopen,isdefault,<include refid="sql.inc"></include>)
values (#bmcode#,#bmposition#,#bmname#,#bmdesc#,#bmtype#,#disptype#,#isuseopening#,#isreply#,#isopen#,0,<include refid="sql.inv"></include>);
<selectKey type="post" property="bmno" resultClass="int">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<update id="board.bm.up" parameterClass="bm">
update boardmaster set <include refid="sql.up"></include>
,bmname =#bmname#
,bmdesc =#bmdesc#
,bmtype =case when isdefault&gt;0 then bmtype else #bmtype# end
,disptype =case when isdefault&gt;0 then disptype else #disptype# end
,isuseopening =#isuseopening#
,isreply =#isreply#
,isopen =case when isdefault&gt;0 then isopen else #isopen# end
where bmno=#bmno#
</update>
<update id="board.bd.read" parameterClass="int">
update board set rcount = rcount +1 where bno=#bno#
</update>
<update id="board.bmo.del" parameterClass="bm">
update boardmasteropening set isdel=1 where bmno=#bmno# <isNotNull property="opnosnot" prepend="and">opno not in ($opnosnot$)</isNotNull>
</update>
<update id="board.bmo.save" parameterClass="bm">
<isNotNull property="inquery">
insert into boardmasteropening (bmno,opname,isuse,isdel,dsort,cdt,cno,udt,uno,uip)
values $inquery$;
</isNotNull>
<isNotNull property="upquery">
update boardmasteropening a
inner join (
<iterate property="BMOs" open="" conjunction="union all" close="">
select #BMOs[].opno# opno, #BMOs[].opname# opname,#BMOs[].isuse# isuse,#BMOs[].dsort# dsort
</iterate>
) b on b.opno=a.opno
set a.opname=b.opname,a.isuse=b.isuse,a.dsort=b.dsort,udt=now(),uno=#uno#,uip=#uip#
where a.bmno=#bmno#
</isNotNull>
</update>
<update id="board.bmassign.save" parameterClass="hashtable">
update boardmaster set <include refid="sql.up"></include>,isopen=1 where bmno in (select bmno from (select bmno from boardmaster where asno=#asno# and isdefault=3) a);
insert into boardmaster (bmcode,bmposition,bmname,bmdesc,bmtype,disptype,isuseopening,isreply,isopen,isdefault,asno,<include refid="sql.inc"></include>)
select concat('assignnotice_',#asno#),0,'공지사항',null,0,0,0,1,1,3,#asno#,<include refid="sql.inv"></include>
from (select 1 col1) a
left outer join boardmaster b on b.asno=#asno# and b.isdefault=3
where b.bmno is null;
</update>
<update id="board.bmassign.save2" parameterClass="hashtable">
update boardmaster set <include refid="sql.up"></include>,isopen=0 where bmno in (select bmno from (select bmno from boardmaster where asno=#asno# and isdefault=3) a)
</update>
<!-- 커뮤니케이션 > 홈페이지 게시판 리스트-->
<select id="board.bs" parameterClass="hashtable" resultClass="board">
SELECT a.rno, a.pagetotalcount, a.pcno
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply, c.bmtype
, f.opname
, b.cno, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt, d.username cnoname, d.userid cnoid
, b.rcount, b.rpcount, b.fgno, b.fgnothumb, CASE WHEN #getcontents# IS NULL THEN '' ELSE b.contents END contents
, d.usertype
, g.fileurl
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END</isNull>) rno
, COUNT(a.cno) OVER() pagetotalcount, b2.cno pcno
FROM boardmaster a
INNER JOIN board b ON b.bmno = a.bmno
<isNotNull property="bno">AND b.bno = #bno#</isNotNull>
AND b.isdel = 0
<isNotNull property="opno">AND b.opno = #opno#</isNotNull>
<isNotNull property="isopen">AND b.isopen = #isopen#</isNotNull>
<isNotNull property="issecr">AND b.issecr = #issecr#</isNotNull>
<isNotNull property="opno">AND b.opno = #opno#</isNotNull>
<isNotNull property="isbase" prepend="AND">b.pbno IS NULL</isNotNull>
<isNotNull property="cno" prepend="AND">b.cno = #cno#</isNotNull>
<isNotNull property="cmno" prepend="AND">b.cmno = #cmno#</isNotNull>
<isNotNull property="bmposition" prepend="AND">a.bmposition = #bmposition#</isNotNull>
LEFT OUTER JOIN board b2 ON b.pbno IS NOT NULL AND b2.bno = b.pbno
INNER JOIN users c ON c.userno = b.cno
<dynamic prepend="WHERE">
<isNotNull property="bmno" prepend="AND">a.bmno = #bmno#</isNotNull>
<isNotNull property="asno" prepend="AND">a.asno = #asno#</isNotNull>
<isNotNull property="scc" prepend="AND">(b.subject LIKE CONCAT('%',#scc#,'%') OR b.contents LIKE CONCAT('%',#scc#,'%') OR c.username = #scc#)</isNotNull>
</dynamic>
) a
<include refid="sql.pagedynamic"></include>
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN fileinfo g ON g.fgno = b.fgnothumb AND g.isdel = 0
ORDER BY a.rno
</select>
<!-- 커뮤니케이션 > 홈페이지 게시판 리스트 중 미답변만 (메인 > 잔여 업무 요약에서 접근) -->
<select id="board.bsnoReplies" parameterClass="hashtable" resultClass="board">
SELECT a.rno, a.pagetotalcount, a.pcno
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply, c.bmtype
, f.opname
, b.cno, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt, d.username cnoname, d.userid cnoid
, b.rcount, b.rpcount, b.fgno, b.fgnothumb
, (CASE WHEN #getcontents# IS NULL THEN '' ELSE b.contents END) contents
, d.usertype
, g.fileurl
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END</isNull>) rno
, COUNT(a.cno) OVER() pagetotalcount, b2.cno pcno
FROM boardmaster a
INNER JOIN board b ON b.bmno = a.bmno AND b.isdel = 0
LEFT OUTER JOIN board b2 ON b.bno = b2.pbno AND b2.isdel = 0
INNER JOIN users c ON c.userno = b.cno
WHERE a.bmtype = 2
<isNotNull property="bmposition" prepend="AND">a.bmposition = #bmposition#</isNotNull>
AND a.isopen = 1
AND b.pbno IS NULL
AND b2.pbno IS NULL
AND a.disptype = 0
) a
<include refid="sql.pagedynamic"></include>
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN fileinfo g ON g.fgno = b.fgnothumb AND g.isdel = 0
ORDER BY a.rno
</select>
<select id="board.bs.bypbnos" parameterClass="string" resultClass="board">
select f.opname,a.bno,a.pbno,a.subject,a.cdt,b.username cnoname,a.rpcount,a.issecr,a.cno
,case when #getcontents# is null then '' else a.contents end contents
,b.usertype
from board a
inner join users b on b.userno=a.cno
left outer join boardmasteropening f on f.opno=a.opno
where a.pbno in ($pbnos$) and a.isopen=1 and a.isdel=0
</select>
<!-- 커뮤니케이션 > 강의실게시판 리스트 -->
<select id="board.roombs" parameterClass="hashtable" resultClass="board">
SELECT a.rno, a.pagetotalcount
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply
, f.opname
<!--,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.fgno,b.fgnothumb,b.cmno-->
, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt, d.username cnoname, d.userid cnoid, b.rcount, b.fgno, b.fgnothumb, b.cmno
, g.cname, g.classno
, h.tyear, h.tseq
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END</isNull>) rno
, COUNT(a.cno) OVER() pagetotalcount
FROM boardmaster a
INNER JOIN board b ON b.bmno = a.bmno AND b.isdel = 0 <isNotNull property="cmno">AND b.cmno = #cmno#</isNotNull>
LEFT OUTER JOIN board b2 ON b.pbno IS NOT NULL AND b2.bno = b.pbno
INNER JOIN users c ON c.userno = b.cno
INNER JOIN cm d ON d.cmno = b.cmno
INNER JOIN term e ON e.tmno = d.tmno <isNotNull property="tmno">AND d.tmno = #tmno#</isNotNull> <isNotNull property="tyear">AND e.tyear = #tyear#</isNotNull>
<isNotNull property="teacherno">
INNER JOIN cmprof cp ON cp.cmno = b.cmno AND cp.userno = #teacherno#
</isNotNull>
WHERE a.bmposition = 1
<isNotNull property="bmno" prepend="AND">a.bmno = #bmno#</isNotNull>
<isNotNull property="asno" prepend="AND">a.asno = #asno#</isNotNull>
<isNotNull property="scc" prepend="AND">(b.subject LIKE CONCAT('%',#scc#,'%') OR b.contents LIKE CONCAT('%',#scc#,'%') OR c.username = #scc#)</isNotNull>
) a
<include refid="sql.pagedynamic"></include>
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
INNER JOIN cm g ON g.cmno = b.cmno
INNER JOIN term h ON h.tmno = g.tmno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN board pb ON b.bno = pb.pbno AND pb.isdel = 0
ORDER BY a.rno
</select>
<!-- 커뮤니케이션 > 강의실게시판 리스트 중 미답변만 (메인 > 잔여 업무 요약에서 접근) -->
<select id="board.roombsnoReplies" parameterClass="hashtable" resultClass="board">
SELECT a.rno, a.pagetotalcount
, e.asname
, c.bmno, c.bmname, c.isuseopening, c.isreply
, f.opname
, b.bno, b.pbno, b.subject, b.istop, b.issecr, b.cdt
, d.username cnoname, d.userid cnoid
, b.rcount, b.fgno, b.fgnothumb, b.cmno
, g.cname, g.classno
, h.tyear, h.tseq
FROM (
SELECT a.*
FROM (
SELECT b.bno
, ROW_NUMBER() OVER(ORDER BY <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">b.istop DESC, CASE WHEN b.pbno IS NULL THEN b.cdt ELSE b2.cdt END DESC, CASE WHEN b.pbno IS NULL THEN 0 ELSE 1 END</isNull>) rno
, COUNT(a.cno) OVER() pagetotalcount
FROM boardmaster a
INNER JOIN board b ON a.bmno = b.bmno AND b.isdel = 0
LEFT OUTER JOIN board b2 ON b.bno = b2.pbno AND b2.isdel = 0
INNER JOIN users c ON c.userno = b.cno
INNER JOIN cm d ON d.cmno = b.cmno
WHERE a.bmposition = 1
AND a.bmtype = 2
AND a.isopen = 1
AND b.pbno IS NULL
AND b2.pbno IS NULL
AND a.disptype = 0
) a
<include refid="sql.pagedynamic"></include>
) a
INNER JOIN board b ON b.bno = a.bno
INNER JOIN boardmaster c ON c.bmno = b.bmno
INNER JOIN users d ON d.userno = b.cno
INNER JOIN cm g ON g.cmno = b.cmno
INNER JOIN term h ON h.tmno = g.tmno
LEFT OUTER JOIN assign e ON e.asno = c.asno
LEFT OUTER JOIN boardmasteropening f ON f.opno = b.opno
LEFT OUTER JOIN board pb ON b.bno = pb.pbno AND pb.isdel = 0
ORDER BY a.rno
</select>
<select id="board.get" parameterClass="long" resultClass="board">
select e.asname
,c.bmno,c.bmname,c.isuseopening,c.isreply,c.disptype,c.bmtype
,f.opname
,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.fgno,b.fgnothumb,b.opno,b.contents,b.isopen
,b2.subject psubject
,g.cmno,g.cname,g.classno
,h.tmno,h.tyear,h.tseq
,count(b3.bno) ccount
from board b
inner join boardmaster c on c.bmno=b.bmno
inner join users d on d.userno=b.cno
left outer join board b2 on b2.bno=b.pbno and b2.isdel=0
left outer join board b3 on b3.pbno=b.bno and b3.isdel=0
left outer join assign e on e.asno=c.asno
left outer join boardmasteropening f on f.opno=b.opno
left outer join cm g on g.cmno=b.cmno
left outer join term h on h.tmno=g.tmno
where b.bno=#bno#
group by e.asname
,c.bmno,c.bmname,c.isuseopening,c.isreply,c.disptype,c.bmtype
,f.opname
,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username,b.rcount,b.fgno,b.fgnothumb,b.opno,b.contents,b.isopen
,b2.subject
,g.cmno,g.cname,g.classno
,h.tmno,h.tyear,h.tseq
</select>
<select id="board.bcmt.cnt" parameterClass="hashtable" resultClass="board">
select a.bno,count(b.bcno) ccount
from board a
left outer join boardcmt b on b.bno=a.bno and b.isdel=0
<dynamic prepend="where">
<isNotNull property="bnos" prepend="and">a.bno in ($bnos$)</isNotNull>
</dynamic>
group by a.bno
</select>
<select id="board.boardcmts" parameterClass="long" resultClass="boardcmt">
select a.bcno,a.bno,a.ctext,a.isdel,a.cdt,a.udt,a.cno
,b.username cnoname,b.usertype
from boardcmt a
inner join users b on b.userno=a.cno
where a.bno=#bno# and a.isdel=0
order by a.cdt desc
</select>
<insert id="board.in" parameterClass="board">
insert into board (pbno,bmno,opno,subject,contents,fgno,fgnothumb,cmno,rcount,rpcount,isdel,istop,issecr,isopen,<include refid="sql.inc"></include>)
values (#pbno#,#bmno#,#opno#,#subject#,#contents#,#fgno#,#fgnothumb#,#cmno#,0,0,0,#istop#,#issecr#,#isopen#,<include refid="sql.inv"></include>);
<selectKey type="post" property="bno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<insert id="board.inp" parameterClass="board">
insert into board (pbno,bmno,opno,subject,contents,fgno,fgnothumb,cmno,rcount,rpcount,isdel,istop,issecr,isopen,<include refid="sql.inc"></include>)
select bno,bmno,opno,#subject#,#contents#,#fgno#,#fgnothumb#,cmno,0,0,0,0,#issecr#,#isopen#,<include refid="sql.inv"></include>
from board where bno=#pbno#;
<selectKey type="post" property="bno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<update id="board.up" parameterClass="board">
update board set <include refid="sql.up"></include>
,opno =case when pbno is null then #opno# else opno end
,subject =#subject#
,contents =#contents#
,fgno =#fgno#
,fgnothumb =#fgnothumb#
,istop =case when pbno is null then #istop# else istop end
,issecr =#issecr#
,isopen =#isopen#
where bno=#bno#
</update>
<update id="board.del" parameterClass="hashtable">
update board set <include refid="sql.up"></include>,isdel=1 where bno=#bno# <isNotNull property="cno">and cno=#cno#</isNotNull>
</update>
<insert id="board.boardcmt.in" parameterClass="boardcmt">
update board set rpcount = rpcount+1 where bno=#bno#;
insert into boardcmt (bno,ctext,isdel,<include refid="sql.inc"></include>)
values (#bno#,#ctext#,0,<include refid="sql.inv"></include>);
<selectKey type="post" property="bcno" resultClass="long">SELECT LAST_INSERT_ID()</selectKey>
</insert>
<update id="board.boardcmt.up" parameterClass="boardcmt">
update boardcmt set <include refid="sql.up"></include>
,ctext=#ctext#
where bcno=#bcno# <isGreaterThan property="cno" compareValue="0">and cno=#cno#</isGreaterThan>
</update>
<update id="board.boardcmt.del" parameterClass="hashtable">
update board a
inner join boardcmt b on b.bcno=#bcno# and a.bno=b.bno <isGreaterThan property="cno" compareValue="0">and b.cno=#cno#</isGreaterThan>
set a.rpcount = a.rpcount-1
where a.bno=b.bno;
update boardcmt set <include refid="sql.up"></include>,isdel=1 where bcno=#bcno# <isGreaterThan property="cno" compareValue="0">and cno=#cno#</isGreaterThan>
</update>
<select id="board.bs.forassign" parameterClass="hashtable" resultClass="board">
select a.rno,a.pagetotalcount
,e.asname
,c.bmno,c.bmname,c.isuseopening,c.isreply,c.bmtype
,f.opname
,b.cno,b.bno,b.pbno,b.subject,b.istop,b.issecr,b.cdt,d.username cnoname,b.rcount,b.rpcount,b.fgno,b.fgnothumb,case when #getcontents# is null then '' else b.contents end contents
,d.usertype
,g.fileurl
from (
select a.*
from (
select b.bno
,row_number() over(order by <isNotNull property="orderby">$orderby$</isNotNull><isNull property="orderby">b.istop desc,case when b.pbno is null then b.cdt else b2.cdt end desc,case when b.pbno is null then 0 else 1 end</isNull>) rno
,count(a.cno) over() pagetotalcount
from assign a0
inner join boardmaster a on a.asno=a0.asno
<isNotNull property="bmno" prepend="and">a.bmno=#bmno#</isNotNull>
<isNotNull property="asno" prepend="and">a.asno=#asno#</isNotNull>
<isNotNull property="isdefault">and a.isdefault=#isdefault#</isNotNull>
inner join board b on b.bmno=a.bmno
<isNotNull property="bno">and b.bno=#bno#</isNotNull>
and b.isdel=0
<isNotNull property="opno">and b.opno=#opno#</isNotNull>
<isNotNull property="isopen">and b.isopen=#isopen#</isNotNull>
<isNotNull property="issecr">and b.issecr=#issecr#</isNotNull>
<isNotNull property="opno">and b.opno=#opno#</isNotNull>
left outer join board b2 on b.pbno is not null and b2.bno=b.pbno
inner join users c on c.userno=b.cno
where a0.subdomain=#subdomain# and a0.isdel=0
<isNotNull property="scc" prepend="and">(b.subject like concat('%',#scc#,'%') or b.contents like concat('%',#scc#,'%') or c.username=#scc#)</isNotNull>
) a
<include refid="sql.pagedynamic"></include>
) a
inner join board b on b.bno=a.bno
<!--left outer join board b2 on b2.pbno=b.bno and b2.isdel=0-->
inner join boardmaster c on c.bmno=b.bmno
inner join users d on d.userno=b.cno
left outer join assign e on e.asno=c.asno
left outer join boardmasteropening f on f.opno=b.opno
left outer join fileinfo g on g.fgno=b.fgnothumb and g.isdel=0
order by a.rno
<isNotNull property="limit">limit $limit$</isNotNull>
</select>
<select id="board.bs.forqna" parameterClass="hashtable" resultClass="board">
select a.bno,a.pbno,a.subject,a.contents,a.cdt,a.fgno,f.opname,a.cdt,b.usertype,a.rcount
from board a
inner join users b on b.userno=a.cno
left outer join boardmasteropening f on f.opno=a.opno
where a.bno=#bno# and (a.cno=#cno# or b.usertype in (91,92))
union all
select a.bno,a.pbno,a.subject,a.contents,a.cdt,a.fgno,f.opname,a.cdt,b.usertype,a.rcount
from board a
inner join users b on b.userno=a.cno
left outer join boardmasteropening f on f.opno=a.opno
where a.pbno=#bno#
</select>
</statements>
</sqlMap>

View File

@ -1,41 +0,0 @@
<!--<?xml version="1.0" encoding="utf-8"?>-->
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<settings>
<setting useStatementNamespaces="false" />
<setting cacheModelsEnabled="true" />
<setting validateSqlMap="false" />
</settings>
<providers embedded="NP.Dao.MyBatis.providers.config, NP.Dao" />
<!-- Database connection information -->
<database>
<provider name="MySql" />
<!--실서버-->
<dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database;Connection Timeout=60;" />
</database>
<sqlMaps>
<sqlMap resource="./bin/Mybatis/Maps/User.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Common.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Config.xml" />
<sqlMap resource="./bin/Mybatis/Maps/System.xml" />
<sqlMap resource="./bin/Mybatis/Maps/CM.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Lect.xml" />
<sqlMap resource="./bin/Mybatis/Maps/board.xml" />
<sqlMap resource="./bin/Mybatis/Maps/manage.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Pay.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Exam.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Grade.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Attend.xml" />
<sqlMap resource="./bin/Mybatis/Maps/CRoom.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Site.xml" />
</sqlMaps>
</sqlMapConfig>

View File

@ -1,42 +0,0 @@
<!--<?xml version="1.0" encoding="utf-8"?>-->
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<settings>
<setting useStatementNamespaces="false" />
<setting cacheModelsEnabled="true" />
<setting validateSqlMap="false" />
</settings>
<providers embedded="NP.Dao.MyBatis.providers.config, NP.Dao" />
<!-- Database connection information -->
<database>
<provider name="MySql" />
<!--실서버 원격접속(개발자)-->
<!--<dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database" />-->
<dataSource name="mysqlcon" connectionString="Server=118.219.255.222;Database=lmsynicte;User ID=ynicteadmin;Password=ynicte@Database;Connect Timeout=40" />
</database>
<sqlMaps>
<sqlMap resource="./bin/Mybatis/Maps/User.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Common.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Config.xml" />
<sqlMap resource="./bin/Mybatis/Maps/System.xml" />
<sqlMap resource="./bin/Mybatis/Maps/CM.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Lect.xml" />
<sqlMap resource="./bin/Mybatis/Maps/board.xml" />
<sqlMap resource="./bin/Mybatis/Maps/manage.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Pay.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Exam.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Grade.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Attend.xml" />
<sqlMap resource="./bin/Mybatis/Maps/CRoom.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Site.xml" />
</sqlMaps>
</sqlMapConfig>

View File

@ -1,41 +0,0 @@
<!--<?xml version="1.0" encoding="utf-8"?>-->
<sqlMapConfig xmlns="http://ibatis.apache.org/dataMapper" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<settings>
<setting useStatementNamespaces="false" />
<setting cacheModelsEnabled="true" />
<setting validateSqlMap="false" />
</settings>
<providers embedded="NP.Dao.MyBatis.providers.config, NP.Dao" />
<!-- Database connection information -->
<database>
<provider name="MySql" />
<!--테스트서버-->
<dataSource name="mysqlcon" connectionString="Server=218.232.111.111; Port=3306;Database=lmsynicte;User ID=ynicteadmin;password=dev1@#" />
</database>
<sqlMaps>
<sqlMap resource="./bin/Mybatis/Maps/User.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Common.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Config.xml" />
<sqlMap resource="./bin/Mybatis/Maps/System.xml" />
<sqlMap resource="./bin/Mybatis/Maps/CM.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Lect.xml" />
<sqlMap resource="./bin/Mybatis/Maps/board.xml" />
<sqlMap resource="./bin/Mybatis/Maps/manage.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Pay.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Exam.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Grade.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Attend.xml" />
<sqlMap resource="./bin/Mybatis/Maps/CRoom.xml" />
<sqlMap resource="./bin/Mybatis/Maps/Site.xml" />
</sqlMaps>
</sqlMapConfig>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@ -1,11 +0,0 @@
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-12.0.0.0" newVersion="12.0.0.0" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

File diff suppressed because it is too large Load Diff

Binary file not shown.

Binary file not shown.

Some files were not shown because too many files have changed in this diff Show More