Пример #1
0
		/// <summary>
		/// Initiates the CCache
		/// </summary>
		internal Cache()
		{
			//myInterface = callerInterface;
			// Init cache from embedded file
			_startup = new DSStartupResources();
			_startup.ReadXml(
				CEmbeddedResources.GetEmbeddedXmlFile(
					"Allberg.Shooter.Common.DSStartupResources.xml"));

			// init cache from local file
			_localCacheFilename = CreateLocalFilename();
			_localCache = new DSLocalCache();
			if (File.Exists(_localCacheFilename))
			{
				_localCache.ReadXml(_localCacheFilename);
			}
		}
 public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedTableSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
     global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
     global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
     DSStartupResources ds = new DSStartupResources();
     global::System.Xml.Schema.XmlSchemaAny any1 = new global::System.Xml.Schema.XmlSchemaAny();
     any1.Namespace = "http://www.w3.org/2001/XMLSchema";
     any1.MinOccurs = new decimal(0);
     any1.MaxOccurs = decimal.MaxValue;
     any1.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
     sequence.Items.Add(any1);
     global::System.Xml.Schema.XmlSchemaAny any2 = new global::System.Xml.Schema.XmlSchemaAny();
     any2.Namespace = "urn:schemas-microsoft-com:xml-diffgram-v1";
     any2.MinOccurs = new decimal(1);
     any2.ProcessContents = global::System.Xml.Schema.XmlSchemaContentProcessing.Lax;
     sequence.Items.Add(any2);
     global::System.Xml.Schema.XmlSchemaAttribute attribute1 = new global::System.Xml.Schema.XmlSchemaAttribute();
     attribute1.Name = "namespace";
     attribute1.FixedValue = ds.Namespace;
     type.Attributes.Add(attribute1);
     global::System.Xml.Schema.XmlSchemaAttribute attribute2 = new global::System.Xml.Schema.XmlSchemaAttribute();
     attribute2.Name = "tableTypeName";
     attribute2.FixedValue = "WeaponsDataTable";
     type.Attributes.Add(attribute2);
     type.Particle = sequence;
     global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
     if (xs.Contains(dsSchema.TargetNamespace)) {
         global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
         global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
         try {
             global::System.Xml.Schema.XmlSchema schema = null;
             dsSchema.Write(s1);
             for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                 schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                 s2.SetLength(0);
                 schema.Write(s2);
                 if ((s1.Length == s2.Length)) {
                     s1.Position = 0;
                     s2.Position = 0;
                     for (; ((s1.Position != s1.Length) 
                                 && (s1.ReadByte() == s2.ReadByte())); ) {
                         ;
                     }
                     if ((s1.Position == s1.Length)) {
                         return type;
                     }
                 }
             }
         }
         finally {
             if ((s1 != null)) {
                 s1.Close();
             }
             if ((s2 != null)) {
                 s2.Close();
             }
         }
     }
     xs.Add(dsSchema);
     return type;
 }
 public static global::System.Xml.Schema.XmlSchemaComplexType GetTypedDataSetSchema(global::System.Xml.Schema.XmlSchemaSet xs) {
     DSStartupResources ds = new DSStartupResources();
     global::System.Xml.Schema.XmlSchemaComplexType type = new global::System.Xml.Schema.XmlSchemaComplexType();
     global::System.Xml.Schema.XmlSchemaSequence sequence = new global::System.Xml.Schema.XmlSchemaSequence();
     global::System.Xml.Schema.XmlSchemaAny any = new global::System.Xml.Schema.XmlSchemaAny();
     any.Namespace = ds.Namespace;
     sequence.Items.Add(any);
     type.Particle = sequence;
     global::System.Xml.Schema.XmlSchema dsSchema = ds.GetSchemaSerializable();
     if (xs.Contains(dsSchema.TargetNamespace)) {
         global::System.IO.MemoryStream s1 = new global::System.IO.MemoryStream();
         global::System.IO.MemoryStream s2 = new global::System.IO.MemoryStream();
         try {
             global::System.Xml.Schema.XmlSchema schema = null;
             dsSchema.Write(s1);
             for (global::System.Collections.IEnumerator schemas = xs.Schemas(dsSchema.TargetNamespace).GetEnumerator(); schemas.MoveNext(); ) {
                 schema = ((global::System.Xml.Schema.XmlSchema)(schemas.Current));
                 s2.SetLength(0);
                 schema.Write(s2);
                 if ((s1.Length == s2.Length)) {
                     s1.Position = 0;
                     s2.Position = 0;
                     for (; ((s1.Position != s1.Length) 
                                 && (s1.ReadByte() == s2.ReadByte())); ) {
                         ;
                     }
                     if ((s1.Position == s1.Length)) {
                         return type;
                     }
                 }
             }
         }
         finally {
             if ((s1 != null)) {
                 s1.Close();
             }
             if ((s2 != null)) {
                 s2.Close();
             }
         }
     }
     xs.Add(dsSchema);
     return type;
 }
Пример #4
0
		private void GetDefaultContent()
		{
			Trace.WriteLine("CDatabase: getDefaultContent() " + 
				" starting on thread \"" +
				Thread.CurrentThread.Name + "\" ( " +
				Thread.CurrentThread.ManagedThreadId + " )");

			// Read default content from xml file
			var startup =
				new DSStartupResources();
			startup.ReadXml(
				CEmbeddedResources.GetEmbeddedXmlFile(
					"Allberg.Shooter.Common.DSStartupResources.xml"));

			// Transfer default clubs to current database
			foreach (DSStartupResources.ClubsRow defaultRow in startup.Clubs)
			{
				var newRow = Database.Clubs.NewClubsRow();
				newRow.Automatic = true;
				newRow.ClubId = defaultRow.ClubId;
				newRow.Country  = defaultRow.Country;
				newRow.Name = defaultRow.Name;
				newRow.ToAutomatic = false;
				newRow.Bankgiro = defaultRow.Bankgiro;
				newRow.Plusgiro = defaultRow.Plusgiro;

				if (newRow.IsBankgiroNull())
					newRow.Bankgiro = "";

				if (newRow.IsPlusgiroNull())
					newRow.Plusgiro = "";

				Database.Clubs.AddClubsRow(newRow);
			}

			// Transfer default weapons to current database
			foreach (DSStartupResources.WeaponsRow defaultRow in startup.Weapons)
			{
				var newRow = Database.Weapons.NewWeaponsRow();
				newRow.Automatic = true;
				newRow.Class = defaultRow.Class;
				newRow.Manufacturer = defaultRow.Manufacturer;
				newRow.Model = defaultRow.Model;
				newRow.Caliber = defaultRow.Caliber;
				newRow.ToAutomatic = false;
				newRow.WeaponId = defaultRow.WeaponId;

				Database.Weapons.AddWeaponsRow(newRow);
			}
			Trace.WriteLine("CDatabase: getDefaultContent() " + 
				" ending.");
		}