Você está na página 1de 6

CLIENTE SERVIDOR.

Lab 02 y Lab 03


Lab 02 .Aplicacin Cliente - Servidor

Objetivo: Cancelar Cuota de Cronograma.

Datos Entrada:
TipoDocumento
Numero Documento

Datos Salida:
Cronograma Actualizado.

1. CLIENTE: Preparando la Interfaz de Usuario














Control Propiedad Observacion
GroupBox Text=TipoDocumento
RadioButton Name = rbFac
Text = Factura
Dentro del
GroupBox
RadioButton Name = rbBv
Text = Boleta
Checked = True
Dentro del
GroupBox
TextBox Name =TxtDocumento
ComboBox Name =CboFormaPago
CommandButton Text= Buscar
Label1 Text = Documento
DataGrid Name = dgvCronograma
SelectionMode=FullRowSet
ReadOnly=True
AllowUsersToAdd=False
AllowUsersToDelete=False


GroupBox Name=GroupBox2
Text = Cuota

ComboBox Name=CboLugarPago
DropDownStyle=DropDownList
Dentro del
GroupBox2
ComboBox Name=CboBanco
DropDownStyle=DropDownList
Dentro del
GroupBox2
ComboBox Name=CboMedioPago
DropDownStyle=DropDownList
Dentro del
GroupBox2
DataPicker Name=dpFechaVencimiento Dentro del
GroupBox2
CommandButton Name=CmdCancelar
Text=Cancelar Cuota
Dentro del
GroupBox2
TextBox Name=TxtNroCuota Dentro del
GroupBox2
TextBox Name=TxtCuota Dentro del
GroupBox2
Codificando

Al inicio del editor de codigo

--- Visual Basic


Imports System.Data.SqlClient
Imports System.Xml
Public Class Form1
Dim cn As New SqlConnection("Server=localhost;DataBase=TenebrosaOLTP; Integrated Security=True;")
Dim dtCrono As New DataTable




En el Load
============
Private Sub Form1_Load()
Me.LlenarCombos()

End Sub

Crear el Metodo: LllenarCombos

Private Sub LlenarCombos()

Dim daPago As New SqlDataAdapter("SELECT idmediopago, descripcion FROM MedioPago ORDER BY 2", cn)
Dim dtPago As New DataTable
daPago.Fill(dtPago)
CboMedioPago.ValueMember = "idmediopago"
CboMedioPago.DisplayMember = "descripcion"
CboMedioPago.DataSource = dtPago
' -- llenado Banco
Dim daBanco As New SqlDataAdapter("SELECT idbanco, nombreBanco FROM Banco ORDER BY 2", cn)
Dim dtBanco As New DataTable
daBanco.Fill(dtBanco)
CboBanco.ValueMember = "idbanco"
CboBanco.DisplayMember = "nombrebanco"
CboBanco.DataSource = dtBanco
' -- llenado PuntoPago
Dim daPuntoPago As New SqlDataAdapter("SELECT idpuntopago, descripcion FROM PuntoPago ORDER BY 2", cn)
Dim dtPuntoPago As New DataTable
daPuntoPago.Fill(dtPuntoPago)
CboLugarPago.ValueMember = "idpuntopago"
CboLugarPago.DisplayMember = "descripcion"
CboLugarPago.DataSource = dtPuntoPago
End Sub




Cmd_Buscar_Click
Me.LlenaCronograma()


Crear el Metodo:LlenarCronograma

Private Sub LlenaCronograma()
Dim vsql, tipodoc As String
If Me.rbFac.Checked = True Then

tipodoc = "F"
Else
tipodoc = "B"
End If
vsql = " EXEC _Cronograma @doc = '" & TxtDocumento.Text.Trim & "',@tdoc='" & tipodoc & "',@tipo=2"

Dim daCrono As New SqlDataAdapter(vsql, cn)
dtCrono.Clear()
daCrono.Fill(dtCrono)
dgvCronograma.DataSource = dtCrono
If dtCrono.Rows.Count = 0 Then
CmdCancelar.Enabled = False
Else
CmdCancelar.Enabled = True
End If
Me.DatosCuota()
End Sub

---LEER DATOS DE GRILLA
Private Sub DatosCuota()
If dtCrono.Rows.Count = 0 Then
Exit Sub

End If
Me.TxtNrocuota.Text = CStr(dgvCronograma.CurrentRow.Cells("NroCuota").Value)
Me.TxtCuota.Text = CStr(dgvCronograma.CurrentRow.Cells("Cuota").Value)
Me.dpFechaVencimiento.Value = CDate(dgvCronograma.CurrentRow.Cells("FeVence").Value)
End Sub


dgvCronograma_KeyDown
Me.DatosCuota()

dgvCronograma_KeyUp
Me.DatosCuota()


Grabando Datos
Private Sub GrabaDatos()
Dim vsql, ltipodoc As String
If Me.rbFac.Checked = True Then
ltipodoc = "F"
Else
ltipodoc = "B"
End If
vsql = " EXEC _Cronograma @doc = '" & TxtDocumento.Text.Trim & "',@tdoc='" & ltipodoc & "'"
vsql = vsql + ", @idMedio = '" & CboMedioPago.SelectedValue.ToString & "'"
vsql = vsql + ", @idBanco = '" & CboBanco.SelectedValue.ToString & "'"
vsql = vsql + ", @idPuntoPago='" & CboLugarPago.SelectedValue.ToString & "'"
vsql = vsql + ", @NroCuota = " & TxtNrocuota.Text.Trim & ", @tipo= 3"

cn.Open()
Dim cmGrabaCuota As New SqlCommand(vsql, cn)
cmGrabaCuota.ExecuteNonQuery()
cn.Close()
MessageBox.Show("Grabacion con Exito...")
Me.LlenaCronograma()
End Sub


CmdCancelar.Click
Me.GrabaDatos()





2. SERVIDOR: En el SQL Server


Crear el Store Procedure: _Cronograma


- Siga los pasos dados en clase.


3. Ejecute y haga el Testeo Respectivo


Lab 03.
En el servidor, haga para que aparezca en la grilla todas las cuotas
independientemente del estado de la cuota
Adapte el cliente para que solo permita cancelar cuotas pendientes de
pago.

Você também pode gostar