auDemo

Option Explicit
Private Const MODULE_NAME = "auDemo.WSC"

Private Const OP_READ_DEMO = 1000
Private Const OP_ADD_DEMO = 1001
Private Const OP_EDIT_DEMO = 1002
Private Const OP_DELETE_DEMO = 1003
Private Const OP_CREATE_DEMO_REPORT = 1010

Dim oEccomOperation,dbDemo
Set oEccomOperation = CreateObject("EccomSystem.Operation")
Set dbDemo = CreateObject("dbDemo.wsc")

Private Function GetContent(idDemo)
    Dim rs,arrContent(1,1)
    Set rs = dbDemo.GetDemo(idDemo)
    If rs.EOF Then Err.Raise 1,MODULE_NAME,"相关信息不存在。"
    arrContent(0,0) = "ID"       :        arrContent(1,0) = idDemo
    arrContent(0,1) = "State"    :        arrContent(1,1) = rs("State") & ""
    rs.Close
    GetContent = arrContent
End Function

Public Function CanReadDemo(idOperator,idDemo)
    Dim arrContent
    arrContent = GetContent(idDemo)
    CanReadDemo = oEccomOperation.CanHeRead(idOperator,OP_READ_DEMO,arrContent)
End Function

Public Function CanAddDemo(idOperator,bCommit,arrNewContent)
    If Not bCommit Then
        CanAddDemo = oEccomOperation.CanHeBeginAdd(idOperator,OP_ADD_DEMO)
    Else
        CanAddDemo = oEccomOperation.CanHeCommitAdd(idOperator,OP_ADD_DEMO,arrNewContent)
    End If
End Function

Public Function CanEditDemo(idOperator,idDemo,bCommit,arrNewContent)
    Dim rs,arrContent
    CanEditDemo = False
    
    '内置,状态为(编辑中)才编辑
    Set rs = dbDemo.GetDemo(idDemo)
    If rs.EOF Then Err.Raise 1,MODULE_NAME,"相关信息不存在。"
    If Not rs("State") = "编辑中" Then Exit Function

    arrContent = GetContent(idDemo)
    If Not bCommit Then
        CanEditDemo = oEccomOperation.CanHeBeginEdit(idOperator,OP_EDIT_DEMO,arrContent)
    Else
        CanEditDemo = oEccomOperation.CanHeCommitEdit(idOperator,OP_EDIT_DEMO,arrContent,arrNewContent)
    End If
End Function

Public Function CanDeleteDemo(idOperator,idDemo)
    Dim arrContent
    arrContent = GetContent(idDemo)
    CanDeleteDemo = oEccomOperation.CanHeDelete(idOperator,OP_DELETE_DEMO,arrContent)
End Function

Public Function ListWhoCanEdit(idDemo)
    Dim arrContent
    arrContent = GetContent(idDemo)
    ListWhoCanSubmit = oEccomOperation.WhoCanBeginEdit(OP_EDIT_DEMO,arrContent)
End Function

Public Function ListWhoCanRead(idDemo)
    Dim arrContent
    arrContent = GetContent(idDemo)
    ListWhoCanRead = oEccomOperation.WhoCanRead(OP_READ_DEMO,arrContent)
End Function

Function CanCreateDemoReport(idOperator,bCommit,arrNewContent)
    If Not bCommit Then
        CanAddDemo = oEccomOperation.CanHeBeginAdd(idOperator,OP_CREATE_DEMO_REPORT)
    Else
        CanAddDemo = oEccomOperation.CanHeCommitAdd(idOperator,OP_CREATE_DEMO_REPORT,arrNewContent)
    End If
End Function
原文地址:https://www.cnblogs.com/zenple/p/5057906.html