Пример #1
0
		void LoadData() {
			var refs = new ReferenceTable();
			var lessees = (LesseeManager)FindResource("LesseeData");
			var properties = (PropertyManager)FindResource("PropertyData");
			var projects = (ProjectManager)FindResource("ProjectData");
			var projectinfo = (ProjectInfoCollection)FindResource("ProjectInfo");
			var serializer = (Serializer)FindResource("Serializer");
			Xml.Read(Settings.PropertyFilepath, properties, refs, serializer.IdTable);
			Xml.Read(Settings.LesseeFilepath, lessees, refs, serializer.IdTable);
			projectinfo.Scan(Settings.ProjectPath, serializer.IdTable);
			refs.Update(serializer.IdTable);
		}
Пример #2
0
        void LoadData()
        {
            var refs        = new ReferenceTable();
            var lessees     = (LesseeManager)FindResource("LesseeData");
            var properties  = (PropertyManager)FindResource("PropertyData");
            var projects    = (ProjectManager)FindResource("ProjectData");
            var projectinfo = (ProjectInfoCollection)FindResource("ProjectInfo");
            var serializer  = (Serializer)FindResource("Serializer");

            Xml.Read(Settings.PropertyFilepath, properties, refs, serializer.IdTable);
            Xml.Read(Settings.LesseeFilepath, lessees, refs, serializer.IdTable);
            projectinfo.Scan(Settings.ProjectPath, serializer.IdTable);
            refs.Update(serializer.IdTable);
        }
Пример #3
0
		public void TestDeserialise() {
			var id = new IdTable();
			var refs = new ReferenceTable();
			var props = new PropertyManager();
			var lessees = new LesseeManager();
			var projects = new ProjectManager();
			Xml.Read("D:\\Projects\\Olivia2\\Olivia2.Persistence.Test\\Properties.xml", props, refs, id);
			Xml.Read("D:\\Projects\\Olivia2\\Olivia2.Persistence.Test\\Lessees.xml", lessees, refs, id);
			Xml.Read("D:\\Projects\\Olivia2\\Olivia2.Persistence.Test\\Abrechnung 2011.xml", projects, refs, id);
			refs.Update(id);
			Equals(props[0].Name, "Haus1");
			Equals(props[0].Flats[0].Name, "Wohnung A");
			Equals(projects.Current.Assignments[0].Flat, props[0].Flats[0]);
		}
Пример #4
0
        public void TestDeserialise()
        {
            var id       = new IdTable();
            var refs     = new ReferenceTable();
            var props    = new PropertyManager();
            var lessees  = new LesseeManager();
            var projects = new ProjectManager();

            Xml.Read("D:\\Projects\\Olivia2\\Olivia2.Persistence.Test\\Properties.xml", props, refs, id);
            Xml.Read("D:\\Projects\\Olivia2\\Olivia2.Persistence.Test\\Lessees.xml", lessees, refs, id);
            Xml.Read("D:\\Projects\\Olivia2\\Olivia2.Persistence.Test\\Abrechnung 2011.xml", projects, refs, id);
            refs.Update(id);
            Equals(props[0].Name, "Haus1");
            Equals(props[0].Flats[0].Name, "Wohnung A");
            Equals(projects.Current.Assignments[0].Flat, props[0].Flats[0]);
        }
Пример #5
0
		public OpenProject() {
			InitializeComponent();

			SetValue(ProjectSelectedProperty, false);
			ProjectList.SelectionChanged += (o, e) => {
				SetValue(ProjectSelectedProperty, ProjectList.SelectedItems != null);
			};

			OpenButton.Click += (_, __) => {
				var refs = new ReferenceTable();
				var filepath = ((ProjectInfo)ProjectList.SelectedItem).Filepath;
				var projects = (ProjectManager)FindResource("ProjectData");
				var ids = ((Serializer)FindResource("Serializer")).IdTable;
				Xml.Read(filepath, projects, refs, ids);
				refs.Update(ids);
				projects.Current.Result.Calculate();
				MainWindow.ActiveTask = 7;
			};
		}
Пример #6
0
        public OpenProject()
        {
            InitializeComponent();

            SetValue(ProjectSelectedProperty, false);
            ProjectList.SelectionChanged += (o, e) => {
                SetValue(ProjectSelectedProperty, ProjectList.SelectedItems != null);
            };

            OpenButton.Click += (_, __) => {
                var refs     = new ReferenceTable();
                var filepath = ((ProjectInfo)ProjectList.SelectedItem).Filepath;
                var projects = (ProjectManager)FindResource("ProjectData");
                var ids      = ((Serializer)FindResource("Serializer")).IdTable;
                Xml.Read(filepath, projects, refs, ids);
                refs.Update(ids);
                projects.Current.Result.Calculate();
                MainWindow.ActiveTask = 7;
            };
        }
Пример #7
0
		public static void Read(string filepath, ProjectManager projects, ReferenceTable references, IdTable ids) {
			var xml = new XPathDocument(filepath).CreateNavigator();
			var project = new Project();
			var pnode = xml.SelectSingleNode("/Project");
			ids[project] = new Guid(pnode.GetAttribute("id", ""));
			AssignProperties(pnode, project, references);
			references.Update(ids);// force Project.Property assignment
			var aci = pnode.Select("Assignments/FlatAssignmentCollection");
			while ( aci.MoveNext() ) {
				var acnode = aci.Current;
				var flatid = acnode.SelectSingleNode("Flat").Value;
				var collection = project.Assignments.First(ac => ids[ac.Flat].ToString() == flatid);
				ids[collection] = new Guid(acnode.GetAttribute("id", ""));
				AssignProperties(acnode, collection, references);
				var ai = acnode.Select("FlatAssignment");
				while ( ai.MoveNext() ) {
					var anode = ai.Current;
					var a = new FlatAssignment(project);
					ids[a] = new Guid(anode.GetAttribute("id", ""));
					AssignProperties(anode, a, references);
					collection.Add(a);
				}
			}
			references.Update(ids);// force Assignments for CostOptions generation
			var ci = pnode.Select("Costs/Cost");
			while ( ci.MoveNext() ) {
				var cnode = ci.Current;
				var c = project.CreateCost();
				ids[c] = new Guid(cnode.GetAttribute("id", ""));
				AssignProperties(cnode, c, references);
				var oi = cnode.Select("Options/CostOptions");
				while ( oi.MoveNext() ) {
					var onode = oi.Current;
					var lesseeid = onode.SelectSingleNode("Lessee").Value;
					var option = c.Options.First(o => ids[o.Lessee].ToString() == lesseeid);
					ids[option] = new Guid(onode.GetAttribute("id", ""));
					AssignProperties(onode, option, references);
				}
			}
			projects.Add(project);
		}