public SelectCategoryWindowVM(StudyUnitVM studyUnit) : base(studyUnit) { categories = new ObservableCollection<CategoryVM>(); selectedCategories = new ObservableCollection<CategoryVM>(); Filter(""); }
public MemberFormVM(StudyUnitVM studyUnit) : base(studyUnit) { members = new ObservableCollection<MemberVM>(); organizations = new ObservableCollection<OrganizationVM>(); //OrganizationVMのリストを生成する(画面下部に表示される他、メンバーの組織選択コンボで使われる) int i = 1; foreach (Organization organizationModel in studyUnit.OrganizationModels) { OrganizationVM organization = new OrganizationVM(organizationModel); InitExistOrganization(organization, i++); organizations.Add(organization); } //MemberVMのリストを生成する i = 1; foreach (Member memberModel in studyUnit.MemberModels) { OrganizationVM organization = OrganizationVM.Find(organizations, memberModel.OrganizationId); MemberVM member = new MemberVM(memberModel, organization.OrganizationName); InitExistMember(member, i++); members.Add(member); } memberSyncher = new ModelSyncher<MemberVM, Member>(this, members, studyUnit.MemberModels); organizationSyncher = new ModelSyncher<OrganizationVM, Organization>(this, organizations, studyUnit.OrganizationModels); }
public void WriteCodebook(string path, StudyUnitVM studyUnit) { Debug.Assert(!string.IsNullOrEmpty(path)); this.studyUnit = studyUnit; ClearError(); CreateConvertIds(); XmlWriterSettings xws = new XmlWriterSettings(); xws.Indent = true; xws.Encoding = Encoding.UTF8; using (XmlWriter xw = XmlWriter.Create(path, xws)) { XDocument doc = new XDocument( DECLARATION, new XElement(cb + TAG_CODEBOOK, CreateSafeIDAttribute(studyUnit.Id), CreateVersionAttribute(), new XAttribute("xmlns", cb), new XAttribute(XNamespace.Xmlns + "xsi", xsi), new XAttribute(XNamespace.Xmlns + "dc", dc), new XAttribute(XNamespace.Xmlns + "terms", terms), new XAttribute(XNamespace.Xmlns + "schemaLocation", schemaLocation), CreateStdyDscr(), CreateFileDscrs(), CreateDataDscr() ) ); CheckError(); doc.WriteTo(xw); } }
public SelectMemberWindowVM(StudyUnitVM studyUnit) : base(studyUnit) { this.members = new ObservableCollection<MemberVM>(); this.selectedMember = null; this.Filter(""); }
public static void ExportQuestionnaire(EDOConfig config, StudyUnitVM studyUnit) { ControlConstructSchemeVM controlConstructScheme = null; if (studyUnit.ControlConstructSchemes.Count > 1) { SelectObjectWindowVM<ControlConstructSchemeVM> vm = new SelectObjectWindowVM<ControlConstructSchemeVM>(studyUnit.ControlConstructSchemes); SelectObjectWindow window = new SelectObjectWindow(vm); controlConstructScheme = SelectObjectWindow.Select(Resources.SelectOrder, vm) as ControlConstructSchemeVM; //順序の選択 } else if (studyUnit.ControlConstructSchemes.Count == 1) { controlConstructScheme = studyUnit.ControlConstructSchemes[0]; } if (controlConstructScheme == null) { return; } string path = IOUtils.QuerySavePathName(Resources.ExportQuestionnair + ": " + controlConstructScheme.Title , null, QUESTIONNAIRE_FILTER, true); if (string.IsNullOrEmpty(path)) { return; } try { QuestionnaireWriter writer = new QuestionnaireWriter(config, controlConstructScheme); writer.Write(path); } catch (Exception ex) { EDOUtils.ShowUnexpectedError(ex); } }
public static void ExportSetupSyntax(StudyUnitVM studyUnit) { DataFileVM dataFile = null; if (studyUnit.DataFiles.Count > 1) { SelectObjectWindowVM<DataFileVM> vm = new SelectObjectWindowVM<DataFileVM>(studyUnit.DataFiles); SelectObjectWindow window = new SelectObjectWindow(vm); dataFile = SelectObjectWindow.Select(Resources.SelectDataFile, vm) as DataFileVM; //データファイルの選択 } else if (studyUnit.DataFiles.Count == 1) { dataFile = studyUnit.DataFiles[0]; } if (dataFile == null) { return; } string path = IOUtils.QuerySavePathName(Resources.ExportSetupSyntax, null, SETUPSYNTAX_FILTER, true); //セットアップシンタックスのエクスポート if (string.IsNullOrEmpty(path)) { return; } try { SetupSyntaxWriter writer = new SetupSyntaxWriter(studyUnit, dataFile); writer.Write(path); } catch (Exception ex) { EDOUtils.ShowUnexpectedError(ex); } }
public SelectResponseWindowVM(StudyUnitVM studyUnit, ResponseVM excludeResponse) : base(studyUnit) { this.excludeResponse = excludeResponse; this.responses = new ObservableCollection<ResponseVM>(); Filter(""); }
public SelectVariableWindowVM(StudyUnitVM studyUnit) : base(studyUnit) { variables = new ObservableCollection<VariableVM>(); selectedVariables = new ObservableCollection<VariableVM>(); Filter(""); }
public SamplingFormVM(StudyUnitVM studyUnit) : base(studyUnit) { samplings = new ObservableCollection<SamplingVM>(); //タイトルの命名方法を他のところと変える。 //・EXCELのシート名のように使われていないユニークなタイトルを見つける。 //・変数のイメージや助成金などは自分でタイトルを変更することができるが、 //ここではできないため。 HashSet<string> titles = Sampling.CollectTitles(studyUnit.SamplingModels); foreach (Sampling samplingModel in studyUnit.SamplingModels) { int uniqIndex = EDOUtils.UniqOrderNo(titles, samplingModel.Title, PREFIX); SamplingVM sampling = new SamplingVM(samplingModel) { Parent = this, OrderNo = uniqIndex, OrderPrefix = PREFIX }; sampling.Init(); samplings.Add(sampling); titles.Add(sampling.Title); //タイトルセットに追加。 } modelSyncher = new ModelSyncher<SamplingVM, Sampling>(this, samplings, studyUnit.SamplingModels); }
public AbstractFormVM(StudyUnitVM studyUnit) : base(studyUnit) { abstractModel = studyUnit.AbstractModel; this.IsIgnoreValidation = true; books = new ObservableCollection<BookVM>(); }
public CodeFormVM(StudyUnitVM studyUnit) : base(studyUnit) { codeSchemes = new ObservableCollection<CodeSchemeVM>(); foreach (CodeScheme codeSchemeModel in studyUnit.CodeSchemeModels) { CodeSchemeVM codeScheme = CreateCodeScheme(codeSchemeModel); codeSchemes.Add(codeScheme); } modelSyncher = new ModelSyncher<CodeSchemeVM, CodeScheme>(this, codeSchemes, studyUnit.CodeSchemeModels); }
public BookFormVM(StudyUnitVM studyUnit) : base(studyUnit) { books = new ObservableCollection<BookVM>(); foreach (Book bookModel in studyUnit.BookModels) { BookVM book = new BookVM(bookModel) { Parent = this }; books.Add(book); } modelSyncher = new ModelSyncher<BookVM, Book>(this, books, studyUnit.BookModels); }
public CategoryFormVM(StudyUnitVM studyUnit) : base(studyUnit) { categorySchemes = new ObservableCollection<CategorySchemeVM>(); foreach (CategoryScheme categorySchemeModel in studyUnit.CategorySchemeModels) { CategorySchemeVM categoryScheme = new CategorySchemeVM(categorySchemeModel) { Parent = this }; categorySchemes.Add(categoryScheme); } modelSyncher = new ModelSyncher<CategorySchemeVM, CategoryScheme>(this, categorySchemes, studyUnit.CategorySchemeModels); }
public QuestionGroupFormVM(StudyUnitVM studyUnit) : base(studyUnit) { ObservableCollection<QuestionVM> allQuestions = studyUnit.AllQuestions; questionGroups = new ObservableCollection<QuestionGroupVM>(); foreach (QuestionGroup questionGroupModel in studyUnit.QuestionGroupModels) { QuestionGroupVM questionGroup = new QuestionGroupVM(questionGroupModel, allQuestions) { Parent = this }; questionGroups.Add(questionGroup); } modelSyncher = new ModelSyncher<QuestionGroupVM, QuestionGroup>(this, questionGroups, studyUnit.QuestionGroupModels); }
public DataFileFormVM(StudyUnitVM studyUnit) : base(studyUnit) { dataFiles = new ObservableCollection<DataFileVM>(); foreach (DataFile dataFileModel in studyUnit.DataFileModels) { DataSetVM dataSet = studyUnit.FindDataSet(dataFileModel.DataSetId); if (dataSet != null) { DataFileVM dataFile = createDataFile(dataFileModel, dataSet); dataFiles.Add(dataFile); } } modelSyncher = new ModelSyncher<DataFileVM, DataFile>(this, dataFiles, studyUnit.DataFileModels); }
public VariableFormVM(StudyUnitVM studyUnit) : base(studyUnit) { variables = new ObservableCollection<VariableVM>(); foreach (Variable variableModel in studyUnit.VariableModels) { //VariableVMの生成 VariableVM variable = new VariableVM(variableModel); InitVariable(variable); //ResponseVMの生成 variable.Response = CreateResponse(variableModel.Response); //配列に追加 variables.Add(variable); } modelSyncher = new ModelSyncher<VariableVM, Variable>(this, variables, studyUnit.VariableModels); }
public QuestionFormVM(StudyUnitVM studyUnit) : base(studyUnit) { concepts = new ObservableCollection<ConceptVM>(); questionsDict = new Dictionary<string, ObservableCollection<QuestionVM>>(); foreach (Question questionModel in studyUnit.QuestionModels) { //QuestionVMの生成 ObservableCollection<QuestionVM> questions = RelatedQuestions(questionModel.ConceptId); QuestionVM question = new QuestionVM(questionModel); InitQuestion(question); //ResponseVMの生成 question.Response = CreateResponse(questionModel.Response); //配列に追加 questions.Add(question); } }
public static void ExportCodebook(StudyUnitVM studyUnit) { string path = IOUtils.QuerySavePathName(Resources.ExportCodebook, null, CODEBOOK_FILTER, true); //コードブックのエクスポート if (string.IsNullOrEmpty(path)) { return; } try { CodebookWriter writer = new CodebookWriter(studyUnit); writer.Write(path); } catch (Exception ex) { EDOUtils.ShowUnexpectedError(ex); } }
public void WriteGroup(string path, GroupVM group, List<StudyUnitVM> studyUnits) { Debug.Assert(!string.IsNullOrEmpty(path)); ClearError(); XmlWriterSettings xws = new XmlWriterSettings(); xws.Indent = true; xws.Encoding = Encoding.UTF8; using (XmlWriter xw = XmlWriter.Create(path, xws)) { XElement gr = CreateGroup(group, studyUnits); foreach (StudyUnitVM studyUnit in studyUnits) { XElement su = new XElement(g + TAG_STUDY_UNIT); gr.Add(su); this.studyUnit = studyUnit; su.Add(CreateStudyUnit()); } gr.Add(CreateComparison(group, studyUnits)); XDocument doc = new XDocument( DECLARATION, new XElement(ddi + TAG_DDI_INSTANCE, CreateIDAttribute(group.GroupModel.InstanceId), CreateVersionAttribute(), CreateAgencyAttribute(), new XAttribute(XNamespace.Xmlns + "ddi", ddi), new XAttribute(XNamespace.Xmlns + "s", s), new XAttribute(XNamespace.Xmlns + "r", r), new XAttribute(XNamespace.Xmlns + "a", a), new XAttribute(XNamespace.Xmlns + "c", c), new XAttribute(XNamespace.Xmlns + "d", d), new XAttribute(XNamespace.Xmlns + "l", l), new XAttribute(XNamespace.Xmlns + "p", p), new XAttribute(XNamespace.Xmlns + "pi", pi), new XAttribute(XNamespace.Xmlns + "g", g), new XAttribute(XNamespace.Xmlns + "cm", cm), new XAttribute(XNamespace.Xmlns + "dce", dce), new XAttribute(XNamespace.Xmlns + "dc", dc), gr )); CheckError(); doc.WriteTo(xw); } }
public FundingInfoFormVM(StudyUnitVM studyUnitVM) : base(studyUnitVM) { fundingInfos = new ObservableCollection<FundingInfoVM>(); int i = 1; foreach (FundingInfo fundingInfoModel in studyUnitVM.FundingInfoModels) { FundingInfoVM fundingInfo = new FundingInfoVM(fundingInfoModel) { Parent = this, OrderNo = i++, OrderPrefix = PREFIX }; fundingInfo.InitTitle(); fundingInfos.Add(fundingInfo); } modelSyncher = new ModelSyncher<FundingInfoVM, FundingInfo>(this, fundingInfos, studyUnitVM.FundingInfoModels); }
public EventFormVM(StudyUnitVM studyUnit) : base(studyUnit) { events = new ObservableCollection<EventVM>(); foreach (Event eventModel in studyUnit.EventModels) { EventVM ev = new EventVM(eventModel); InitEvent(ev); events.Add(ev); } modelSyncher = new ModelSyncher<EventVM, Event>(this, events, studyUnit.EventModels); contents = new ObservableCollection<string>(); foreach (Option option in Options.EventTypes) { contents.Add(option.Label); } }
public ConceptFormVM(StudyUnitVM studyUnit) : base(studyUnit) { this.conceptSchemes = new ObservableCollection<ConceptSchemeVM>(); int i = 1; foreach (ConceptScheme conceptSchemeModel in studyUnit.ConceptSchemeModels) { ConceptSchemeVM conceptScheme = new ConceptSchemeVM(conceptSchemeModel) { Parent = this, OrderNo = i++, OrderPrefix = PREFIX }; conceptScheme.InitTitle(); conceptSchemes.Add(conceptScheme); } modelSyncher = new ModelSyncher<ConceptSchemeVM, ConceptScheme>(this, conceptSchemes, studyUnit.ConceptSchemeModels); allConcepts = new ObservableCollection<ConceptVM>(); }
public SequenceFormVM(StudyUnitVM studyUnit) : base(studyUnit) { controlConstructSchemes = new ObservableCollection<ControlConstructSchemeVM>(); int i = 1; foreach (ControlConstructScheme model in studyUnit.ControlConstructSchemeModels) { ControlConstructSchemeVM controlConstructScheme = new ControlConstructSchemeVM(model) { Parent = this, OrderNo = i++, OrderPrefix = PREFIX }; controlConstructScheme.Init(); controlConstructSchemes.Add(controlConstructScheme); } modelSyncher = new ModelSyncher<ControlConstructSchemeVM, ControlConstructScheme>( this, controlConstructSchemes, studyUnit.ControlConstructSchemeModels); }
public static bool ImportDDI(StudyUnitVM studyUnit, EDOModel edoModel) { FileDialogResult result = IOUtils.QueryOpenPathNameEx(DDI_FILE_FILTER); if (result == null) { return false; } if (result.FilterIndex == DDI3_FILTER_INDEX) { DDI3Reader reader = new DDI3Reader(); return reader.Read(studyUnit, edoModel, result.FileName); } else if (result.FilterIndex == DDI2_FILTER_INDEX) { DDI2Reader reader = new DDI2Reader(); return reader.Read(studyUnit, edoModel, result.FileName); } return false; }
public static void ExportStudyUnit(EDOConfig config, StudyUnitVM studyUnit) { FileDialogResult result = IOUtils.QuerySavePathNameEx(string.Format(Resources.StudyUnitExport, studyUnit.Title), null, DDI_FILE_FILTER, true); if (result == null) { return; } if (result.FilterIndex == DDI3_FILTER_INDEX) { DDI3Writer writer = new DDI3Writer(config); writer.WriteStudyUnit(result.FileName, studyUnit); DDI3Reader.Validate(result.FileName); } else if (result.FilterIndex == DDI2_FILTER_INDEX) { DDI2Writer writer = new DDI2Writer(config); writer.WriteCodebook(result.FileName, studyUnit); DDI2Reader.Validate(result.FileName); } }
public bool Read(StudyUnitVM curStudyUnit, EDOModel curEdoModel, string path) { Debug.Assert(!string.IsNullOrEmpty(path)); if (!Validate(path)) { return false; } EDOModel newEdoModel = null; ClearError(); XmlReaderSettings settings = new XmlReaderSettings(); using (XmlReader reader = XmlReader.Create(path, settings)) { XDocument doc = XDocument.Load(reader); XElement codebookElem = doc.Element(cb + TAG_CODEBOOK); if (codebookElem != null) { newEdoModel = CreateSingleModel(codebookElem); } } if (newEdoModel == null) { return false; } DDI2ImportOption importOption = new DDI2ImportOption(); SelectStudyUnitWindowVM vm = new SelectStudyUnitWindowVM(newEdoModel, curEdoModel, curStudyUnit.StudyUnitModel, importOption); SelectStudyUnitWindow window = new SelectStudyUnitWindow(vm); window.Owner = Application.Current.MainWindow; bool? result = window.ShowDialog(); if (result != true) { return false; } StudyUnit fromStudyUnit = newEdoModel.StudyUnits[0]; StudyUnit toStudyUnit = curEdoModel.StudyUnits[0]; MergeStudyUnit(fromStudyUnit, toStudyUnit, vm.ImportOption); return true; }
public DataSetFormVM(StudyUnitVM studyUnit) : base(studyUnit) { dataSets = new ObservableCollection<DataSetVM>(); foreach (DataSet dataSetModel in studyUnit.DataSetModels) { ObservableCollection<DataSetVariableVM> variables = new ObservableCollection<DataSetVariableVM>(); foreach (string guid in dataSetModel.VariableGuids) { DataSetVariableVM v = createDataSetVariable(guid); if (v != null) { variables.Add(v); } } DataSetVM dataSet = new DataSetVM(dataSetModel, variables) { Parent = this }; dataSets.Add(dataSet); } modelSyncher = new ModelSyncher<DataSetVM, DataSet>(this, dataSets, studyUnit.DataSetModels); }
public CoverageFormVM(StudyUnitVM studyUnit) : base(studyUnit) { coverage = studyUnit.CoverageModel; topics = new ObservableCollection<CheckOptionVM>(); foreach (CheckOption topic in coverage.Topics) { topics.Add(new CheckOptionVM(this, topic)); } areas = new ObservableCollection<CheckOptionVM>(); foreach (CheckOption area in coverage.Areas) { areas.Add(new CheckOptionVM(this, area)); } keywords = new ObservableCollection<KeywordVM>(); foreach (Keyword keywordModel in coverage.Keywords) { KeywordVM keyword = new KeywordVM(keywordModel); InitKeyword(keyword); keywords.Add(keyword); } modelSyncher = new ModelSyncher<KeywordVM, Keyword>(this, keywords, coverage.Keywords); }
private void treeView_SelectedItemChanged(object sender, RoutedPropertyChangedEventArgs <object> e) { EDOUnitVM edoUnit = DataContext as EDOUnitVM; if (!ProcessChanged(edoUnit, e.NewValue, e.OldValue)) { return; } if (edoUnit is StudyUnitVM) { StudyUnitVM studyUnitVM = (StudyUnitVM)edoUnit; MenuItemVM menuItem = studyUnitVM.SelectedMenuItem; studyUnitVM.Main.IsDataSet = menuItem.IsDataSet; if (menuItem.IsDataSet) { studyUnitVM.Main.IsDataSetSelected = true; } studyUnitVM.Main.IsCategory = menuItem.IsCategory; if (menuItem.IsCategory) { studyUnitVM.Main.IsCategorySelected = true; } studyUnitVM.Main.IsCode = menuItem.IsCode; if (menuItem.IsCode) { studyUnitVM.Main.IsCodeSelected = true; } studyUnitVM.Main.IsQuestionGroup = menuItem.IsQuestionGroup; if (menuItem.IsQuestionGroup) { studyUnitVM.Main.IsQuestionGroupSelected = true; } } else if (edoUnit is GroupVM) { } }
public SelectCategoryWindow(StudyUnitVM studyUnit) { InitializeComponent(); this.viewModel = new SelectCategoryWindowVM(studyUnit); this.DataContext = this.viewModel; }
public void WriteStudyUnit(string path, StudyUnitVM studyUnit) { Debug.Assert(!string.IsNullOrEmpty(path)); this.studyUnit = studyUnit; ClearError(); XmlWriterSettings xws = new XmlWriterSettings(); xws.Indent = true; xws.Encoding = Encoding.UTF8; using (XmlWriter xw = XmlWriter.Create(path, xws)) { XDocument doc = new XDocument( DECLARATION, new XElement(ddi + TAG_DDI_INSTANCE, CreateIDAttribute(studyUnit.StudyUnitModel.InstanceId), CreateVersionAttribute(), CreateAgencyAttribute(), new XAttribute(XNamespace.Xmlns + "ddi", ddi), new XAttribute(XNamespace.Xmlns + "s", s), new XAttribute(XNamespace.Xmlns + "r", r), new XAttribute(XNamespace.Xmlns + "a", a), new XAttribute(XNamespace.Xmlns + "c", c), new XAttribute(XNamespace.Xmlns + "d", d), new XAttribute(XNamespace.Xmlns + "l", l), new XAttribute(XNamespace.Xmlns + "p", p), new XAttribute(XNamespace.Xmlns + "pi", pi), new XAttribute(XNamespace.Xmlns + "dce", dce), new XAttribute(XNamespace.Xmlns + "dc", dc), CreateStudyUnit()) ); CheckError(); doc.WriteTo(xw); } }