Example #1
0
		public static void Write(ProjectManager projects, string path, IdTable ids) {
			foreach ( var p in projects ) {
				if ( p == Project.Empty ) continue;
				var f = new XmlWriter(path + p.Name + ".xml");
				f.Begin(p, ids);
				f.Begin("Assignments");
				var faclist = new FlatAssignmentCollection[p.Assignments.Count];
				lock ( p.Assignments ) p.Assignments.CopyTo(faclist, 0);
				foreach ( var fac in faclist ) {
					f.Begin(fac, ids);
					var falist = new FlatAssignment[fac.Count];
					lock ( fac ) fac.CopyTo(falist, 0);
					foreach ( var fa in falist ) f.Write(fa, ids);
					f.End(fac);
				}
				f.End("Assignments");
				f.Begin("Costs");
				var costlist = new Cost[p.Costs.Count];
				lock ( p.Costs ) p.Costs.CopyTo(costlist, 0);
				foreach ( var c in costlist ) {
					f.Begin(c, ids);
					f.Begin("Options");
					var optionslist = new CostOptions[c.Options.Count];
					lock ( c.Options ) c.Options.CopyTo(optionslist, 0);
					foreach ( var o in optionslist ) f.Write(o, ids);
					f.End("Options");
					f.End(c);
				}
				f.End("Costs");
				f.End(p);
				f.Close();
			}
		}
Example #2
0
		public void AddLessee(Lessee l) {
			if ( options.Count(o => o.Lessee == l) < 1 ) {
				var o = new CostOptions(this, l);
				o.PropertyChanged += (s, e) => {
					if (e.PropertyName == "Amount") {
						CalculateTotalAmountFromExternal();
					}
				};
				options.Add(o);
			}
		}
Example #3
0
 public void AddLessee(Lessee l)
 {
     if (options.Count(o => o.Lessee == l) < 1)
     {
         var o = new CostOptions(this, l);
         o.PropertyChanged += (s, e) => {
             if (e.PropertyName == "Amount")
             {
                 CalculateTotalAmountFromExternal();
             }
         };
         options.Add(o);
     }
 }