Small width layout Medium width layout Maximum width layout Small text Medium text Large text
     Search
Downloads Downloads Directory Directory Forums Forums Forge Forge Blogs Blogs        Marketplace Marketplace Careers Program Careers
Community › Forums Register  |  

AppTheory specializes in solutions based on the DotNetNuke platform and has 2 employees on the DotNetNuke Core Team.
  Need Help?  
Professional technical support for DotNetNuke is available from DotNetNuke Corporation.
 


  Ads  
Aspose - The .NET & Java component publisher
 


  Sponsors  

Meet Our Sponsors

Salaro -- Skins and more
OnyakTech
The best choice for your web site host, email hosting, and domain registration.
CrystalTech Web Hosting™
Webhost4life, specialists in DNN hosting
Mad Development is a full service interactive agency focusing on the merge of design, technology, e-commerce, and affiliate marketing by providing total website solutions.
 


DotNetNuke Forums
 
  Forum  DotNetNuke® Pro...  Survey Module [...  To Fix the Survey Module to work with DNN 4.5
Previous Previous
 
Next Next
New Post 4/7/2007 5:47 AM
Online now... Michael Washington
2656 posts
ADefWebserver.com
5th Ranked










To Fix the Survey Module to work with DNN 4.5 
Modified By Michael Washington  on 5/5/2007 6:25:03 PM)

Due to changes in DNN 4.5 any Survey version ealier than 04.00.70 will not work with DNN4.5 . A new version has been submitted to te release process but it may take a week or two. To fix an ealier version of te Survey module, replace this method in Survey.ascx.vb with this code:

#Region "form Events"
        Private Sub lstSurvey_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles lstSurvey.ItemDataBound

            Dim objSurvey As SurveyInfo = SurveyController.GetSurvey(Int32.Parse(lstSurvey.DataKeys(e.Item.ItemIndex).ToString), ModuleId)
            If Not objSurvey Is Nothing Then
                Dim SurveyOptionList As New List(Of SurveyOptionInfo)
                SurveyOptionList = SurveyOptionController.GetSurveyOptions(objSurvey.SurveyId)

                Select Case objSurvey.OptionType
                    Case "R"
                        Dim optOptions As RadioButtonList = CType(e.Item.FindControl("optOptions"), RadioButtonList)
                        optOptions.DataSource = SurveyOptionList
                        optOptions.DataTextField = "OptionName"
                        optOptions.DataValueField = "SurveyOptionId"
                        optOptions.DataBind()
                        optOptions.Visible = True
                    Case "C"
                        Dim chkOptions As CheckBoxList = CType(e.Item.FindControl("chkOptions"), CheckBoxList)
                        chkOptions.DataSource = SurveyOptionList
                        chkOptions.DataTextField = "OptionName"
                        chkOptions.DataValueField = "SurveyOptionId"
                        chkOptions.DataBind()
                        chkOptions.Visible = True
                End Select
            End If

        End Sub

        Private Sub cmdSubmit_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSubmit.Click
            Dim objRadioButtonList As RadioButtonList
            Dim objCheckBoxList As CheckBoxList
            Dim objSurvey As SurveyInfo
            Dim intSurvey As Integer
            Dim objSurveyOption As New SurveyOptionInfo
            Dim intSurveyOption As Integer
            Dim intQuestion As Integer
            Dim intOption As Integer
            Dim blnValid As Boolean = True
            Dim blntmpValid As Boolean = False

            intQuestion = -1
            Dim arrSurveys As List(Of SurveyInfo) = SurveyController.GetSurveys(ModuleId)
            For intSurvey = 0 To arrSurveys.Count - 1
                objSurvey = arrSurveys(intSurvey)
                intQuestion += 1
                Select Case objSurvey.OptionType
                    Case "R"
                        objRadioButtonList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("optOptions")
                        If objRadioButtonList.SelectedIndex = -1 Then
                            blnValid = False
                        End If
                    Case "C"
                        objCheckBoxList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("chkOptions")
                        blntmpValid = False
                        intOption = -1
                        Dim arrSurveyOptions As List(Of SurveyOptionInfo) = SurveyOptionController.GetSurveyOptions(objSurvey.SurveyId)
                        For intSurveyOption = 0 To arrSurveyOptions.Count - 1
                            intOption += 1
                            If objCheckBoxList.Items(intOption).Selected = True Then
                                blntmpValid = True
                            End If
                        Next
                        If blntmpValid = False Then
                            blnValid = False
                        End If
                End Select
            Next

            If blnValid Then
                intQuestion = -1
                For intSurvey = 0 To arrSurveys.Count - 1
                    objSurvey = CType(arrSurveys(intSurvey), SurveyInfo)
                    intQuestion += 1
                    Select Case objSurvey.OptionType
                        Case "R"
                            If Not IsNothing(Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("optOptions")) Then
                                objRadioButtonList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("optOptions")
                                objSurveyOption.SurveyOptionId = Convert.ToInt32(objRadioButtonList.SelectedValue)
                                SurveyOptionController.AddSurveyResult(objSurveyOption, UserId)
                            End If
                        Case "C"
                            intOption = -1
                            objCheckBoxList = Me.FindControl("lstSurvey").Controls(intQuestion).FindControl("chkOptions")
                            Dim arrSurveyOptions As List(Of SurveyOptionInfo) = SurveyOptionController.GetSurveyOptions(objSurvey.SurveyId)
                            For intSurveyOption = 0 To arrSurveyOptions.Count - 1
                                objSurveyOption = CType(arrSurveyOptions(intSurveyOption), SurveyOptionInfo)
                                intOption += 1
                                If objCheckBoxList.Items(intOption).Selected = True Then
                                    SurveyOptionController.AddSurveyResult(objSurveyOption, UserId)
                                End If
                            Next
                    End Select
                Next

                Message_Label.Text = Localization.GetString("SurveyComplete", Me.LocalResourceFile)

                If blnPersonalVoteTracking = True Then
                    ' This means the module vote tracking is using personalization, so set the profile to show they have voted
                    DotNetNuke.Services.Personalization.Personalization.SetProfile(ModuleId.ToString, "Voted", True)
                    blnVoted = True
                    DisplayResults()
                Else
                    ' Store a cookie to show the chart after the submit
                    Dim objCookie As HttpCookie = New HttpCookie("_Module" & ModuleId.ToString & "_Survey")
                    objCookie.Value = "True"
                    objCookie.Expires = DateTime.MaxValue       ' never expires
                    Response.AppendCookie(objCookie)
                    blnVoted = True
                    DisplayResults()
                End If
            Else
                Message_Label.Text = Localization.GetString("SurveyIncomplete", Me.LocalResourceFile)
            End If
        End Sub

        Private Sub cmdResults_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdResults.Click
            DisplayResults()
        End Sub

        Private Sub lstResults_ItemDataBound(ByVal sender As Object, ByVal e As System.Web.UI.WebControls.DataListItemEventArgs) Handles lstResults.ItemDataBound

            Dim objSurvey As SurveyInfo
            Dim objSurveyOption As SurveyOptionInfo
            Dim intSurveyOption As Integer
            Dim strHTML As String
            Dim intGraphWidth As Integer = 400

            If CType(Settings("surveygraphwidth"), String) <> "" Then
                intGraphWidth = Int32.Parse(CType(Settings("surveygraphwidth"), String))
            End If

            strHTML = "<BR><TABLE BORDER=""0"" CELLPADDING=""2"" CELLSPACING=""0"" WIDTH=""100%"">"

            objSurvey = SurveyController.GetSurvey(Int32.Parse(lstResults.DataKeys(e.Item.ItemIndex).ToString), ModuleId)
            If Not objSurvey Is Nothing Then
                Dim arrSurveyOptions As List(Of SurveyOptionInfo) = SurveyOptionController.GetSurveyOptions(objSurvey.SurveyId)
                For intSurveyOption = 0 To arrSurveyOptions.Count - 1
                    objSurveyOption = arrSurveyOptions(intSurveyOption)

                    Dim dblPercent As Double = 0
                    If objSurvey.Votes <> 0 Then
                        dblPercent = Convert.ToDouble(objSurveyOption.Votes / objSurvey.Votes)
                    End If
                    strHTML += "<TR>"
                    strHTML += "<TD VALIGN=""top"" CLASS=""YourCompanyNameSurveyResults"">" & formatSurveyOption(objSurveyOption.OptionName, objSurveyOption.IsCorrect) & "&nbsp;(" & objSurveyOption.Votes.ToString & ")</TD>"
                    strHTML += "<TD ALIGN=""left"" VALIGN=""top"" CLASS=""Normal"" NOWRAP><IMG SRC=""" & Me.TemplateSourceDirectory & "/red.gif"" WIDTH=""" & (intGraphWidth * dblPercent) & """ BORDER=""0"" HEIGHT=""15"">&nbsp;" & CInt(dblPercent * 100).ToString & "%</TD>"
                    strHTML += "</TR>"
                Next
            End If

            strHTML += "</TABLE>"

            Dim lblResults As Label = CType(e.Item.FindControl("lblResults"), Label)
            lblResults.Text = strHTML
        End Sub

        Private Sub cmdSurvey_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdSurvey.Click
            DisplaySurvey()
        End Sub

#End Region



Michael Washington
* ADefWebserver.com
* DNN Module Developer's Guide
* IWEB - DNN Web Services
* Silverlight and DotNetNuke
 
Previous Previous
 
Next Next
  Forum  DotNetNuke® Pro...  Survey Module [...  To Fix the Survey Module to work with DNN 4.5
 


Forum Policy

These Discussion Forums are dedicated to the discussion of the DotNetNuke Web Application Framework.

For the benefit of the community and to protect the integrity of the project, please observe the following posting guidelines:

1. No Advertising. This includes promotion of commercial and non-commercial products or services which are not directly related to DotNetNuke.
2. Discussion or promotion of DotNetNuke product releases under a different brand name are strictly prohibited.
3. No Flaming or Trolling.
4. No Profanity, Racism, or Prejudice.
5. Site Moderators have the final word on approving/removing a thread or post or comment.
6. English language posting only, please.

 


Aricie
Aricie is one of the French pioneers and experts in DotNetNuke technology.
www.aricie.com
AFUEGO!
Looking for Free DNN Hosting?
www.AFUEGO.com
Code 5 Systems, LLC.
The DNN Missing Link: A Form Module. Form Master 1.6 is an intuitive Form Creation Module at a great price. Quality Custom Module development, and DNN consulting services.
www.code5systems.com

DotNetNuke Corporation   Terms Of Use  Privacy Statement
DotNetNuke®, DNN®, and the DotNetNuke logo are trademarks of DotNetNuke Corporation
Hosted by MaximumASP