-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathFormItemController.vb
More file actions
170 lines (125 loc) · 8.08 KB
/
Copy pathFormItemController.vb
File metadata and controls
170 lines (125 loc) · 8.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
Imports System
Imports System.Data
Imports DotNetNuke.Framework
Imports ODS.DNN.Modules.Form.Data
Imports DotNetNuke.Common.Utilities
Imports System.Collections
Imports System.Xml
Imports DotNetNuke.Instrumentation
Namespace ODS.DNN.Modules.Form.Business
Public Class FormItemController
Implements DotNetNuke.Entities.Modules.IPortable
'Inherits DotNetNuke.Entities.Modules.ModuleSearchBase
#Region "Public Methods"
Public Function [Get](ByVal formItemID As Integer) As FormItemInfo
'Return CType(CBO.FillObject(DataProvider.Instance().GetODSFormItem(formItemID), GetType(FormItemInfo)), FormItemInfo)
Return CBO.FillObject(Of FormItemInfo)(DataProvider.Instance().GetODSFormItem(formItemID))
End Function
Public Function List(ByVal portalid As Integer, ByVal moduleid As Integer, ByVal CultureCode As String) As ArrayList
Return CBO.FillCollection(DataProvider.Instance().ListODSFormItem(portalid, moduleid, CultureCode), GetType(FormItemInfo))
End Function
Public Function Add(ByVal objODSFormItem As FormItemInfo) As Integer
Return CType(DataProvider.Instance().AddODSFormItem(objODSFormItem.ModuleID, objODSFormItem.PortalID, objODSFormItem.FormType, objODSFormItem.FormValue, objODSFormItem.FormSelectedValue, objODSFormItem.FormLabel, objODSFormItem.SortValue, objODSFormItem.Optional, objODSFormItem.Width, objODSFormItem.Height, objODSFormItem.CSSClass, objODSFormItem.CustomRegex, objODSFormItem.FormItemTitle, objODSFormItem.FormLabelClass, objODSFormItem.Culture, objODSFormItem.AllowValueOverride, objODSFormItem.CustomData, objODSFormItem.WebhookFieldName), Integer)
End Function
Public Sub Update(ByVal objODSFormItem As FormItemInfo)
DataProvider.Instance().UpdateODSFormItem(objODSFormItem.FormItemID, objODSFormItem.ModuleID, objODSFormItem.PortalID, objODSFormItem.FormType, objODSFormItem.FormValue, objODSFormItem.FormSelectedValue, objODSFormItem.FormLabel, objODSFormItem.Optional, objODSFormItem.Width, objODSFormItem.Height, objODSFormItem.CSSClass, objODSFormItem.CustomRegex, objODSFormItem.FormItemTitle, objODSFormItem.FormLabelClass, objODSFormItem.Culture, objODSFormItem.AllowValueOverride, objODSFormItem.CustomData, objODSFormItem.WebhookFieldName)
End Sub
Public Sub Delete(ByVal formItemID As Integer)
DataProvider.Instance().DeleteODSFormItem(formItemID)
End Sub
Public Sub MoveUp(ByVal formitemid As Integer)
DataProvider.Instance.ODSFormItemMoveUp(formitemid)
End Sub
Public Sub MoveDown(ByVal formitemid As Integer)
DataProvider.Instance.ODSFormItemMoveDown(formitemid)
End Sub
#End Region
#Region "Optional Interfaces"
'Public Overrides Function GetModifiedSearchDocuments(moduleInfo As Entities.Modules.ModuleInfo, beginDateUtc As Date) As IList(Of Search.Entities.SearchDocument)
'End Function
Public Function ExportModule(ModuleID As Integer) As String Implements Entities.Modules.IPortable.ExportModule
DnnLogger.GetLogger("ODSForm").Debug("Export content of module " & ModuleID)
Dim strXML As New StringBuilder()
Dim settings As New XmlWriterSettings()
settings.Indent = True
settings.OmitXmlDeclaration = True
Dim Writer As XmlWriter = XmlWriter.Create(strXML, settings)
'read module settings
Dim cultureCode As String = Nothing
'Dim ModInfo As DotNetNuke.Entities.Modules.ModuleInfo = New DotNetNuke.Entities.Modules.ModuleController().GetModule(ModuleID, Nothing, True)
Dim ModInfo As DotNetNuke.Entities.Modules.ModuleInfo = New DotNetNuke.Entities.Modules.ModuleController().GetModule(ModuleID)
If ModInfo Is Nothing Then
DnnLogger.GetLogger("ODSForm").Error("CANNOT GET MODULE " & ModuleID)
End If
Try
Dim bLocalize As Boolean = CType(ModInfo.ModuleSettings("EnableLocalization"), Boolean)
If bLocalize Then cultureCode = System.Threading.Thread.CurrentThread.CurrentCulture.ToString
Catch ex As Exception
DnnLogger.GetLogger("ODSForm").Error(ex.Message)
End Try
Dim oSCont As New FormItemController
Dim items As ArrayList = oSCont.List(PortalSettings.Current.PortalId, ModuleID, cultureCode)
DnnLogger.GetLogger("ODSForm").Debug("Export " & items.Count & " form items")
If items.Count > 0 Then
Writer.WriteStartElement("FormItems")
Dim o As FormItemInfo
For Each o In items
Writer.WriteStartElement("FormItem")
Writer.WriteAttributeString("FormItemID", o.FormItemID)
Writer.WriteAttributeString("Optional", o.Optional)
Writer.WriteAttributeString("FormType", o.FormType)
Writer.WriteAttributeString("FormLabel", o.FormLabel)
Writer.WriteAttributeString("SortValue", o.SortValue)
Writer.WriteAttributeString("Width", o.Width)
Writer.WriteAttributeString("Height", o.Height)
Writer.WriteAttributeString("CSSClass", o.CSSClass)
Writer.WriteAttributeString("FormLabelClass", o.FormLabelClass)
Writer.WriteAttributeString("FormItemTitle", o.FormItemTitle)
Writer.WriteAttributeString("Culture", o.Culture)
Writer.WriteAttributeString("AllowValueOverride", o.AllowValueOverride)
Writer.WriteElementString("FormValue", o.FormValue)
Writer.WriteElementString("FormSelectedValue", o.FormSelectedValue)
Writer.WriteElementString("CustomRegex", o.CustomRegex)
Writer.WriteElementString("CustomData", o.CustomData)
'WebhookFieldName
Writer.WriteElementString("WebhookFieldName", o.WebhookFieldName)
Writer.WriteEndElement()
Next
Writer.WriteEndElement()
Writer.Close()
End If
Return strXML.ToString
End Function
Public Sub ImportModule(ModuleID As Integer, Content As String, Version As String, UserID As Integer) Implements Entities.Modules.IPortable.ImportModule
Dim n As XmlNode
Dim ns As XmlNode = DotNetNuke.Common.Globals.GetContent(Content, "FormItems")
'DnnLogger.GetLogger("ODSForm").Debug("IMPORT " & ns.OuterXml)
For Each n In ns.SelectNodes("FormItem")
Dim f As New FormItemInfo
f.ModuleID = ModuleID
'DnnLogger.GetLogger("ODSForm").Debug("IMPORT formitem " & n.OuterXml)
f.FormItemTitle = n.Attributes("FormItemTitle").Value
f.Optional = n.Attributes("Optional").Value
f.FormType = n.Attributes("FormType").Value
f.FormLabel = n.Attributes("FormLabel").Value
f.SortValue = n.Attributes("SortValue").Value
f.Width = n.Attributes("Width").Value
f.Height = n.Attributes("Height").Value
f.CSSClass = n.Attributes("CSSClass").Value
f.FormLabelClass = n.Attributes("FormLabelClass").Value
f.FormItemTitle = n.Attributes("FormItemTitle").Value
f.Culture = n.Attributes("Culture").Value
f.AllowValueOverride = n.Attributes("AllowValueOverride").Value
f.FormValue = n.Item("FormValue").InnerText
f.FormSelectedValue = n.Item("FormSelectedValue").InnerText
f.CustomRegex = n.Item("CustomRegex").InnerText
f.CustomData = n.Item("CustomData").InnerText
'WebhookFieldName
f.WebhookFieldName = n.Item("WebhookFieldName").InnerText
DnnLogger.GetLogger("ODSForm").Debug("ADD item w FormLabel=" & f.FormLabel)
Add(f)
Next
End Sub
#End Region
End Class
End Namespace