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.
 
 
 
 
 

246 lines
13 KiB

<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="CalculateMargin.aspx.cs" Inherits="Swift.web.Remit.ExchangeRate.ExRateTreasury.CalculateMargin" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
<script src="../../../js/functions.js" type="text/javascript"></script>
<link href="../../../css/rateCss.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
function getRadioCheckedValue(radioName) {
var oRadio = document.forms[0].elements[radioName];
for (var i = 0; i < oRadio.length; i++) {
if (oRadio[i].checked) {
return oRadio[i].value;
}
}
return '';
}
function OnSwitchCalType() {
var calType = getRadioCheckedValue("calType");
if(calType == "custRate") {
SetValueById("<%=customerRate.ClientID %>", GetValue("<%=hddCustomerRate.ClientID %>"), "");
}
else if(calType == "agentRate") {
SetValueById("<%=customerRate.ClientID %>", GetValue("<%=hddAgentRate.ClientID %>"), "");
}
}
function CalcSendHoMargin() {
var toleranceOn = GetElement("toleranceOn").innerHTML;
var cRate = GetElement("cRate").innerHTML == "" ? 0 : parseFloat(GetElement("cRate").innerHTML);
var cMargin = GetElement("cMargin").innerHTML == "" ? 0 : parseFloat(GetElement("cMargin").innerHTML);
var cHoMargin = GetValue("<%=cHoMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=cHoMargin.ClientID %>"));
var cAgentMargin = GetValue("<%=cAgentMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=cAgentMargin.ClientID %>"));
var cOffer = cRate + cMargin + cHoMargin;
var cCustomerOffer = cRate + cMargin + cHoMargin + cAgentMargin;
var pRate = GetElement("pRate").innerHTML == "" ? 0 : parseFloat(GetElement("pRate").innerHTML);
var pMargin = GetElement("pMargin").innerHTML == "" ? 0 : parseFloat(GetElement("pMargin").innerHTML);
var pHoMargin = GetValue("<%=pHoMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=pHoMargin.ClientID %>"));
var pAgentMargin = GetValue("<%=pAgentMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=pAgentMargin.ClientID %>"));
var pOffer = pRate - pMargin - pHoMargin;
var pCustomerOffer = pRate - pMargin - pHoMargin - pAgentMargin;
var customerRate = GetValue("<%=customerRate.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=customerRate.ClientID %>"));
var calType = getRadioCheckedValue("calType");
var agentCrossRateMargin = GetValue("<%=agentCrossRateMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=agentCrossRateMargin.ClientID %>"));
if (calType == "custRate") {
if (toleranceOn == "C") {
customerRate = customerRate + agentCrossRateMargin;
cOffer = pOffer / customerRate;
cOffer = roundNumber(cOffer, 6);
cHoMargin = cOffer - cRate - cMargin;
cHoMargin = roundNumber(cHoMargin, 10);
cCustomerOffer = cOffer;
}
else {
cCustomerOffer = pCustomerOffer / customerRate;
cCustomerOffer = roundNumber(cCustomerOffer, 6);
cOffer = cCustomerOffer - cAgentMargin;
cOffer = roundNumber(cOffer, 6);
cHoMargin = cOffer - cRate - cMargin;
cHoMargin = roundNumber(cHoMargin, 10);
}
}
else if(calType == "agentRate") {
cOffer = pOffer / customerRate;
cOffer = roundNumber(cOffer, 6);
cHoMargin = cOffer - cRate - cMargin;
cHoMargin = roundNumber(cHoMargin, 10);
cCustomerOffer = cOffer;
}
GetElement("cCustomerOffer").innerHTML = cCustomerOffer;
GetElement("cAgentOffer").innerHTML = cOffer;
GetElement("<%=cHoMargin.ClientID %>").value = cHoMargin;
}
function CalcReceiveHoMargin() {
var toleranceOn = GetElement("toleranceOn").innerHTML;
var cRate = GetElement("cRate").innerHTML == "" ? 0 : parseFloat(GetElement("cRate").innerHTML);
var cMargin = GetElement("cMargin").innerHTML == "" ? 0 : parseFloat(GetElement("cMargin").innerHTML);
var cHoMargin = GetValue("<%=cHoMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=cHoMargin.ClientID %>"));
var cAgentMargin = GetValue("<%=cAgentMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=cAgentMargin.ClientID %>"));
var cOffer = cRate + cMargin + cHoMargin;
var cCustomerOffer = cRate + cMargin + cHoMargin + cAgentMargin;
var pRate = GetElement("pRate").innerHTML == "" ? 0 : parseFloat(GetElement("pRate").innerHTML);
var pMargin = GetElement("pMargin").innerHTML == "" ? 0 : parseFloat(GetElement("pMargin").innerHTML);
var pHoMargin = GetValue("<%=pHoMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=pHoMargin.ClientID %>"));
var pAgentMargin = GetValue("<%=pAgentMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=pAgentMargin.ClientID %>"));
var pOffer = pRate - pMargin - pHoMargin;
var pCustomerOffer = pRate - pMargin - pHoMargin - pAgentMargin;
var customerRate = GetValue("<%=customerRate.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=customerRate.ClientID %>"));
var calType = getRadioCheckedValue("calType");
var agentCrossRateMargin = GetValue("<%=agentCrossRateMargin.ClientID %>") == "" ? 0 : parseFloat(GetValue("<%=agentCrossRateMargin.ClientID %>"));
if (calType == "custRate") {
if (toleranceOn == "C") {
customerRate = customerRate + agentCrossRateMargin;
pOffer = cOffer * customerRate;
pOffer = roundNumber(pOffer, 6);
pHoMargin = (pRate - pMargin) - pOffer;
pHoMargin = roundNumber(pHoMargin, 10);
pCustomerOffer = pOffer;
}
else {
pCustomerOffer = cCustomerOffer * customerRate;
pCustomerOffer = roundNumber(pCustomerOffer, 6);
pOffer = pCustomerOffer + pAgentMargin;
pOffer = roundNumber(pOffer, 6);
pHoMargin = (pRate - pMargin) - pOffer;
pHoMargin = roundNumber(pHoMargin, 10);
}
}
else if(calType == "agentRate") {
pOffer = cOffer * customerRate;
pOffer = roundNumber(pOffer, 6);
pHoMargin = (pRate - pMargin) - pOffer;
pHoMargin = roundNumber(pHoMargin, 10);
pCustomerOffer = pOffer;
}
GetElement("pCustomerOffer").innerHTML = pCustomerOffer;
GetElement("pAgentOffer").innerHTML = pOffer;
GetElement("<%=pHoMargin.ClientID %>").value = pHoMargin;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
<table>
<tr>
<td>
<table>
<tr>
<th colspan="2">Sending Rate</th>
</tr>
<tr>
<td class="tdhorate">Cost</td>
<td class="tdhorate" id="cRate" runat="server"></td>
</tr>
<tr>
<td class="tdhorate">Margin(I)</td>
<td class="tdhorate" id="cMargin" runat="server"></td>
</tr>
<tr>
<td class="tdhorate">Margin</td>
<td class="tdhorate">
<asp:TextBox ID="cHoMargin" runat="server" Style="text-align: right;"></asp:TextBox>
</td>
</tr>
<tr>
<td class="tdsendagentrate">Agent Offer</td>
<td class="tdsendagentrate" id="cAgentOffer" runat="server"></td>
</tr>
<tr>
<td class="tdsendagentrate">Agent Margin</td>
<td class="tdsendagentrate">
<asp:TextBox ID="cAgentMargin" runat="server" Style="text-align: right;"></asp:TextBox>
</td>
</tr>
<tr>
<td class="tdsendagentrate">Customer Offer</td>
<td class="tdsendagentrate" id="cCustomerOffer" runat="server"></td>
</tr>
</table>
</td>
<td>
<table>
<tr>
<th colspan="2">Receiving Rate</th>
</tr>
<tr>
<td class="tdhorate">Cost</td>
<td class="tdhorate" id="pRate" runat="server"></td>
</tr>
<tr>
<td class="tdhorate">Margin(I)</td>
<td class="tdhorate" id="pMargin" runat="server"></td>
</tr>
<tr>
<td class="tdhorate">Margin</td>
<td class="tdhorate">
<asp:TextBox ID="pHoMargin" runat="server" Style="text-align: right;"></asp:TextBox>
</td>
</tr>
<tr>
<td class="tdsendagentrate">Agent Offer</td>
<td class="tdsendagentrate" id="pAgentOffer" runat="server"></td>
</tr>
<tr>
<td class="tdsendagentrate">Agent Margin</td>
<td class="tdsendagentrate">
<asp:TextBox ID="pAgentMargin" runat="server" Style="text-align: right;"></asp:TextBox>
</td>
</tr>
<tr>
<td class="tdsendagentrate">Customer Offer</td>
<td class="tdsendagentrate" id="pCustomerOffer" runat="server"></td>
</tr>
</table>
</td>
</tr>
<tr>
<td>Tolerance On :
<span id="toleranceOn" runat="server"></span>
</td>
<td>Cross Rate Margin :
<asp:TextBox ID="agentCrossRateMargin" runat="server" Width="100px" Style="text-align: right;"></asp:TextBox>
</td>
</tr>
<tr>
<td>
<input type="radio" id="calAgentRate" value="agentRate" name="calType" onclick="OnSwitchCalType()" />Agent Rate
<input type="radio" id="calCustomerRate" value="custRate" name="calType" checked="checked" onclick="OnSwitchCalType()" />Customer Rate
</td>
</tr>
<tr>
<td>
<asp:TextBox ID="customerRate" runat="server" Style="text-align: right;"></asp:TextBox>
</td>
</tr>
<tr>
<td valign="top">
<input type="button" value="Calculate Send HO Margin" onclick="CalcSendHoMargin()" /><br />
<asp:HiddenField ID="hddCustomerRate" runat="server" />
<asp:HiddenField ID="hddAgentRate" runat="server" />
</td>
<td valign="top">
<input type="button" value="Calculate Receive HO Margin" onclick="CalcReceiveHoMargin()" />
</td>
</tr>
</table>
</div>
</form>
</body>
</html>