Exemplo n.º 1
0
        /// <summary>
        /// Returns all the answers of the voters
        /// </summary>
        public NSurveyVoter GetForExport(int surveyId, DateTime startDate, DateTime endDate)
        {
            NSurveyVoter voter2 = VoterFactory.Create().GetForExport(surveyId, startDate, endDate);

            foreach (NSurveyVoter.QuestionRow row in voter2.Question)
            {
                row.QuestionText = Regex.Replace(row.QuestionText, "<[^>]*>", " ");
            }
            return(voter2);
        }
        public void btnImport_Click(Object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(fupDataFile.FileName))
            {
                ((PageBase)Page).ShowErrorMessage(MessageLabel, GetPageResource("SelectAFile"));
                MessageLabel.Visible = true;
                return;
            }
            if (this.fupDataFile.FileName != null)
            {
                NSurveyVoter voterData = new NSurveyVoter();

                try
                {
                    voterData.ReadXml(System.Xml.XmlReader.Create(fupDataFile.PostedFile.InputStream, (new System.Xml.XmlReaderSettings()
                    {
                        XmlResolver = null
                    })));
                    if (rbSelRange.Checked)
                    {
                        DateTime     start = DateTime.Parse(txtFrom.Text);
                        DateTime     end   = DateTime.Parse(txtTo.Text);
                        NSurveyVoter vd    = new NSurveyVoter();

                        voterData.Voter.Where(x => x.StartDate >= start && x.StartDate <= end).ToList().
                        ForEach(x => vd.Voter.ImportRow(x));
                        var voterIds = vd.Voter.Select(y => y.VoterID).ToList();
                        voterData.Question.Where(x => voterIds.Contains(x.VoterID)).ToList().
                        ForEach(x => vd.Question.ImportRow(x));
                        voterData.Answer.Where(x => voterIds.Contains(x.VoterId)).ToList().
                        ForEach(x => vd.Answer.ImportRow(x));
                        voterData = vd;
                    }
                    new Voter().ImportVoter(SurveyId, voterData);
                    ((PageBase)Page).ShowNormalMessage
                        (MessageLabel, GetPageResource("ImportSuccessMsg"));
                }
                catch (Exception ex)
                {
                    ((PageBase)Page).ShowErrorMessage(MessageLabel, ex.Message);
                    MessageLabel.Visible = true;
                }
            }
        }
Exemplo n.º 3
0
        /// <summary>
        /// Returns all the answers of the voters
        /// </summary>
        public NSurveyVoter GetForExport(int surveyId, DateTime startDate, DateTime endDate)
        {
            NSurveyVoter dataSet = new NSurveyVoter();

            //SqlParameter[] commandParameters = new SqlParameter[]
            //{ new SqlParameter("@SurveyID", surveyId),
            //    new SqlParameter("@StartDate", startDate),
            //    new SqlParameter("@EndDate", endDate) };

            ArrayList commandParameters = new ArrayList();

            {
                commandParameters.Add(new SqlParameter("@SurveyId", surveyId).SqlValue);
                commandParameters.Add(new SqlParameter("@StartDate", startDate).SqlValue);
                commandParameters.Add(new SqlParameter("@EndDate", endDate).SqlValue);
            }

            DbConnection.db.LoadDataSet("vts_spVoterForExport ", dataSet, new string[] { "Voter", "Question", "Answer" }, commandParameters.ToArray());
            return(dataSet);
        }
Exemplo n.º 4
0
 public void ImportVoter(int surveyId, NSurveyVoter importVoter)
 {
     VoterFactory.Create().ImportVoter(surveyId, importVoter);
 }
Exemplo n.º 5
0
        public void ImportVoter(int SurveyId, NSurveyVoter voterImport)
        {
            //QuestionIdText and AnsweridText must be supplied for every answer

            SqlConnection connection = new SqlConnection(DbConnection.NewDbConnectionString);

            connection.Open();
            SqlTransaction transaction = connection.BeginTransaction();

            for (int voterIndex = 0; voterIndex < voterImport.Voter.Count; voterIndex++)
            {
                var voter = voterImport.Voter[voterIndex];
                voter.SurveyID = SurveyId;
                //Create a new structure with voter and answers for the voter
                NSurveyVoter voterAnswers = new NSurveyVoter();
                voterAnswers.EnforceConstraints = false;

                voterAnswers.Voter.ImportRow(voter);
                voterAnswers.Answer.Columns.Add("SurveyId", typeof(int));
                voterAnswers.Answer.Columns.Add("QuestionText", typeof(string));
                var answers = voterImport.Answer.Where(x => x.VoterId == voter.VoterID).ToList();
                for (int answerIndex = 0; answerIndex < answers.Count(); answerIndex++)
                {
                    var currAnswer = answers[answerIndex];
                    voterAnswers.Answer.ImportRow(currAnswer);
                }

                foreach (var dr in voterAnswers.Answer)
                {
                    dr["QuestionText"] = voterImport.Question.Single(x => x.QuestionId == dr.QuestionId &&
                                                                     x.VoterID == dr.VoterId).QuestionText;
                    dr["SurveyId"] = SurveyId;
                }

                SqlCommand insertCommand = new SqlCommand("vts_spVoterImport", connection, transaction);
                insertCommand.CommandType = CommandType.StoredProcedure;
                insertCommand.Parameters.Add(new SqlParameter("@SurveyID", SqlDbType.Int, 4, "SurveyID"));
                insertCommand.Parameters.Add(new SqlParameter("@IPSource", SqlDbType.NVarChar, 50, "IPSource"));
                insertCommand.Parameters.Add(new SqlParameter("@VoteDate", SqlDbType.DateTime, 8, "VoteDate"));
                insertCommand.Parameters.Add(new SqlParameter("@VoterID", SqlDbType.Int, 4, "VoterID"));
                insertCommand.Parameters.Add(new SqlParameter("@StartDate", SqlDbType.DateTime, 8, "StartDate"));

                insertCommand.Parameters.Add(new SqlParameter("@LanguageCode", SqlDbType.NVarChar, 50, "LanguageCode"));

                insertCommand.Parameters["@VoterID"].Direction = ParameterDirection.Output;
                SqlCommand command2 = new SqlCommand("vts_spVoterAnswersImport", connection, transaction);

                command2.CommandType = CommandType.StoredProcedure;
                command2.Parameters.Add(new SqlParameter("@Answer", SqlDbType.NText, 0x3fffffff, "Answer"));
                command2.Parameters.Add(new SqlParameter("@VoterAnswer", SqlDbType.NText, 0x3fffffff, "VoterAnswer"));
                command2.Parameters.Add(new SqlParameter("@VoterID", SqlDbType.Int, 4, "VoterID"));
                command2.Parameters.Add(new SqlParameter("@QuestionDisplayOrder", SqlDbType.Int, 4, "QuestionDisplayOrder"));
                command2.Parameters.Add(new SqlParameter("@AnswerDisplayOrder", SqlDbType.Int, 4, "AnswerDisplayOrder"));
                command2.Parameters.Add(new SqlParameter("@SectionNumber", SqlDbType.Int, 4, "SectionNumber"));
                command2.Parameters.Add(new SqlParameter("@SurveyId", SqlDbType.Int, 4, "SurveyId"));
                command2.Parameters.Add(new SqlParameter("@QuestionText", SqlDbType.NVarChar, 4000, "QuestionText"));
                try
                {
                    DbConnection.db.UpdateDataSet(voterAnswers, "Voter", insertCommand, new SqlCommand(), insertCommand, UpdateBehavior.Transactional);
                    int voterId = voterAnswers.Voter[0].VoterID;
                    foreach (var dr in voterAnswers.Answer)
                    {
                        dr.VoterId = voterId;
                    }
                    DbConnection.db.UpdateDataSet(voterAnswers, "Answer", command2, new SqlCommand(), command2, UpdateBehavior.Transactional);
                }

                catch (Exception exception)
                {
                    transaction.Rollback();
                    throw exception;
                }
            }
            transaction.Commit();
            connection.Close();
        }