Esempio n. 1
0
        internal static TreeViewItemViewModel Create(WpfTestAppData appData)
        {
            var rootNode      = new TreeViewItemViewModel(appData.Student);
            var physicalClass = new TreeViewItemViewModel("身体測定");

            rootNode.Children.Add(physicalClass);

            foreach (var item in appData.Physicals)
            {
                var child = new TreeViewItemViewModel(item);
                physicalClass.Children.Add(child);
            }

            var testPointClass = new TreeViewItemViewModel("試験結果");

            rootNode.Children.Add(testPointClass);

            foreach (var item in appData.TestPoints)
            {
                var child = new TreeViewItemViewModel(item);
                testPointClass.Children.Add(child);
            }

            return(rootNode);
        }
Esempio n. 2
0
        /// <summary>ツリー構造を作成してルートノードを返します。</summary>
        /// <param name="appData">アプリのデータを表すWpfTestAppData。</param>
        /// <param name="parent">TreeViewItemViewModelの親を表すNavigationTreeViewModel。</param>
        /// <returns>作成したツリー構造のルートノードを表すTreeViewItemViewModel。</returns>
        internal static TreeViewItemViewModel Create(WpfTestAppData appData, NavigationTreeViewModel parent)
        {
            var rootNode      = new TreeViewItemViewModel(appData.Student, parent);
            var physicalClass = new TreeViewItemViewModel("身体測定", parent, TreeNodeCategoryType.Physical);

            rootNode.Children.Add(physicalClass);

            foreach (var item in appData.Physicals)
            {
                var child = new TreeViewItemViewModel(item, parent);
                physicalClass.Children.Add(child);
            }

            var testPointClass = new TreeViewItemViewModel("試験結果", parent, TreeNodeCategoryType.TestPoint);

            rootNode.Children.Add(testPointClass);

            foreach (var item in appData.TestPoints)
            {
                var child = new TreeViewItemViewModel(item, parent);
                testPointClass.Children.Add(child);
            }

            return(rootNode);
        }
Esempio n. 3
0
        /// <summary>コンストラクタ。</summary>
        /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param>
        public NavigationTreeViewModel(WpfTestAppData data)
        {
            this.appData = data;

            this.rootNode = TreeViewItemCreator.Create(this.appData);
            var col = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemViewModel>();

            col.Add(this.rootNode);
            this.TreeNodes = col.ToReadOnlyReactiveCollection()
                             .AddTo(this.disposables);
        }
Esempio n. 4
0
        /// <summary>新規テストデータを作成します。</summary>
        /// <returns>新規テストデータを表すWpfTestAppData。</returns>
        private static WpfTestAppData createNewTestData()
        {
            var appData = new WpfTestAppData();

            appData.Student.Name        = "新しい生徒";
            appData.Student.ClassNumber = "所属クラス";
            appData.Student.Sex         = "男";

            appData.Physicals.Add(appData.CreateNewData <PhysicalInformation>());
            appData.TestPoints.Add(appData.CreateNewData <TestPointInformation>());

            return(appData);
        }
        /// <summary>コンストラクタ。</summary>
        /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param>
        /// <param name="rm">IRegionManager(Unity からインジェクション)</param>
        public NavigationTreeViewModel(WpfTestAppData data, Prism.Regions.IRegionManager rm)
        {
            this.appData       = data;
            this.regionManager = rm;

            this.rootNode = TreeViewItemCreator.Create(this.appData);
            var col = new System.Collections.ObjectModel.ObservableCollection <TreeViewItemViewModel>();

            col.Add(this.rootNode);
            this.TreeNodes = col.ToReadOnlyReactiveCollection()
                             .AddTo(this.disposables);

            this.SelectedItemChanged = new ReactiveCommand <System.Windows.RoutedPropertyChangedEventArgs <object> >()
                                       .AddTo(this.disposables);
            this.SelectedItemChanged.Subscribe(e => this.nodeChanged(e));
        }
Esempio n. 6
0
        /// <summary>新規テストデータを作成します。</summary>
        /// <returns>新規テストデータを表すWpfTestAppData。</returns>
        private static WpfTestAppData createNewTestData()
        {
            var appData = new WpfTestAppData();

            appData.Student.Name        = "新しい生徒";
            appData.Student.ClassNumber = "所属クラス";
            appData.Student.Sex         = "男";

            appData.Physicals.Add(new PhysicalInformation()
            {
                Id = 1
            });
            appData.TestPoints.Add(new TestPointInformation()
            {
                Id       = 1,
                TestDate = "新しい試験日"
            });

            return(appData);
        }
 /// <summary>コンストラクタ。</summary>
 /// <param name="data">アプリのデータオブジェクト。(Unity からインジェクション)</param>
 /// <param name="msgService">メッセージボックス表示インタフェース。(Unity からインジェクション)</param>
 public PhysicalEditorViewModel(WpfTestAppData data, IMessageBoxService msgService)
 {
     this.appData           = data;
     this.messageBoxService = msgService;
 }
Esempio n. 8
0
 /// <summary>コンストラクタ。</summary>
 /// <param name="data">アプリのデータオブジェクト(Unity からインジェクション)</param>
 public PhysicalEditorViewModel(WpfTestAppData data)
 {
     this.appData = data;
 }
 /// <summary>コンストラクタ。</summary>
 public TestPointEditorViewModel(WpfTestAppData testAppData)
 {
     this.appData = testAppData;
 }