Real Time Use Interface

Interface Sample 2 : Flexible Connection Based Application




Form
Public Class Form1

    Dim Connect As IConnect

    Dim DL As New DataList

    Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
        Dim SQL As New SQLServer
        Connect = SQL
    End Sub

    Private Sub Button2_Click(sender As Object, e As EventArgs) Handles Button2.Click
        Dim Oracle As New Oracle
        Connect = Oracle
    End Sub

    Private Sub Button3_Click(sender As Object, e As EventArgs) Handles Button3.Click
        Dim Acc As New Access
        Connect = Acc
    End Sub

    Private Sub Button4_Click(sender As Object, e As EventArgs) Handles Button4.Click
        Dim MO As New MongoDB
        Connect = MO
    End Sub

    Private Sub Button8_Click(sender As Object, e As EventArgs) Handles Button8.Click
        Connect.Connect()
    End Sub

    Private Sub Button5_Click(sender As Object, e As EventArgs) Handles Button5.Click
        Connect.DataList = DL
        Connect.SaveData()
    End Sub

    Private Sub Button7_Click(sender As Object, e As EventArgs) Handles Button7.Click
        Connect.DataList = DL
        Connect.LoadData()
    End Sub

    Private Sub Button6_Click(sender As Object, e As EventArgs) Handles Button6.Click
        Connect.DataList = DL
        Connect.DeleteRecord()
    End Sub

    Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
        DL.Add(New Data("Custiomer", "Switin Kotian", Data.DataType.String))
        DL.Add(New Data("Customer", "ABC", Data.DataType.String))

    End Sub
 
End Class



Interface
Public Interface IConnect

    Function DeleteRecord() As Boolean
    Function LoadData() As Boolean
    Function SaveData() As Boolean
    Function Connect() As Boolean

    Property DataList As DataList
    Property Connection As IDbConnection  ' IDBConnection Interface for all Connection Objects .net Framework

End Interface


SQL Server Based
Public Class SQLServer
    Implements IConnect

    Dim SQLCOn As New SqlClient.SqlConnection
    Dim DL As New DataManger

    Public Function DeleteRecord() As Boolean Implements IConnect.DeleteRecord
        Console.WriteLine("From SQl Server : Delete Record")
        Return True
    End Function

    Public Function LoadData() As Boolean Implements IConnect.LoadData
        Console.WriteLine("From SQl Server : Load Data")
        Return True
    End Function

    Public Function SaveData() As Boolean Implements IConnect.SaveData
        Console.WriteLine("From SQl Server :- Save Data")
        DL.Insert(DataList)
        Return True
    End Function


    Public Function Connect() As Boolean Implements IConnect.Connect
        Console.WriteLine("From SQl Server :- Connect")
        Return True
    End Function

    Public Property DataList As DataList Implements IConnect.DataList

    Public Property Connection As IDbConnection Implements IConnect.Connection
        Get
            Return SQLCOn
        End Get
        Set(value As IDbConnection)
            SQLCOn = value
        End Set

    End Property
End Class


Oracle based
Public Class Oracle
    Implements IConnect


    Dim OracleCon As New Odbc.OdbcConnection

    Public Function DeleteRecord() As Boolean Implements IConnect.DeleteRecord
        Console.WriteLine("From Oracle : Delete Record")
        Return True
    End Function

    Public Function LoadData() As Boolean Implements IConnect.LoadData
        Console.WriteLine("From Oracle : Load Data")
        Return True
    End Function

    Public Function SaveData() As Boolean Implements IConnect.SaveData
        Console.WriteLine("From Oracle :- Save Data")
        Return True
    End Function

    Public Function Connect() As Boolean Implements IConnect.Connect
        Console.WriteLine("From Oracle :- Connect")
        Return True
    End Function

    Public Property DataList As DataList Implements IConnect.DataList

    Public Property Connection As IDbConnection Implements IConnect.Connection
        Get
            Return OracleCon
        End Get
        Set(value As IDbConnection)
            OracleCon = value
        End Set
    End Property
End Class


MongoDB
Public Class MongoDB
    Implements IConnect

    Dim MODB As New Odbc.OdbcConnection

    Public Function DeleteRecord() As Boolean Implements IConnect.DeleteRecord
        Console.WriteLine("From MongoDB : Delete Record")
        Return True
    End Function

    Public Function LoadData() As Boolean Implements IConnect.LoadData
        Console.WriteLine("From MongoDB : Load Data")
        Return True
    End Function

    Public Function SaveData() As Boolean Implements IConnect.SaveData
        Console.WriteLine("From MongoDB :- Save Data")
        Return True
    End Function

    Public Function Connect() As Boolean Implements IConnect.Connect
        Console.WriteLine("From MongoDB :- Connect")
        Return True
    End Function

    Public Property DataList As DataList Implements IConnect.DataList

    Public Property Connection As IDbConnection Implements IConnect.Connection
        Get
            Return MODB
        End Get
        Set(value As IDbConnection)
            MODB = value
        End Set
    End Property

End Class


Access Based
Public Class Access
    Implements IConnect

    Dim OLEDB As New OleDb.OleDbConnection

    Public Function DeleteRecord() As Boolean Implements IConnect.DeleteRecord
        Console.WriteLine("From Access : Delete Record")
        Return True
    End Function

    Public Function LoadData() As Boolean Implements IConnect.LoadData
        Console.WriteLine("From Access : Load Data")
        Return True
    End Function

    Public Function SaveData() As Boolean Implements IConnect.SaveData
        Console.WriteLine("From Access :- Save Data")
        Return True
    End Function

    Public Function Connect() As Boolean Implements IConnect.Connect
        Console.WriteLine("From Access :- Connect")
        Return True
        End
    End Function

    Public Property DataList As DataList Implements IConnect.DataList

    Public Property Connection As IDbConnection Implements IConnect.Connection
        Get
            Return OLEDB
        End Get
        Set(value As IDbConnection)
            OLEDB = value
        End Set
    End Property

End Class


Data Access Layer Working.
Public Class Data

    Public Enum DataType
        [String] = 1
        [Number] = 2
        [Boolean] = 3
        [DateTime] = 4
    End Enum

    Public Property FieldName As String
    Public Property Value As Object
    Public Property Type As DataType


    Public Sub New()

    End Sub

    Public Sub New(Field As String, DataValue As Object, DataType As DataType)
        FieldName = Field
        Value = DataValue
        Type = DataType
    End Sub
End Class


Public Class DataList
    'Inherits Collections.CollectionBase
    Inherits List(Of Data)


    Public Overloads Sub Add(FieldName As String, Value As Object, Type As Data.DataType)
        Me.Add(New Data(FieldName, Value, Type))
    End Sub

    Public Overloads Sub Add(value As Data)
        Me.Add(value)
    End Sub

End Class


Public Class DataManger

    Public Function Insert(Value As DataList) As Boolean

        For Intloop As Integer = 0 To Value.Count - 1
            Console.WriteLine(Value(Intloop).FieldName & " - " & Value(Intloop).Value.ToString)
        Next

        Return True
    End Function

End Class


Comments

Popular posts from this blog

Shared / Static Class in vb.net/C#

Xamarin Forms : PopUp Page with RG.Plugins.Popup

Text was truncated or one or more characters had no match in the target code page.". (SQL Server Import and Export Wizard)