
Crear la calculadora de hipotecas
Para el tutorial creará una página que herede de la clase MobilePage y que contenga una sencilla calculadora de hipotecas. La calculadora pide al usuario que escriba el importe del préstamo, un plazo en años y la tasa de interés. La calculadora puede determinar la cuota mensual de ese préstamo.
En este tutorial utilizará controles del espacio de nombres System.Web.Mobile que están diseñados específicamente para dispositivos en los que no se puede mostrar tanta información como en un explorador de escritorio. En su lugar, los controles presentan la información en vistas independientes entre las que los usuarios pueden cambiar.
Para comenzar, eliminará la página Default.aspx y creará una página móvil para sustituirla.
Para agregar una página móvil
-
Haga clic con el botón secundario del mouse (ratón) en la página Default.aspx en el Explorador de soluciones y elija Eliminar.
-
Haga clic en Aceptar en el cuadro de diálogo.
-
En el Explorador de soluciones, haga clic con el botón secundario del mouse (ratón) en la aplicación y elija Agregar nuevo elemento.
-
Elija Formulario Mobile Web Forms, debajo de Plantillas instaladas de Visual Studio.
-
Asigne a la página Web móvil el nombre MobileCalculator.aspx y, a continuación, haga clic en Agregar.
Se crea una página Web que hereda de la clase MobilePage y se agrega al sitio Web.
Ahora que tiene una página móvil, agregará controles que permitan a los usuarios escribir información de hipotecas.
Para agregar controles que permitan escribir información de hipotecas
-
En la página MobileCalculator.aspx que ha creado en el último procedimiento, asegúrese de que está en la vista Diseño.
Verá un control Form con el nombre predeterminado form1.
-
Arrastre controles desde la carpeta Formularios Mobile Web Forms del Cuadro de herramientas hasta form1 y establezca sus propiedades como se indica en la tabla siguiente.
|
Control
|
Valores de propiedades
|
| Label | ID = HeadingLabel Text = Calculadora de préstamos |
| TextBox | ID = PrincipalText Text = Principal |
| TextBox | ID = TermText Text = Plazo en años |
| TextBox | ID = RateText Text = Tasa anual |
| Command | ID = Calcular Text = Calcular |
Después de haber creado el control Form en el que los usuarios escriben información sobre sus préstamos, creará otro control Form que mostrará los resultados.
Para crear un formulario que muestre el resultado del cálculo de la hipoteca
-
Desde la carpeta Formularios Mobile Web Forms del Cuadro de herramientas, arrastre un control Form hasta la superficie de diseño.
Se asigna al control Form el id. predeterminado de Form2.
-
Arrastre controles desde la carpeta Formularios Mobile Web Forms del Cuadro de herramientas hasta Form2 y establezca sus propiedades como se indica en la tabla siguiente.
|
Control
|
Valores de propiedades
|
| Label | ID = LoanDetailsLabel Text = Detalles del préstamo |
| Label | ID = PaymentLabel Text = Cuota |
| Command | ID = ReturnToCalculator Text = Volver a la calculadora |
Ahora puede crear el código con el que se calculará la información del préstamo para mostrarla.
Para calcular la información de la hipoteca y que se muestren los resultados
-
Si utiliza C#, agregue una referencia al espacio de nombres Microsoft.VisualBasic para poder utilizar el método Pmt con el fin de calcular la información de las cuotas. Siga estos pasos:
-
En el Explorador de soluciones, haga clic en con el botón secundario del mouse (ratón) en el nombre del proyecto y elija Páginas de propiedades.
-
Haga clic en Agregar referencia.
-
En la ficha .NET, seleccione Microsoft.VisualBasic.dll y, a continuación, haga clic en Aceptar.
-
En el cuadro de diálogo Páginas de propiedades, haga clic en Aceptar.
-
En el control form1, haga doble clic en el botón Calcular para crear un controlador de eventos Click y, a continuación, agregue el código siguiente.
Protected Sub Calculate_Click(ByVal sender As Object, _
ByVal e As EventArgs)
' Get values from the form
Dim principal As Double = Convert.ToDouble(PrincipalText.Text)
Dim apr As Double = Convert.ToDouble(RateText.Text)
Dim monthlyInterest As Double = apr / (12 * 100)
Dim termInMonths As Double = Convert.ToDouble(TermText.Text) * 12
Dim monthlyPayment As Double
' Calculate the monthly payment
monthlyPayment = Microsoft.VisualBasic.Financial.Pmt( _
monthlyInterest, termInMonths, -principal, 0, _
DueDate.BegOfPeriod)
' Change to the other form
Me.ActiveForm = Me.form2
' Display the resulting details
Dim detailsSpec As String = "{0} @ {1}% for {2} years"
LoanDetailsLabel.Text = String.Format(detailsSpec, _
principal.ToString("C0"), apr.ToString(), TermText.Text)
PaymentLabel.Text = "Payment: " & monthlyPayment.ToString("C")
End Sub
protected void Calculate_Click(object sender, EventArgs e)
{
// Get values from the form
Double principal = Convert.ToDouble(PrincipalText.Text);
Double apr = Convert.ToDouble(RateText.Text);
Double monthlyInterest = (Double)(apr / (12 * 100));
Double termInMonths = Convert.ToDouble(TermText.Text) * 12;
Double monthlyPayment;
// Calculate the monthly payment
monthlyPayment = Microsoft.VisualBasic.Financial.Pmt(
monthlyInterest, termInMonths, -principal, 0,
Microsoft.VisualBasic.DueDate.BegOfPeriod);
// Change to the other form
this.ActiveForm = this.form2;
// Display the resulting details
string detailsSpec = "{0} @ {1}% for {2} years";
LoanDetailsLabel.Text = String.Format(detailsSpec,
principal.ToString("C0"), apr.ToString(), TermText.Text);
PaymentLabel.Text = "Payment: " + monthlyPayment.ToString("C");
}
El código recopila los valores de los cuadros de texto, los convierte a tipos de datos apropiados y después los utiliza como parámetros para la función Pmt de Visual Basic para calcular el costo mensual de la hipoteca. (Puede utilizar la función de Visual Basic en cualquier lenguaje siempre y cuando especifique completamente la llamada a la función con el espacio de nombres). Después de calcular el importe mensual, el código cambia al segundo control Form y muestra los resultados en los controles Label respectivos.
-
En el control Form2, haga doble clic en el control Command para crear un controlador de eventos Click y, a continuación, agregue el código resaltado que se muestra a continuación.
Protected Sub ReturnToCalculator_Click(ByVal sender As Object, _
ByVal e As EventArgs)
Me.ActiveForm = Me.form1
End Sub
protected void ReturnToCalculator_Click(object sender, EventArgs e)
{
this.ActiveForm = this.form1;
}
Probar la calculadora
Ahora está preparado para probar la calculadora. Puede probar la calculadora en un explorador de escritorio. Sin embargo, puede resultar de mayor interés realizar la prueba con un emulador de dispositivos.
Para probar la calculadora
-
Presione CTRL+F5 para ver su página en el explorador predeterminado y para obtener la dirección URL exacta.
El primer formulario aparece en la página.
-
Inicie su emulador y establezca una conexión con la dirección URL de su página.
-
Cuando aparezca la página en el emulador, especifique 100000 como importe del préstamo, 30 años como período y una tasa de interés del 5 por ciento y, a continuación, haga clic en Calcular.
La calculadora es reemplazada por la vista de resultados, en la que se muestra la cifra 534,59.