You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

397 lines
21 KiB

  1. <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Manage.aspx.cs" Inherits="Swift.web.Remit.AgentRiskProfiling.Manage" %>
  2. <%@ Register Assembly="AjaxControlToolkit" Namespace="AjaxControlToolkit" TagPrefix="cc1" %>
  3. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  4. <html xmlns="http://www.w3.org/1999/xhtml">
  5. <head id="Head1" runat="server">
  6. <base id="Base1" target="_self" runat="server" />
  7. <link href="../../ui/bootstrap/css/bootstrap.min.css" rel="stylesheet" />
  8. <link href="../../ui/font-awesome/css/font-awesome.min.css" rel="stylesheet" />
  9. <link href="../../ui/css/style.css" rel="stylesheet" />
  10. <script src="../../js/swift_grid.js" type="text/javascript"> </script>
  11. <script src="../../js/functions.js" type="text/javascript"> </script>
  12. <script src="../../js/swift_calendar.js" type="text/javascript"></script>
  13. <link href="../../js/jQuery/jquery-ui.css" rel="stylesheet" type="text/css" />
  14. <script src="../../js/jQuery/jquery.min.js" type="text/javascript"></script>
  15. <script src="../../js/jQuery/jquery-ui.min.js" type="text/javascript"></script>
  16. <script src="../../js/swift_autocomplete.js" type="text/javascript"></script>
  17. <script type="text/javascript" language="javascript">
  18. function LoadCalendars() {
  19. ShowCalFromToUpToToday("#<% =assessementdate.ClientID%>");
  20. }
  21. LoadCalendars();
  22. function CallBackSave(errorCode, msg, url) {
  23. if (msg != '')
  24. alert(msg);
  25. if (errorCode == '0') {
  26. RedirectToIframe(url);
  27. }
  28. }
  29. function RedirectToIframe(url) {
  30. window.open(url, "_self");
  31. }
  32. function validateDataGrid() {
  33. try {
  34. var i = 0;
  35. var totalScore = 0;
  36. var execute = true;
  37. while (execute) {
  38. var txtScore = 'riskProfiling_txtScore_' + i.toString();
  39. //var txtMin = 'riskProfiling_txtMinScore_' + i.toString();
  40. //var txtMax = 'riskProfiling_txtMaxScore_' + i.toString();
  41. if (document.getElementById(txtScore)) {
  42. var score = document.getElementById(txtScore).value;
  43. if (score == "")
  44. score = "0";
  45. // if (Math.abs(score) <= 0) {
  46. // alert('Score value is required field and must be greater than zero.');
  47. // return false;
  48. // }
  49. i++;
  50. }
  51. else
  52. execute = false;
  53. }
  54. }
  55. catch (e) {
  56. alert('Error: -' + e.message);
  57. }
  58. }
  59. function CalculateScore() {
  60. var scoringCriteria = document.getElementById('hdnscoringCriteria').value.split(':');
  61. try {
  62. var i = 0;
  63. var totalScore = 0;
  64. var execute = true;
  65. while (execute) {
  66. var txtScore = 'riskProfiling_txtScore_' + i.toString();
  67. var txtMin = 'riskProfiling_txtMinScore_' + i.toString();
  68. var txtMax = 'riskProfiling_txtMaxScore_' + i.toString();
  69. if (document.getElementById(txtScore) && document.getElementById(txtMin) && document.getElementById(txtMax)) {
  70. var score = document.getElementById(txtScore).value;
  71. var minScore = document.getElementById(txtMin).value;
  72. var maxScore = document.getElementById(txtMax).value;
  73. if (score == "")
  74. score = "0";
  75. if (minScore == "")
  76. minScore = "0";
  77. if (maxScore == "")
  78. maxScore = "0";
  79. //alert('Score:' + score.toString() + 'Min:' + minScore.toString() + 'Max:' + maxScore.toString());
  80. if ((Math.abs(score) >= Math.abs(minScore) && Math.abs(maxScore) >= Math.abs(score)) || Math.abs(score) == 0) {
  81. totalScore = Math.abs(totalScore) + Math.abs(score);
  82. }
  83. else {
  84. alert('Score value must not be less than ' + minScore + ' and greater than ' + maxScore + '');
  85. document.getElementById(txtScore).value = '';
  86. document.getElementById(txtScore).focus();
  87. }
  88. i++;
  89. }
  90. else
  91. execute = false;
  92. }
  93. document.getElementById('riskProfiling_txtScoreTotal').value = Math.abs(totalScore);
  94. try {
  95. // scoringCriteria[0]='4'
  96. // scoringCriteria[1]='Low'
  97. // scoringCriteria[2]='10'
  98. // scoringCriteria[3]='Medium'
  99. // scoringCriteria[4]='11'
  100. // scoringCriteria[5]='High'
  101. var scCriteria = "";
  102. var scColor = "";
  103. if (Math.abs(totalScore <= Math.abs(scoringCriteria[0]))) {
  104. scCriteria = scoringCriteria[1];
  105. scColor = "#87a96b";
  106. }
  107. else if (Math.abs(totalScore <= Math.abs(scoringCriteria[2]))) {
  108. scCriteria = scoringCriteria[3];
  109. scColor = "#a1caf1";
  110. }
  111. else if (Math.abs(totalScore > Math.abs(scoringCriteria[2]))) {
  112. scCriteria = scoringCriteria[5];
  113. scColor = "#fd5e53";
  114. }
  115. document.getElementById('riskProfiling_txtRiskCategory').value = scCriteria;
  116. document.getElementById('riskProfiling_txtRiskCategory').style.backgroundColor = scColor;
  117. }
  118. catch (e) {
  119. document.getElementById('riskProfiling_txtRiskCategory').value = "";
  120. document.getElementById('riskProfiling_txtRiskCategory').style.backgroundColor = "";
  121. }
  122. }
  123. catch (e) {
  124. alert('Error: -' + e.message);
  125. }
  126. }
  127. </script>
  128. </head>
  129. <body>
  130. <form id="form1" runat="server">
  131. <asp:ScriptManager ID="ScriptManager1" runat="server">
  132. </asp:ScriptManager>
  133. <div class="page-wrapper">
  134. <div class="row">
  135. <div class="col-sm-12">
  136. <div class="page-title">
  137. <h1></h1>
  138. <ol class="breadcrumb">
  139. <li><a href="../../../Front.aspx" target="mainFrame"><i class="fa fa-home"></i></a></li>
  140. <li><a href="#" onclick="return LoadModule('remit')">Agent Risk Profiling</a></li>
  141. <li class="active"><a href="#" onclick="return LoadModule('remit_compliance')">Manage</a></li>
  142. </ol>
  143. </div>
  144. </div>
  145. </div>
  146. <div class="listtabs">
  147. <ul class="nav nav-tabs">
  148. <li><a href="List.aspx">List</a></li>
  149. <li class="active"><a href="#">Manage </a></li>
  150. </ul>
  151. </div>
  152. <div class="tab-content" id="trNew" runat="server">
  153. <div role="tabpanel" class="tab-pane active" id="list">
  154. <div class="row">
  155. <div class="col-md-12">
  156. <div class="panel panel-default recent-activites">
  157. <!-- Start .panel -->
  158. <div class="panel-heading">
  159. <h4 class="panel-title">Add New Agent Risk Profiling
  160. </h4>
  161. <div class="panel-actions">
  162. <a href="#" class="panel-action panel-action-toggle" data-panel-toggle></a>
  163. </div>
  164. </div>
  165. <div class="panel-body">
  166. <div class="form-group">
  167. <asp:Label ID="lblMsg" runat="server" Font-Bold="True" ForeColor="Red" Text=""></asp:Label>
  168. </div>
  169. <div class="form-group">
  170. <label class="control-label" for="">
  171. Agent:<span class="errormsg">*</span>
  172. </label>
  173. <asp:TextBox ID="agent" runat="server" CssClass="form-control" Width="30%"></asp:TextBox>
  174. <asp:HiddenField ID="hddAgentId" runat="server" />
  175. </div>
  176. <div class="form-group">
  177. <label class="control-label" for="">
  178. Assessement Date:<span class="errormsg">*</span>
  179. <asp:RequiredFieldValidator ID="rqassessementDate" runat="server" ControlToValidate="assessementdate"
  180. ForeColor="Red" ValidationGroup="agent" Display="Dynamic" ErrorMessage="Required!">
  181. </asp:RequiredFieldValidator>
  182. </label>
  183. <asp:TextBox ID="assessementdate" runat="server" class="dateField form-control" Width="30%"
  184. size="12"></asp:TextBox>
  185. </div>
  186. <div class="form-group">
  187. <asp:Button ID="btnSaveAgent" runat="server" Text="Save" CssClass="btn btn-primary" ValidationGroup="agent" Width="100px"
  188. OnClick="btnSaveAgent_Click" />
  189. </div>
  190. </div>
  191. </div>
  192. </div>
  193. </div>
  194. </div>
  195. </div>
  196. <div class="tab-content" id="trRiskProfiling" runat="server">
  197. <div role="tabpanel" class="tab-pane active">
  198. <div class="row">
  199. <div class="col-md-12">
  200. <div class="panel panel-default recent-activites">
  201. <!-- Start .panel -->
  202. <div class="panel-heading">
  203. <h4 class="panel-title">Score Agent Risk Profiling
  204. </h4>
  205. <div class="panel-actions">
  206. <a href="#" class="panel-action panel-action-toggle" data-panel-toggle></a>
  207. </div>
  208. </div>
  209. <div class="panel-body">
  210. <div class="form-group">
  211. <asp:Label ID="Label1" runat="server" Font-Bold="True" ForeColor="Red" Text=""></asp:Label>
  212. </div>
  213. <div class="form-group">
  214. <label class="control-label" for="">
  215. AGENT RISK PROFILING
  216. </label>
  217. </div>
  218. <div class="form-group">
  219. <asp:HiddenField ID="hdnscoringCriteria" runat="server" />
  220. <asp:DataGrid ID="riskProfiling" CssClass="table table-responsive" runat="server" AutoGenerateColumns="False"
  221. AllowSorting="false" CellPadding="3" BackColor="White" ShowFooter="true" OnItemDataBound="riskProfiling_ItemDataBound"
  222. DataKeyField="criteriaId" ItemStyle-BorderStyle="None" ItemStyle-BorderWidth="0">
  223. <SelectedItemStyle Font-Bold="True" ForeColor="White"></SelectedItemStyle>
  224. <AlternatingItemStyle></AlternatingItemStyle>
  225. <ItemStyle Font-Size="Smaller"></ItemStyle>
  226. <HeaderStyle Font-Bold="True" ForeColor="White" BackColor="Silver"></HeaderStyle>
  227. <Columns>
  228. <asp:TemplateColumn HeaderText="&nbsp;&nbsp;&nbsp;Criteria" HeaderStyle-Width="200px">
  229. <HeaderStyle ForeColor="White"></HeaderStyle>
  230. <ItemTemplate>
  231. &nbsp;&nbsp;<asp:Label ID="lblCriteria" runat="server"></asp:Label>
  232. </ItemTemplate>
  233. <FooterTemplate>
  234. &nbsp;&nbsp;<asp:Label ID="lblTotalScore" runat="server" Text="Total Score"></asp:Label>
  235. </FooterTemplate>
  236. </asp:TemplateColumn>
  237. <%--<asp:TemplateColumn HeaderText="Minimum" HeaderStyle-Width="0px">
  238. <HeaderStyle ForeColor="White"></HeaderStyle>
  239. <ItemTemplate>
  240. <asp:TextBox ID="txtMinScore" runat="server"></asp:TextBox>
  241. </ItemTemplate>
  242. </asp:TemplateColumn>
  243. <asp:TemplateColumn HeaderText="Maximum" HeaderStyle-Width="0px">
  244. <HeaderStyle ForeColor="White"></HeaderStyle>
  245. <ItemTemplate>
  246. <asp:TextBox ID="txtMaxScore" runat="server"></asp:TextBox>
  247. </ItemTemplate>
  248. </asp:TemplateColumn>--%>
  249. <asp:TemplateColumn HeaderText="&nbsp;&nbsp;&nbsp;Score" HeaderStyle-Width="90px">
  250. <HeaderStyle ForeColor="White"></HeaderStyle>
  251. <ItemTemplate>
  252. &nbsp;&nbsp;<asp:TextBox ID="txtScore" runat="server" MaxLength="10"
  253. Style='text-align: right;'> 0.00</asp:TextBox>
  254. <asp:TextBox ID="txtMinScore" Style="display: none;" runat="server"></asp:TextBox>
  255. <asp:TextBox ID="txtMaxScore" Style="display: none;" runat="server"></asp:TextBox>
  256. </ItemTemplate>
  257. <FooterTemplate>
  258. &nbsp;&nbsp;<asp:TextBox ID="txtScoreTotal" CssClass="form-control" TabIndex="1000" Style="text-align: right"
  259. runat="server">0.00</asp:TextBox>
  260. </FooterTemplate>
  261. </asp:TemplateColumn>
  262. <asp:TemplateColumn HeaderText="&nbsp;&nbsp;&nbsp;Remarks" HeaderStyle-Width="380px">
  263. <HeaderStyle ForeColor="White"></HeaderStyle>
  264. <ItemTemplate>
  265. &nbsp;&nbsp;<asp:TextBox ID="txtRemarks" TextMode="MultiLine" MaxLength="51" runat="server"
  266. Style='text-align: left;'> </asp:TextBox>
  267. </ItemTemplate>
  268. <FooterTemplate>
  269. &nbsp;&nbsp;<asp:Label ID="lblRiskCategory" runat="server" Style="text-align: center; vertical-align: middle;"
  270. Text="Risk Category"></asp:Label>
  271. &nbsp;&nbsp;
  272. <asp:TextBox ID="txtRiskCategory" TabIndex="1000" Style="text-align: center; vertical-align: middle;"
  273. Width="60px" BorderStyle="None" runat="server"></asp:TextBox>
  274. </FooterTemplate>
  275. </asp:TemplateColumn>
  276. </Columns>
  277. <PagerStyle Font-Size="Smaller" HorizontalAlign="Right" CssClass="GridPager" Mode="NumericPages"></PagerStyle>
  278. </asp:DataGrid>
  279. </div>
  280. <div class="form-group" id="trReviewercomment" runat="server">
  281. <label class="control-label" for="">
  282. Reviewer's Comment:
  283. </label>
  284. <asp:TextBox ID="reviewersComment" runat="server" TextMode="MultiLine" Width="515px"
  285. CssClass="required form-control"></asp:TextBox>
  286. </div>
  287. <div class="form-group" id="trReviewerdetails" runat="server">
  288. <div id="reviewDetails" runat="server">
  289. </div>
  290. </div>
  291. <div class="form-group">
  292. <asp:Button ID="btnSaveRiskProfiling" runat="server" Text="Save" CssClass="btn btn-primary" OnClientClick="return validateDataGrid();"
  293. OnClick="btnSaveRiskProfiling_Click" />
  294. <asp:Button ID="btnSaveReview" runat="server" Text="Save Review" CssClass="btn btn-primary"
  295. OnClick="btnSaveReview_Click" />
  296. <%--<cc1:ConfirmButtonExtender ID="ConfirmButtonExtender1" runat="server" ConfirmText="Confirm To Save ?"
  297. Enabled="True" TargetControlID="bntSubmit">
  298. </cc1:ConfirmButtonExtender>--%>
  299. </div>
  300. </div>
  301. </div>
  302. </div>
  303. </div>
  304. </div>
  305. </div>
  306. </div>
  307. </form>
  308. </body>
  309. <script type="text/javascript">
  310. function Autocomplete() {
  311. var urla = "../../Autocomplete.asmx/GetAgentListForRiskProfiling";
  312. $("#agent").autocomplete({
  313. source: function (request, response) {
  314. $.ajax({
  315. type: "POST",
  316. contentType: "application/json; charset=utf-8",
  317. url: urla,
  318. data: "{'keywordStartsWith':'" + request.term + "'}",
  319. dataType: "json",
  320. async: true,
  321. success: function (data) {
  322. response(
  323. $.map(data.d, function (item) {
  324. return {
  325. value: item.Value,
  326. key: item.Key
  327. };
  328. }));
  329. window.parent.resizeIframe();
  330. },
  331. error: function (result) {
  332. alert("Due to unexpected errors we were unable to load data");
  333. }
  334. });
  335. },
  336. minLength: 1,
  337. select: function (event, ui) {
  338. var value = ui.item.value;
  339. var key = ui.item.key;
  340. // SetValueById("agentUserList_agentName", value, "");
  341. var result = ui.item.value.split("|");
  342. var res = ui.item.value;
  343. SetValueById("<%=hddAgentId.ClientID %>", key, "");
  344. }
  345. });
  346. }
  347. Autocomplete();
  348. </script>
  349. </html>