Example #1
0
        public static void Read(string filepath, LesseeManager lessees, ReferenceTable references, IdTable ids)
        {
            var xml  = new XPathDocument(filepath).CreateNavigator();
            var li   = xml.Select("/Lessees/Lessee");
            var list = new List <Lessee>();

            while (li.MoveNext())
            {
                var lnode = li.Current;
                var l     = new Lessee();
                ids[l] = new Guid(lnode.GetAttribute("id", ""));
                AssignProperties(lnode, l, references);
                var pi = lnode.Select("Payments/AdvancePayment");
                while (pi.MoveNext())
                {
                    var pnode = pi.Current;
                    var p     = new AdvancePayment();
                    ids[p] = new Guid(pnode.GetAttribute("id", ""));
                    AssignProperties(pnode, p, references);
                    l.Payments.Add(p);
                }
                list.Add(l);
            }
            foreach (var i in list.OrderBy(item => item.Name))
            {
                lessees.Add(i);
            }
        }
Example #2
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]);
		}
Example #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]);
        }
Example #4
0
		public static void Write(LesseeManager lessees, string filepath, IdTable ids) {
			var f = new XmlWriter(filepath);
			f.Begin("Lessees");
			var list = new Lessee[lessees.Count];
			lock ( lessees ) lessees.CopyTo(list, 0);
			foreach ( var l in list ) {
				f.Begin(l, ids);
				f.Begin("Payments");
				var paymentlist = new AdvancePayment[l.Payments.Count];
				lock ( l.Payments ) l.Payments.CopyTo(paymentlist, 0);
				foreach ( var p in paymentlist ) f.Write(p, ids);
				f.End("Payments");
				f.End(l);
			}
			f.End("Lessees");
			f.Close();
		}
Example #5
0
		public void TestSerialise() {
			var id = new IdTable();
			var props = new PropertyManager();
			var lessees = new LesseeManager();
			Xml.Write(props, "Properties.xml", id);
			Xml.Write(lessees, "Lessees.xml", id);
			var projects = new ProjectManager();
			projects.Add(new Project());
			projects.Current.Property = props[0];
			projects.Current.CreateCost();
			var fac = projects.Current.Assignments.First(a => a.Flat == props[0].Flats[0]);
			var assignment = new FlatAssignment(projects.Current);
            assignment.Start = DateTime.Now;
            assignment.End = DateTime.Now.AddMonths(3);
			assignment.Lessee = lessees[0];
			fac.Add(assignment);
			Xml.Write(projects, "", id);
		}
Example #6
0
        public void TestSerialise()
        {
            var id      = new IdTable();
            var props   = new PropertyManager();
            var lessees = new LesseeManager();

            Xml.Write(props, "Properties.xml", id);
            Xml.Write(lessees, "Lessees.xml", id);
            var projects = new ProjectManager();

            projects.Add(new Project());
            projects.Current.Property = props[0];
            projects.Current.CreateCost();
            var fac        = projects.Current.Assignments.First(a => a.Flat == props[0].Flats[0]);
            var assignment = new FlatAssignment(projects.Current);

            assignment.Start  = DateTime.Now;
            assignment.End    = DateTime.Now.AddMonths(3);
            assignment.Lessee = lessees[0];
            fac.Add(assignment);
            Xml.Write(projects, "", id);
        }
Example #7
0
        public static void Write(LesseeManager lessees, string filepath, IdTable ids)
        {
            var f = new XmlWriter(filepath);

            f.Begin("Lessees");
            var list = new Lessee[lessees.Count];

            lock (lessees) lessees.CopyTo(list, 0);
            foreach (var l in list)
            {
                f.Begin(l, ids);
                f.Begin("Payments");
                var paymentlist = new AdvancePayment[l.Payments.Count];
                lock (l.Payments) l.Payments.CopyTo(paymentlist, 0);
                foreach (var p in paymentlist)
                {
                    f.Write(p, ids);
                }
                f.End("Payments");
                f.End(l);
            }
            f.End("Lessees");
            f.Close();
        }
Example #8
0
		public static void Read(string filepath, LesseeManager lessees, ReferenceTable references, IdTable ids) {
			var xml = new XPathDocument(filepath).CreateNavigator();
			var li = xml.Select("/Lessees/Lessee");
            var list = new List<Lessee>();
			while ( li.MoveNext() ) {
				var lnode = li.Current;
				var l = new Lessee();
				ids[l] = new Guid(lnode.GetAttribute("id", ""));
				AssignProperties(lnode, l, references);
				var pi = lnode.Select("Payments/AdvancePayment");
				while ( pi.MoveNext() ) {
					var pnode = pi.Current;
					var p = new AdvancePayment();
					ids[p] = new Guid(pnode.GetAttribute("id", ""));
					AssignProperties(pnode, p, references);
					l.Payments.Add(p);
				}
                list.Add(l);
			}
            foreach (var i in list.OrderBy(item => item.Name))
                lessees.Add(i);
		}
Example #9
0
 public void OnNewItem(object sender, ExecutedRoutedEventArgs e)
 {
     lock (LesseeManager) Lessee = LesseeManager.Create();
     Lessee.Payments.Add(new AdvancePayment(DateTime.MinValue, 0));
 }
Example #10
0
 public void OnRemoveItem(object sender, ExecutedRoutedEventArgs e)
 {
     lock (LesseeManager) LesseeManager.Remove(Lessee);
 }