<%@ Page
Language="VB"%>
<%@ Import
Namespace="PagosSpreadSheet"
%>
<!DOCTYPE html PUBLIC
"-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
Protected Sub Page_Load(ByVal
sender As Object,
ByVal e As
EventArgs)
If Not Page.IsPostBack Then
'Prepare
"Current age" input
For
i As Integer =
0 To 65
DdlCurrent_Age.Items.Add(i.ToString())
Next
DdlCurrent_Age.SelectedValue =
"36"
'Prepare
"Desired retirement age" input
For
i As Integer =
45 To 85
DdlDesired_Retirement_Age.Items.Add(i.ToString())
Next
DdlDesired_Retirement_Age.SelectedValue
= "80"
End If
End Sub
Public Sub BtnCalculate_Click(ByVal
sender As Object,
ByVal e As
EventArgs)
'Create an
instance of the application
Dim
app As New
Application()
'Open
retirement workbook
app.Workbooks.Open(Server.MapPath("Spreadsheets/Retirement/Retirement.xls"))
'Load
workbook
Dim
wb As Workbook = app.Workbooks("Retirement.xls")
'Set input
values
wb.Names("Current_Age").Range.Value
= Integer.Parse(DdlCurrent_Age.SelectedValue)
wb.Names("Desired_Retirement_Age").Range.Value
= Integer.Parse(DdlDesired_Retirement_Age.SelectedValue)
wb.Names("Monthly_savings").Range.Value
= Integer.Parse(TxtMonthly_savings.Text)
wb.Names("Annual_Investment_growth_rate").Range.Value
= Double.Parse(TxtAnnual_Investment_growth_rate.Text)
wb.Names("Annual_Salary_Increase_Rate").Range.Value
= Double.Parse(TxtAnnual_Salary_Increase_Rate.Text)
'Display
output
LblRetirement_Nest_Egg.Text = String.Format("{0:C}",
wb.Names("Retirement_Nest_Egg").Range.Value)
Lblduration.Text = wb.Names("duration").Range.Value.ToString()
HTOutput.Visible = True
End Sub
</script>
<html xmlns="http://www.w3.org/1999/xhtml"
>
<head runat="server">
<title>Retirement</title>
<style type="text/css">
TD, INPUT, SELECT
{
font-family:
Arial;
font-size:
10pt;
}
TABLE#HTInput,
#HTOutput
{
border-top:solid 1px #C0C0C0;
border-left:solid 1px #C0C0C0;
}
TABLE#HTInput
TD, TABLE#HTOutput
TD
{
border-bottom:solid 1px #C0C0C0;
border-right:solid 1px #C0C0C0;
}
TABLE#HTOutput
TD
{
background-color:#CCCCFF;
}
</style>
</head>
<body>
<form id="form1" runat="server">
<div>
<table border="0" cellpadding="0" cellspacing="0" width="600" id="HTInput" runat="server">
<tr>
<td style="width: 328px">
Current Age
</td>
<td>
<asp:DropDownList ID="DdlCurrent_Age"
runat="server">
</asp:DropDownList></td>
</tr>
<tr>
<td style="width: 328px">
Desired Retirement
Age
</td>
<td>
<asp:DropDownList ID="DdlDesired_Retirement_Age"
runat="server">
</asp:DropDownList></td>
</tr>
<tr>
<td style="width: 328px">
Monthly savings
</td>
<td>
<asp:TextBox ID="TxtMonthly_savings"
runat="server">100</asp:TextBox>
<asp:RangeValidator ID="RVTxtMonthly_savings"
runat="server"
ControlToValidate="TxtMonthly_savings"
Display="None"
ErrorMessage="Montly
savings must be in between 1 and 100000"
MaximumValue="100000"
MinimumValue="1"
SetFocusOnError="True"
Type="Integer"></asp:RangeValidator>
<asp:RequiredFieldValidator
ID="RfvTxtMonthly_savings"
runat="server"
ControlToValidate="TxtMonthly_savings"
Display="None"
ErrorMessage="Please
enter montly savings" SetFocusOnError="True"></asp:RequiredFieldValidator></td>
</tr>
<tr>
<td style="width: 328px">
Annual
Investment growth rate (between 0-1)
</td>
<td>
<asp:TextBox ID="TxtAnnual_Investment_growth_rate"
runat="server">0,05</asp:TextBox><asp:RequiredFieldValidator
ID="RfvTxtAnnual_Investment_growth_rate"
runat="server"
ControlToValidate="TxtAnnual_Investment_growth_rate"
Display="None"
ErrorMessage="Please
enter annual investment growth " SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RVTxtAnnual_Investment_growth_rate"
runat="server"
ControlToValidate="TxtAnnual_Investment_growth_rate"
Display="None"
ErrorMessage="Annual
investment growth must be in between 0
and 1"
MaximumValue="1"
MinimumValue="0"
SetFocusOnError="True"
Type="Double"></asp:RangeValidator></td>
</tr>
<tr>
<td style="width: 328px">
Annual Salary
Increase Rate (between 0-1)
</td>
<td>
<asp:TextBox ID="TxtAnnual_Salary_Increase_Rate"
runat="server">0,05</asp:TextBox><asp:RequiredFieldValidator
ID="RfvTxtAnnual_Salary_Increase_Rate"
runat="server"
ControlToValidate="TxtAnnual_Salary_Increase_Rate"
Display="None"
ErrorMessage="Please
enter annual salary increase rate" SetFocusOnError="True"></asp:RequiredFieldValidator>
<asp:RangeValidator ID="RVTxtAnnual_Salary_Increase_Rate"
runat="server"
ControlToValidate="TxtAnnual_Salary_Increase_Rate"
Display="None"
ErrorMessage="Annual
salary increase rate must be in between 0 and 1"
MaximumValue="1"
MinimumValue="0"
SetFocusOnError="True"
Type="Double"></asp:RangeValidator></td>
</tr>
<tr>
<td style="width: 328px">
</td>
<td>
</td>
</tr>
<tr>
<td style="width: 328px">
<asp:ValidationSummary ID="VSRetirement" runat="server" ShowMessageBox="True"
ShowSummary="False"
/>
</td>
<td>
<asp:Button ID="BtnCalculate"
runat="server"
Text="Calculate"
OnClick="BtnCalculate_Click"
/></td>
</tr>
</table>
<br />
<table border="0" cellpadding="0" cellspacing="0" width="600" id="HTOutput" runat="server" visible="false">
<tr>
<td style="width: 328px">
Retirement Nest Egg
in $
</td>
<td>
<asp:Label ID="LblRetirement_Nest_Egg"
runat="server"
Font-Bold="True"></asp:Label></td>
</tr>
<tr>
<td style="width: 328px; height: 19px;">
Duration (max 100
years)
</td>
<td style="height: 19px">
<asp:Label ID="Lblduration"
runat="server"
Font-Bold="True"></asp:Label></td>
</tr>
</table>
</div>
</form>
</body>
</html>