private void ImportXMLButton_Click(object sender, System.EventArgs e) { if (ImportFile.PostedFile != null) { NSurveyForm importedSurveys = new NSurveyForm(); try { importedSurveys.ReadXml(System.Xml.XmlReader.Create(ImportFile.PostedFile.InputStream, (new System.Xml.XmlReaderSettings() { XmlResolver = null }))); if (importedSurveys.Survey.Rows.Count > 0) { // Prevents SQL injection from custom hand written datasources Sql answer types in the import Xml if (!GlobalConfig.SqlBasedAnswerTypesAllowed || !(((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).CheckRight(NSurveyRights.SqlAnswerTypesEdition, false))) { foreach (NSurveyForm.AnswerTypeRow answerType in importedSurveys.AnswerType) { answerType.DataSource = null; } } new Survey().ImportSurveys(importedSurveys, ((PageBase)Page).NSurveyUser.Identity.UserId, ((PageBase)Page).SelectedFolderId ?? -1); Surveys srv = new Surveys(); srv.SetFolderId(((PageBase)Page).SelectedFolderId, importedSurveys.Survey[0].SurveyID); AssignSurveyToUser(importedSurveys.Survey[0].SurveyID); SurveyId = importedSurveys.Survey[0].SurveyID; UINavigator.NavigateToSurveyBuilder(importedSurveys.Survey[0].SurveyID, 4); ((PageBase)Page).ShowNormalMessage(MessageLabel, ((PageBase)Page).GetPageResource("SurveyImported")); } else { ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("SurveyNotImported")); } MessageLabel.Visible = true; } catch (Exception ex) { if (ex.Message == "DUPLICATEFOLDER") { ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("SurveyImportDuplicate")); } else { ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("Exception") + " " + ex.Message); } MessageLabel.Visible = true; } } }
private void ImportXMLButton_Click(object sender, System.EventArgs e) { if (ImportFile.PostedFile != null) { NSurveyForm importedSurveys = new NSurveyForm(); try { importedSurveys.ReadXml(ImportFile.PostedFile.InputStream); if (importedSurveys.Survey.Rows.Count > 0) { // Prevents SQL injection from custom hand written datasources Sql answer types in the import Xml if (!GlobalConfig.SqlBasedAnswerTypesAllowed || !(((PageBase)Page).NSurveyUser.Identity.IsAdmin || ((PageBase)Page).CheckRight(NSurveyRights.SqlAnswerTypesEdition, false))) { foreach (NSurveyForm.AnswerTypeRow answerType in importedSurveys.AnswerType) { answerType.DataSource = null; } } new Survey().ImportSurveys(importedSurveys, ((PageBase)Page).NSurveyUser.Identity.UserId, ((PageBase)Page).SelectedFolderId ?? -1); Surveys srv = new Surveys(); srv.SetFolderId(((PageBase)Page).SelectedFolderId, importedSurveys.Survey[0].SurveyID); AssignSurveyToUser(importedSurveys.Survey[0].SurveyID); SurveyId = importedSurveys.Survey[0].SurveyID; UINavigator.NavigateToSurveyBuilder(importedSurveys.Survey[0].SurveyID, 4); ((PageBase)Page).ShowNormalMessage(MessageLabel, ((PageBase)Page).GetPageResource("SurveyImported")); } else ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("SurveyNotImported")); MessageLabel.Visible = true; } catch (Exception ex) { if (ex.Message == "DUPLICATEFOLDER") ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("SurveyImportDuplicate") ); else ((PageBase)Page).ShowErrorMessage(MessageLabel, ((PageBase)Page).GetPageResource("Exception") + " " + ex.Message); MessageLabel.Visible = true; } } }