
Public Interface IGatewayProvider

End Interface



Public MustInherit Class IMemberServicesProvider
    Inherits GatewayProvider
    Public MustOverride Function Authenticate(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function AuthenticateMsEx(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function CreateMemberService(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function CreateWebspace(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function RemoveWebspace(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeMSLogin(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeMSPassword(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function changeMSSecurityQA(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeMSContactEmail(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function RemoveEmailAccount(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeEmailPassword(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeEmailLogin(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function CreateEmailAccount(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetMSBillingSystemLink(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetMSWebspaceSummary(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeMSEmailToPrimary(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetEmailAddressListForLogin(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetMSSecurityQAForAccount(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetMSSecurityQA(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Function forgotMSPassword(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetMSContactEmailAddress(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetMSSecurityKeys(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ActivateMSSecurityKey(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetSignInData(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ChangeWebSpacePassword(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function AuthenticateLoginSecretQA(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetOSSAuthString(ByVal obj As IProviderParameters) As IProviderResults
    '#################################################
    'MyAccount Functionality Sriman kanuri 04/06/2010
    'This function fetches account Info including username
    ''###############

    Public MustOverride Function GetLoginID(ByVal obj As IProviderParameters) As IProviderResults
    ' issue 27679
    Public MustOverride Function GetLoginIDByUserName(ByVal obj As IProviderParameters) As IProviderResults
End Class

Public MustInherit Class IContentProvider
    Inherits GatewayProvider
    Public MustOverride Function SignIn(ByVal Username As String, ByVal Password As String) As Boolean
    Public MustOverride Function GetOrgStructure() As String

    Public MustOverride Function GetServicePlanList() As String
    Public MustOverride Function GetFeatureList() As String
    Public MustOverride Function GetEPCIDList(ByVal PlayBookID As String) As String
    Public MustOverride Function GetServicePlanIDByBundleList(ByVal PlayBookID As String) As String
    Public MustOverride Function GetBundleList() As String

    Public MustOverride Function GetOwnerIDList(ByVal OwnerTypeID As Integer) As String
    Public MustOverride Function GetOwnerTypeList() As String
    Public MustOverride Function GetAllImageIDList() As String
    Public MustOverride Function GetBinaryFiles(ByVal BinaryFileType As String) As String
    Public MustOverride Function GetImageDataRecordByImageName(ByVal ImageName As String) As String
    Public MustOverride Function GetBinaryFileByBinaryFileName(ByVal BinaryFileName As String, ByVal BinaryFileExtension As String) As String

    '#####################################################
    'THIS IS USED FOR THE SEARCH CAPABILITY BASED ON 
    'KEYWORDS. Issue: 2362
    'NAQIB 10/9/08    
    '#####################################################
    Public MustOverride Function GetImagesByKeyword(ByVal Keyword As String) As String

    Public MustOverride Function GetScheduleRecordsByVersionID(ByVal VersionID As Integer) As String
    Public MustOverride Function GetContentVersionsByContentID(ByVal ContentID As Integer) As String
    Public MustOverride Function GetContentVersionIDList(ByVal ContentID As Integer) As String
    Public MustOverride Function GetContentVersionRecord(ByVal VersionID As Integer) As String
    Public MustOverride Function GetContentID(ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal OwnerID As String, ByVal OwnertypeID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As String) As Integer
    Public MustOverride Function GetContentNormalized(ByVal ContentID As Integer) As String
    Public MustOverride Function GetContentNormalized(ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal OwnerID As String, ByVal OwnertypeID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As String, ByRef ContentID As Integer, ByRef VersionID As Integer) As String
    Public MustOverride Function GetMultipleContent(ByVal contentparams As String) As DataTable
    Public MustOverride Function GetContentByTemplateID(ByVal TemplateID As Integer, ByVal RegionID As Integer, ByVal KMAID As Integer, ByVal BillingCode As Integer, ByVal FTA As String) As DataTable
    Public MustOverride Function GetTemplateHeaderInfo() As String
    Public MustOverride Function GetTemplateContent(ByVal templateID As Int32) As String
    Public MustOverride Function GetSiteContent() As String

    Public MustOverride Function GetCharterMessage(ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As String) As String
    Public MustOverride Function GetAreaID(ByVal ZipCode As String) As String
    Public MustOverride Function GetBillingStationID(ByVal BillingSystem As String) As Integer
    Public MustOverride Function PersistCart(ByVal obj As IProviderParameters) As Integer
    Public MustOverride Function GetCart(ByVal GUID As String) As IProviderResults

    Public MustOverride Sub AddVersion(ByVal ContentID As Integer, ByVal CreateByUserID As Integer, ByVal CreateDate As Date, ByVal ContentText As String, ByVal ContentName As String)

    Public MustOverride Sub AddImage(ByVal ImageCreatedBy As Integer, ByVal ImageCreateDate As Date, ByVal ImageData As Byte(), ByVal Thumbnail As Byte(), ByVal Caption As String, ByVal ImageName As String)
    Public MustOverride Sub AddBinaryFile(ByVal CreatedBy As Integer, ByVal CreateDate As Date, ByVal BinaryFileData As Byte(), ByVal Thumbnail As Byte(), ByVal Caption As String, ByVal BinaryFileName As String, ByVal BinaryFileExtension As String, ByVal BinaryFileType As String)

    Public MustOverride Sub DeleteImageByImageName(ByVal ImageName As Integer)
    Public MustOverride Sub DeleteImageByImageName(ByVal ImageName As String, ByVal filler As String)
    Public MustOverride Sub DeleteBinaryFile(ByVal BinaryFileID As Integer)
    Public MustOverride Sub DeleteBinaryFileByBinaryFileName(ByVal BinaryFileName As String, ByVal BinaryFileExtension As String)

    Public MustOverride Sub AddImageToContent(ByVal ImageID As Integer, ByVal VersionID As Integer)
    Public MustOverride Sub AddSchedule(ByVal VersionID As Integer, ByVal StartDate As Date, ByVal EndDate As Date, ByVal CreatedBy As Integer, ByVal CreateDate As Date)
    Public MustOverride Function AddContentAndContentVersion(ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal OwnerID As String, ByVal OwnertypeID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As String, ByVal CONTENTID As Integer, ByVal CONTENT_VERSION_CREATEBY_USERID As Integer, ByVal ContentText As String, ByVal CONTENT_NAME As String, ByVal CONTENT_VERSION_CREATEDATE As Date) As String
    Public MustOverride Sub AddContent(ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal OwnerID As String, ByVal OwnertypeID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As String, ByVal contentID As Integer)

    Public MustOverride Sub UpdateSchedule(ByVal ScheduleID As Integer, ByVal StartDate As Date, ByVal EndDate As Date)
    Public MustOverride Sub UpdateVersion(ByVal VersionID As Integer, ByVal ContentText As String, ByVal VersionName As String, ByVal SearchResultDisplayable As Boolean)
    Public MustOverride Sub UpdateContent(ByVal ContentID As Integer, ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal OwnerID As String, ByVal OwnertypeID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As Integer)
    Public MustOverride Sub UpdateImage(ByVal ImageID As Integer, ByVal ImageCreatedBy As Integer, ByVal ImageCreateDate As Date, _
                           ByVal ImageData As Byte(), ByVal Thumbnail As Byte(), ByVal Caption As String, _
                           ByVal ImageModifiedBy As Integer, ByVal ImageModifyDate As Date, _
                           ByVal ImageApprovedBy As Integer, ByVal ImageApprovedDate As Date)
    Public MustOverride Sub UpdateImage(ByVal ImageName As String, ByVal ImageData() As Byte)
    Public MustOverride Sub UpdateBinaryFile(ByVal ImageID As Integer, ByVal CreatedBy As Integer, ByVal CreateDate As Date, _
                           ByVal BinaryFileData As Byte(), ByVal Thumbnail As Byte(), ByVal Caption As String, _
                           ByVal ModifiedBy As Integer, ByVal ModifyDate As Date, _
                           ByVal ApprovedBy As Integer, ByVal ApprovedDate As Date, ByVal BinaryFileExtension As String, ByVal BinaryFileType As String)
    Public MustOverride Sub UpdateBinaryFile(ByVal BinaryFileName As String, ByVal BinaryFileExtension As String, ByVal BinaryFileData() As Byte)
    Public MustOverride Sub DeleteImageFromContent(ByVal ImageID As Integer, ByVal VersionID As Integer)
    Public MustOverride Sub DeleteSchedule(ByVal ScheduleID As Integer)
    Public MustOverride Sub DeleteContent(ByVal UsercontrolID As String, ByVal LocaleID As Integer, ByVal OwnerID As String, ByVal OwnertypeID As Integer, ByVal REGIONID As Integer, ByVal AreaID As Integer, ByVal BILLINGSTATIONID As Integer, ByVal SOURCEFTACODE As Integer)
    Public MustOverride Sub DeleteVersion(ByVal VersionID As Integer)
End Class

Public MustInherit Class ISupportProvider
    Inherits GatewayProvider


    Public MustOverride Sub AddDocumentComments(ByVal obj As IProviderParameters, ByVal userid As Int32)
    Public MustOverride Function GetRelatedDocuments(ByVal ID As Integer) As Dictionary(Of String, Object)
    Public MustOverride Sub RemoveDocumentRelation(ByVal ID As Integer, ByRef IDtoRemove As Integer, ByVal userid As Int32)
    Public MustOverride Function GetAllDocuments() As Dictionary(Of String, Object)
    Public MustOverride Sub RelateDocument(ByVal ID As Integer, ByRef IDtoRelate As Integer, ByVal userid As Int32)
    Public MustOverride Function AddDocument(ByVal folderID As Integer, ByVal HTML As String, ByVal ID As Integer, ByVal KeyWords As String, ByVal Summary As String, ByVal Title As String, ByVal userid As Int32) As Integer
    Public MustOverride Function AddFolder(ByVal ID As Integer, ByVal Name As String, ByVal NumberOfChildren As Integer, ByVal ParentFolderID As Integer, ByVal userid As Int32) As Integer
    Public MustOverride Sub DeleteDocument(ByVal documentID As Integer, ByVal userid As Int32)
    Public MustOverride Sub DeleteFolder(ByVal FolderID As Integer, ByVal userid As Int32)
    Public MustOverride Function GetDistinctKeyWords() As Dictionary(Of String, Object)
    Public MustOverride Function GetDocument(ByVal documentID As Integer) As Dictionary(Of String, Object)

    Public MustOverride Function GetEligibility(ByVal account As String, ByVal mac As String, ByVal phone As String, ByVal zipAccount As String, ByVal zipPhone As String) As String

    '#####################################################
    'THIS IS USED FOR THE SEARCH CAPABILITY BASED ON 
    'KEYWORDS/ID. -NAQIB 9/23/08  FOR ISSUE ID: 2362   
    '#####################################################
    Public MustOverride Function GetDocumentByKeyword(ByVal Keyword As String) As Dictionary(Of String, Object)
    Public MustOverride Function GetDocumentFolderIDByDocumentID(ByVal DocumentID As Integer) As Dictionary(Of String, Object)

    Public MustOverride Function GetAllFolders() As DataTable
    Public MustOverride Function GetDocumentFolders() As Dictionary(Of String, Object)
    Public MustOverride Function GetDocumentFolders(ByVal parentFolderID As Integer) As Dictionary(Of String, Object)
    Public MustOverride Function GetFolder(ByVal folderID As Integer) As Dictionary(Of String, Object)
    Public MustOverride Function GetFolderDocuments(ByVal folderID As Integer) As Dictionary(Of String, Object)
    Public MustOverride Sub MoveDocument(ByVal documentID As Integer, ByVal newFolderID As Integer, ByVal userid As Int32)
    Public MustOverride Sub UpdateDocument(ByVal HTML As String, ByVal ID As Integer, ByVal KeyWords As String, ByVal Summary As String, ByVal Title As String, ByVal userid As Int32)
    Public MustOverride Sub UpdateFolder(ByVal ID As Integer, ByVal Name As String, ByVal NumberOfChildren As Integer, ByVal ParentFolderID As Integer, ByVal userid As Int32)
    Public MustOverride Function GetBinaryDocument(ByVal ID As Integer) As KeyValuePair(Of String, Byte())
    Public MustOverride Sub SendEMail(ByVal FromMailID As String, ByVal ToMailID As String, ByVal Subject As String, ByVal Body As String, Optional ByVal isHTML As Boolean = False)
    Public MustOverride Sub UpdateUploadedFile(ByVal ID As Integer, ByVal binaryDocument() As Byte, ByVal userid As Int32)

    'Public MustOverride Sub DeleteKeyWords(ByVal documentID As Integer)
    'Public MustOverride Sub AddKeyWords(ByVal documentID As Integer, ByRef keyWords As String)

    'Public MustOverride Function GetArticle(ByVal ArticleID As Integer) As String
    'Public MustOverride Function GetArticleAbstracts(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Function GetSupportArticles(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Function GetSupportFolders(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Function GetCompactSupportFolders(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Function GetHelpArticleIndexes(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Function GetSupportArticleAbstracts(ByVal obj As IProviderParameters) As IProviderResults
    'Public MustOverride Sub RateArticle(ByVal obj As IProviderParameters)
End Class
Public MustInherit Class ISearchProvider
    Inherits GatewayProvider
    Public MustOverride Function SearchSite(ByVal SearchString As String) As IProviderResults
    Public MustOverride Function SearchSupport(ByVal SearchString As String) As IProviderResults
    Public MustOverride Function GetSearchXML() As IProviderResults
    Public MustOverride Function RegisterForUpdates(ByVal obj As IProviderParameters) As Boolean
End Class
Public MustInherit Class IG2BServicesProvider
    Inherits GatewayProvider
    Public MustOverride Function QueryOffers(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function QueryOffersResubmit(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function SubmitOrder(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function CancelOrder(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function ScheduleInstall(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetChooseOptionsXml() As IProviderResults
    Public MustOverride Function GetBuildYourOwnXml() As IProviderResults
    Public MustOverride Function GetShowPriceList() As IProviderResults
    ' 8/2007 jwg added for G2BV4.1
    Public MustOverride Function Authenticate(ByVal obj As IProviderParameters) As IProviderResults
End Class
Public MustInherit Class IEBSServicesProvider
    Inherits GatewayProvider
    Public MustOverride Function GetOrderCSG(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetOrderICOMS(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetLerg6ByNpaNxx(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetServiceability(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetLocationByPhone(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetAccountsFromCSG(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetAccountsFromICOMS(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetAccountDetailsFromICOMS(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetAccountStatementsAllICOMS(ByVal obj As IProviderParameters) As IProviderResults

    '################################################################################################
    'MODIFICATION	ROD COPELAND	ISSUE ID 6661	CSG Multi-Statement - My Account Overview Page
    '################################################################################################
    Public MustOverride Function GetCustomerStatements(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function AddCardPaymentCSG(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function AddCardPaymentICOMS(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function AddEFTPaymentCSG(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function AddEFTPaymentICOMS(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetLineupByID(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetLineupBySystemFTA(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetLineupByZipZip4(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetCustomerOrderCriteria(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetELOA(ByVal obj As IProviderParameters) As IProviderResults

    Public MustOverride Function GetCPNIVerificationFromCSG(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetCPNIVerificationFromICOMS(ByVal obj As IProviderParameters) As IProviderResults

    '###########################################################################
    'PROJECT BIG SKY, JULY 2009     ROD COPELAND    ISSUE ID 6724
    '###########################################################################
    'CONVERT THE ICOMS ACCOUNT NUMBER AND PASS THE DATA INTO THE PROVISIONING 
    'SYSTEM AS A CSG CUSTOMER THAT HAS BEEN CONVERTED FROM ICOMS.
    '###########################################################################
    Public MustOverride Function FindCSGAccountNumber(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function FindICOMSAccountNumberFromCSGAccountNumber(ByVal obj As IProviderParameters) As IProviderResults

    '#######################################################################################
    'MODIFICATION 3/16/2010  ROD COPELAND    ISSUE 8241  DONT DISPLAY THE TRANSFERED ACCOUNT
    '#######################################################################################
    Public MustOverride Function GetTransferedAccounts(ByVal obj As IProviderParameters) As IProviderResults

    '#######################################################################################
    'MODIFICATION 3/25/2010  Sriman kanuri    Added function for GetCustomer
    '#######################################################################################
    Public MustOverride Function GetCustomer(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function UpdateCustomField(ByVal obj As IProviderParameters) As IProviderResults


End Class

Public MustInherit Class IWebConfigProvider
    Inherits GatewayProvider
    Public MustOverride Function GetWebConfigSettings(ByVal RequestLocation As String) As IProviderResults
End Class

Public MustInherit Class IErrorMappingProvider
    Inherits GatewayProvider

End Class
'Coupon Management System
Public MustInherit Class ICouponProvider
    Inherits GatewayProvider
    Public MustOverride Function RedeemCoupon(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function RedeemGiftCard(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetCouponStatus(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetCustomerAddress(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GetCustomerRedemptionHistory(ByVal obj As IProviderParameters) As IProviderResults
    Public MustOverride Function GiftCardLookup(ByVal obj As IProviderParameters) As IProviderResults
End Class