public override DataSet Clone() { NSurveyVoter cln = ((NSurveyVoter)(base.Clone())); cln.InitVars(); return(cln); }
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(fupDataFile.PostedFile.InputStream); 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; } } }
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(); }
/// <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; }
public void ImportVoter(int surveyId,NSurveyVoter importVoter) { VoterFactory.Create().ImportVoter(surveyId,importVoter); }