Dobrý den, chtěl bych se zeptat, zdali správně využívám třídy. Mám vytvořenou třídu "AkceKlubu" všechny funkce vrací kolekci záznamů dat z SQL. Funkce "GET_AkceDleID" vrací jeden řádek s n sloupci. Dále "Partial Class Admin_AkceEditace" inicializuje třídu "AkceKlubu" a z této třídy plním DropDownlisty a textová pole. Ve třídě Admin_AkceEditace mám proceduru Private Sub ZobrazAkciDleID(ByVal IDAkce As Integer), která z třídy "AkceKlubu" převezme data a umístí je do textboxů. Otázka: Dělám to správně, nebo exituje lepší varianta řešení? PS: Třída DBAccess zajišťuje komunikaci s SQL serverem. Vše je funkční.
Imports Microsoft.VisualBasic
Imports DBAccess
Imports System.Data
Imports System.Data.SqlClient
Namespace DataSQL
Public Class AkceKlubu
#Region "Public property"
Private newIDAkce As Integer
Public Property IDAkce() As Integer
Get
Return newIDAkce
End Get
Set(ByVal value As Integer)
newIDAkce = value
End Set
End Property
Private newZacatekAkce As String
Public Property ZacatekAkce() As String
Get
Return newZacatekAkce
End Get
Set(ByVal value As String)
newZacatekAkce = value
End Set
End Property
Private newKonecAkce As String
Public Property KonecAkce() As String
Get
Return newKonecAkce
End Get
Set(ByVal value As String)
newKonecAkce = value
End Set
End Property
Private newMistoAkce As String
Public Property MistoAkce() As String
Get
Return newMistoAkce
End Get
Set(ByVal value As String)
newMistoAkce = value
End Set
End Property
Private newPopisAkce As String
Public Property PopisAkce() As String
Get
Return newPopisAkce
End Get
Set(ByVal value As String)
newPopisAkce = value
End Set
End Property
Private newPoznamka As String
Public Property Poznamka() As String
Get
Return newPoznamka
End Get
Set(ByVal value As String)
newPoznamka = value
End Set
End Property
Private newIDAkceStatus As Integer
Public Property IDAkceStatus() As Integer
Get
Return newIDAkceStatus
End Get
Set(ByVal value As Integer)
newIDAkceStatus = value
End Set
End Property
Private newIDAkceZamereni As Integer
Public Property IDAkceZamereni() As Integer
Get
Return newIDAkceZamereni
End Get
Set(ByVal value As Integer)
newIDAkceZamereni = value
End Set
End Property
#End Region
Public Function GET_SeznamAkceVse() As DataSet
Dim db As New DBAccess
Dim dts As New DataSet
db.AddParameter("@par", 151)
dts = db.ExecuteDataSet("SKMPO_Ciselniky")
Return dts
End Function
Public Function GET_SeznamAkcePlanPevnyTermin() As DataSet
Dim db As New DBAccess
Dim dts As New DataSet
db.AddParameter("@par", 154)
dts = db.ExecuteDataSet("SKMPO_Ciselniky")
Return dts
End Function
Public Function GET_SeznamAkceStatusy() As DataSet
Dim db As New DBAccess
Dim dts As New DataSet
db.AddParameter("@par", 153)
dts = db.ExecuteDataSet("SKMPO_Ciselniky")
Return dts
End Function
Public Function GET_AkceStatus() As DataSet
Dim db As New DBAccess
Dim dts As New DataSet
db.AddParameter("@par", 5)
dts = db.ExecuteDataSet("SKMPO_Ciselniky")
Return dts
End Function
Public Function GET_SeznamAkceUskutecnene() As DataSet
Dim db As New DBAccess
Dim dts As New DataSet
db.AddParameter("@par", 155)
dts = db.ExecuteDataSet("SKMPO_Ciselniky")
Return dts
End Function
Public Function GET_AkceZamereni() As DataSet
Dim db As New DBAccess
Dim dts As New DataSet
db.AddParameter("@par", 6)
dts = db.ExecuteDataSet("SKMPO_Ciselniky")
Return dts
End Function
Public Function GET_AkceDleID(ByVal IDAkce As Integer) As AkceKlubu
Dim db As New DBAccess
db.AddParameter(New SqlParameter("@par", 152))
db.AddParameter(New SqlParameter("@IdAkce", IDAkce))
Dim RS As SqlDataReader = CType(db.ExecuteReader("SKMPO_Ciselniky"), SqlDataReader)
If RS.HasRows Then
Dim r As AkceKlubu = New AkceKlubu
RS.Read()
r.IDAkce = RS(RS.GetOrdinal("IDAkce"))
r.ZacatekAkce = RS(RS.GetOrdinal("Zacatek"))
r.KonecAkce = IIf(RS(RS.GetOrdinal("Konec")) Is DBNull.Value, "", RS(RS.GetOrdinal("Konec")))
r.MistoAkce = RS(RS.GetOrdinal("MistoAkce"))
r.PopisAkce = RS(RS.GetOrdinal("PopisAkce"))
r.Poznamka = IIf(RS(RS.GetOrdinal("Poznamka")) Is DBNull.Value, "", RS(RS.GetOrdinal("Poznamka")))
r.IDAkceStatus = RS(RS.GetOrdinal("IDAkceStatus"))
r.IDAkceZamereni = RS(RS.GetOrdinal("IDAkceZamereni"))
RS.Close()
Return r
Else
RS.Close()
Return Nothing
End If
End Function
End Class
End Namespace
Imports System.Data
Imports System.Data.SqlClient
Imports System.Security.Principal
Partial Class Admin_AkceEditace
Inherits System.Web.UI.Page
Dim MyCiselnik As New Ciselnik
Dim MyAdminOvereniPristupuKeStrance As New AdminOvereniPristupuKeStrance
Dim MyAkceKlubu As New DataSQL.AkceKlubu
Private Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
If IsPostBack = False Then
If MyAdminOvereniPristupuKeStrance.GETOverCookies(Request.Cookies("SKMPO_Cookie")("IDClena"), System.Web.HttpContext.Current.Request.Url.AbsolutePath, Request.Cookies("SKMPO_Cookie")("Cookies").ToString) = False Then
Server.Transfer("Admin_NeopravnenyPristup.aspx")
Exit Sub
End If
With IDAkceStatus
.DataSource = MyAkceKlubu.GET_AkceStatus
.DataValueField = "ID"
.DataTextField = "Popis"
.DataBind()
End With
With Me.IDAkceZamereni
.DataSource = MyAkceKlubu.GET_AkceZamereni
.DataValueField = "ID"
.DataTextField = "Popis"
.DataBind()
End With
NactiSeznamAkci()
End If
End Sub
Private Sub NactiSeznamAkci()
Me.SeznamAkci.DataSource = MyAkceKlubu.GET_SeznamAkceVse
Me.SeznamAkci.DataBind()
End Sub
Private Sub ZobrazAkciDleID(ByVal IDAkce As Integer)
Try
Dim d As DataSQL.AkceKlubu = MyAkceKlubu.GET_AkceDleID(IDAkce)
Me.IDAkce.Text = d.IDAkce
Me.Zacatek.Text = d.ZacatekAkce
Me.Konec.Text = d.KonecAkce
Me.MistoAkce.Text = d.MistoAkce
Me.PopisAkce.Text = d.PopisAkce
Me.Poznamka.Text = d.Poznamka
Me.IDAkceStatus.SelectedValue = d.IDAkceStatus
Me.IDAkceZamereni.SelectedValue = d.IDAkceZamereni
Catch ex As Exception
Me.UlozitAkciInfo.Text = Err.Description
End Try
End Sub
End Class
|