diff --git a/CampusAppWP8/CampusAppW8.sln b/CampusAppWP8/CampusAppW8.sln
index 6413a5ed..fec303b9 100644
--- a/CampusAppWP8/CampusAppW8.sln
+++ b/CampusAppWP8/CampusAppW8.sln
@@ -1,38 +1,80 @@
-
-Microsoft Visual Studio Solution File, Format Version 12.00
-# Visual Studio 2012
-Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CampusAppWP8", "CampusAppWP8\CampusAppWP8.csproj", "{120B88CC-F3F0-4C5A-A3FD-C26E835338CC}"
-EndProject
-Global
- GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|x86 = Debug|x86
- Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|x86 = Release|x86
- EndGlobalSection
- GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|ARM.ActiveCfg = Debug|ARM
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|ARM.Build.0 = Debug|ARM
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|ARM.Deploy.0 = Debug|ARM
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x86.ActiveCfg = Debug|x86
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x86.Build.0 = Debug|x86
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x86.Deploy.0 = Debug|x86
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|Any CPU.Build.0 = Release|Any CPU
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|Any CPU.Deploy.0 = Release|Any CPU
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|ARM.ActiveCfg = Release|ARM
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|ARM.Build.0 = Release|ARM
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|ARM.Deploy.0 = Release|ARM
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x86.ActiveCfg = Release|x86
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x86.Build.0 = Release|x86
- {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x86.Deploy.0 = Release|x86
- EndGlobalSection
- GlobalSection(SolutionProperties) = preSolution
- HideSolutionNode = FALSE
- EndGlobalSection
-EndGlobal
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio 2012
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CampusAppWP8", "CampusAppWP8\CampusAppWP8.csproj", "{120B88CC-F3F0-4C5A-A3FD-C26E835338CC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CampussAppWStore8", "CampussAppWStore8\CampussAppWStore8.csproj", "{E49420AA-3023-42EF-8255-67B1F5E52B43}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "CampusAppWPortalLib8", "CampusAppWPortalLib8\CampusAppWPortalLib8.csproj", "{67D80BE2-0FB7-44C8-A495-7D44FC2AC262}"
+EndProject
+Global
+ GlobalSection(SolutionConfigurationPlatforms) = preSolution
+ Debug|Any CPU = Debug|Any CPU
+ Debug|ARM = Debug|ARM
+ Debug|x64 = Debug|x64
+ Debug|x86 = Debug|x86
+ Release|Any CPU = Release|Any CPU
+ Release|ARM = Release|ARM
+ Release|x64 = Release|x64
+ Release|x86 = Release|x86
+ EndGlobalSection
+ GlobalSection(ProjectConfigurationPlatforms) = postSolution
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|ARM.ActiveCfg = Debug|ARM
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|ARM.Build.0 = Debug|ARM
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|ARM.Deploy.0 = Debug|ARM
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x86.ActiveCfg = Debug|x86
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x86.Build.0 = Debug|x86
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Debug|x86.Deploy.0 = Debug|x86
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|Any CPU.Build.0 = Release|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|ARM.ActiveCfg = Release|ARM
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|ARM.Build.0 = Release|ARM
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|ARM.Deploy.0 = Release|ARM
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x64.ActiveCfg = Release|Any CPU
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x86.ActiveCfg = Release|x86
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x86.Build.0 = Release|x86
+ {120B88CC-F3F0-4C5A-A3FD-C26E835338CC}.Release|x86.Deploy.0 = Release|x86
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|Any CPU.Deploy.0 = Debug|Any CPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|ARM.ActiveCfg = Debug|ARM
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|ARM.Build.0 = Debug|ARM
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|ARM.Deploy.0 = Debug|ARM
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|x64.ActiveCfg = Debug|x64
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|x64.Build.0 = Debug|x64
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|x64.Deploy.0 = Debug|x64
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|x86.ActiveCfg = Debug|x86
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|x86.Build.0 = Debug|x86
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Debug|x86.Deploy.0 = Debug|x86
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|Any CPU.Build.0 = Release|Any CPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|Any CPU.Deploy.0 = Release|Any CPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|ARM.ActiveCfg = Release|ARM
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|ARM.Build.0 = Release|ARM
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|ARM.Deploy.0 = Release|ARM
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|x64.ActiveCfg = Release|x64
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|x64.Build.0 = Release|x64
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|x64.Deploy.0 = Release|x64
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|x86.ActiveCfg = Release|x86
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|x86.Build.0 = Release|x86
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}.Release|x86.Deploy.0 = Release|x86
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Debug|Any CPU.Build.0 = Debug|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Debug|ARM.ActiveCfg = Debug|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Debug|x64.ActiveCfg = Debug|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|Any CPU.ActiveCfg = Release|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|Any CPU.Build.0 = Release|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|ARM.ActiveCfg = Release|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|x64.ActiveCfg = Release|Any CPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}.Release|x86.ActiveCfg = Release|Any CPU
+ EndGlobalSection
+ GlobalSection(SolutionProperties) = preSolution
+ HideSolutionNode = FALSE
+ EndGlobalSection
+EndGlobal
diff --git a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
index c40749c8..45ea5c51 100644
--- a/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
+++ b/CampusAppWP8/CampusAppWP8/CampusAppWP8.csproj
@@ -480,7 +480,6 @@
..\packages\ZXing.Net.0.11.0.1\lib\wp8\zxing.wp8.0.dll
-
diff --git a/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj b/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj
new file mode 100644
index 00000000..4c60064b
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/CampusAppWPortalLib8.csproj
@@ -0,0 +1,55 @@
+
+
+
+
+ 11.0
+ Debug
+ AnyCPU
+ {67D80BE2-0FB7-44C8-A495-7D44FC2AC262}
+ Library
+ Properties
+ CampusAppWPortalLib8
+ CampusAppWPortalLib8
+ v4.5
+ Profile78
+ 512
+ {786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+
+
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE
+ prompt
+ 4
+
+
+ pdbonly
+ true
+ bin\Release\
+ TRACE
+ prompt
+ 4
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWPortalLib8/Properties/AssemblyInfo.cs b/CampusAppWP8/CampusAppWPortalLib8/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..219e3d7f
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/Properties/AssemblyInfo.cs
@@ -0,0 +1,30 @@
+using System.Resources;
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über folgende
+// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("CampusAppWPortalLib8")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CampusAppWPortalLib8")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+[assembly: NeutralResourcesLanguage("de")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
+// durch Einsatz von '*', wie in nachfolgendem Beispiel:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/Logger.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/Logger.cs
new file mode 100644
index 00000000..b5fe92cb
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/Logger.cs
@@ -0,0 +1,35 @@
+//--------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// stubbfel
+// 03.05.2013
+//----------------------------------------------------------------------
+namespace CampusAppWPortalLib8.Utility
+{
+ using System;
+
+ ///
+ /// This Class creates logs for the app
+ ///
+ public class Logger
+ {
+ ///
+ /// Method log a Exception
+ ///
+ /// exception which has to log
+ public static void LogException(Exception exception)
+ {
+ // Console.WriteLine(exception);
+ }
+
+ ///
+ /// Log a message.
+ ///
+ /// to be logged message
+ public static void LogMsg(string msg)
+ {
+ // Console.WriteLine(msg);
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFMessage.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFMessage.cs
new file mode 100644
index 00000000..35b4f91c
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFMessage.cs
@@ -0,0 +1,154 @@
+//-----------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// stubbfel
+// 21.08.2013
+//----------------------------------------------------------------------
+namespace CampusAppWPortalLib8.Utility.NDEF
+{
+ using System.Collections.Generic;
+ using System.IO;
+
+ /// Ndef message.
+ /// Stubbfel, 21.08.2013.
+ public class NDEFMessage
+ {
+ #region Members
+
+ /// The records.
+ private List records;
+
+ #endregion
+
+ #region constructors
+
+ /// Initializes a new instance of the NDEFMessage class.
+ /// Stubbfel, 21.08.2013.
+ /// The content.
+ /// The type.
+ /// (Optional) the tnf.
+ public NDEFMessage(string content, TYPEVAL type, NDEFRecord.TNFVAL tnf = NDEFRecord.TNFVAL.WKT)
+ {
+ this.records = new List();
+ float recordsCount = (float)content.Length / NDEFRecord.MaxRecordPayLoad;
+ NDEFRecord tmpRecord = null;
+ string praefix = NDEFMessage.GetPraefix(type);
+
+ for (int i = 0; recordsCount > 0; i++)
+ {
+ tmpRecord = new NDEFShortRecord();
+ tmpRecord.Type = type;
+ tmpRecord.TNF = tnf;
+ tmpRecord.PayloadPraefix = praefix;
+ int recordsize = 255;
+ if (content.Length < (i + 1) * recordsize)
+ {
+ recordsize = content.Length - (i * recordsize);
+ }
+
+ tmpRecord.Payload = content.Substring(i * 255, recordsize);
+ if (i == 0)
+ {
+ tmpRecord.MB = NDEFRecord.NDEFFlags.MBSET;
+ }
+
+ this.records.Add(tmpRecord);
+ recordsCount--;
+ }
+
+ this.records[this.records.IndexOf(tmpRecord)].ME = NDEFRecord.NDEFFlags.MESET;
+ }
+
+ /// Initializes a new instance of the NDEFMessage class.
+ /// Stubbfel, 21.08.2013.
+ /// The array.
+ public NDEFMessage(byte[] array)
+ {
+ this.records = new List();
+
+ NDEFRecord tmpRecord = null;
+ for (int i = 0; i < array.Length; i += tmpRecord.RecordSize)
+ {
+ tmpRecord = new NDEFShortRecord(array, i);
+
+ this.records.Add(tmpRecord);
+ }
+ }
+
+ #endregion
+
+ #region enum
+
+ /// Values that represent TYPEVAL.
+ /// Stubbfel, 21.08.2013.
+ public enum TYPEVAL
+ {
+ /// An enum constant representing the empty option.
+ EMPTY = 0x00,
+
+ /// An enum constant representing the URL option.
+ URL = 0x55,
+
+ /// An enum constant representing the text option.
+ TEXT = 0x54,
+ }
+
+ #endregion
+
+ #region Methods
+ /// Gets a praefix.
+ /// Stubbfel, 21.08.2013.
+ /// The type.
+ /// The praefix.
+ public static string GetPraefix(TYPEVAL type)
+ {
+ string praefix = string.Empty;
+
+ switch (type)
+ {
+ case TYPEVAL.TEXT:
+ praefix = "\x02" + "de";
+ break;
+ case TYPEVAL.URL:
+ praefix = "\x01";
+ break;
+ default:
+ break;
+ }
+
+ return praefix;
+ }
+
+ /// Gets the content.
+ /// Stubbfel, 21.08.2013.
+ /// The content.
+ public string GetContent()
+ {
+ string result = string.Empty;
+
+ foreach (NDEFRecord record in this.records)
+ {
+ result += record.Payload;
+ }
+
+ return result;
+ }
+
+ /// Converts this object to a byte array.
+ /// Stubbfel, 21.08.2013.
+ /// This object as a byte[].
+ public byte[] ToByteArray()
+ {
+ MemoryStream ms = new MemoryStream();
+ foreach (NDEFRecord record in this.records)
+ {
+ ms.Write(record.ToByteArray(), 0, record.RecordSize);
+ }
+
+ return ms.ToArray();
+ }
+
+ #endregion
+ }
+}
diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFRecord.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFRecord.cs
new file mode 100644
index 00000000..8defa143
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFRecord.cs
@@ -0,0 +1,188 @@
+//-----------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// stubbfel
+// 21.08.2013
+//----------------------------------------------------------------------
+namespace CampusAppWPortalLib8.Utility.NDEF
+{
+ using System.IO;
+ using System.Text;
+
+ /// Ndef record of a NDEFMessage.
+ /// Stubbfel, 21.08.2013.
+ public abstract class NDEFRecord
+ {
+ #region Members
+
+ /// The maximum record pay load.
+ public const int MaxRecordPayLoad = 255;
+
+ /// Size of the type.
+ protected const byte TypeSize = 0x01;
+
+ #endregion
+
+ #region Constructors
+ /// Initializes a new instance of the NDEFRecord class.
+ /// Stubbfel, 21.08.2013.
+ public NDEFRecord()
+ {
+ }
+
+ /// Initializes a new instance of the NDEFRecord class.
+ /// Stubbfel, 21.08.2013.
+ /// The array.
+ /// (Optional) zero-based index of the.
+ public NDEFRecord(byte[] array, int index = 0)
+ {
+ this.FormatFlags = array[index];
+ }
+
+ #endregion
+
+ #region enum
+
+ /// Values that represent NDEFFlags.
+ /// Stubbfel, 21.08.2013.
+ public enum NDEFFlags
+ {
+ /// An Enum constant representing the UNSET option.
+ UNSET = 0x00,
+
+ /// An Enum constant representing the Message begin option.
+ MBSET = 0x80,
+
+ /// An Enum constant representing the Message end option.
+ MESET = 0x40,
+
+ /// An Enum constant representing the CHUNK FLAG option.
+ CFSET = 0x20,
+
+ /// An Enum constant representing the Short Record set option.
+ SRSET = 0x10,
+
+ /// An Enum constant representing the ID length option.
+ ILSET = 0x08,
+
+ /// An enum constant representing the tnfset option.
+ TNFSET = 0x03
+ }
+
+ /// Values that represent TNFVAL.
+ /// Stubbfel, 21.08.2013.
+ public enum TNFVAL
+ {
+ /// An enum constant representing the empty option.
+ EMPTY = 0x00,
+
+ /// An enum constant representing the Well-Know-Type option.
+ WKT = 0x01,
+
+ /// An enum constant representing the MediaType option.
+ MEDIATYPE = 0x02,
+
+ /// An enum constant representing the URI option.
+ URI = 0x03,
+
+ /// An enum constant representing the NFCE option.
+ NFCE = 0x04,
+
+ /// An enum constant representing the unknow option.
+ unknow = 0x05,
+
+ /// An enum constant representing the unchanged option.
+ UNCHANGED = 0x06,
+
+ /// An enum constant representing the reserved option.
+ RESERVED = 0x07
+ }
+
+ #endregion
+
+ #region Properties
+ /// Gets or sets the MBFlag.
+ /// The MBFlag.
+ public NDEFFlags MB { get; set; }
+
+ /// Gets or sets MEFlag.
+ /// The MEFlag .
+ public NDEFFlags ME { get; set; }
+
+ /// Gets or sets the CFFlag.
+ /// The CFFlag.
+ public NDEFFlags CF { get; set; }
+
+ /// Gets or sets the SRFlag.
+ /// The SRFlag.
+ public NDEFFlags SR { get; set; }
+
+ /// Gets or sets the ILFlag.
+ /// The ILFlag.
+ public NDEFFlags IL { get; set; }
+
+ /// Gets or sets the TNFField.
+ /// The TNFField.
+ public TNFVAL TNF { get; set; }
+
+ /// Gets or sets the type.
+ /// The type.
+ public NDEFMessage.TYPEVAL Type { get; set; }
+
+ /// Gets or sets the format flags.
+ /// The format flags.
+ public byte FormatFlags
+ {
+ get
+ {
+ return (byte)((byte)this.TNF | ((byte)this.MB) | ((byte)this.ME) | ((byte)this.CF) | ((byte)this.SR) | ((byte)this.IL));
+ }
+
+ protected set
+ {
+ this.TNF = (TNFVAL)(value & (byte)NDEFFlags.TNFSET);
+ this.MB = (NDEFFlags)(value & (byte)NDEFFlags.MBSET);
+ this.ME = (NDEFFlags)(value & (byte)NDEFFlags.MESET);
+ this.CF = (NDEFFlags)(value & (byte)NDEFFlags.CFSET);
+ this.SR = (NDEFFlags)(value & (byte)NDEFFlags.SRSET);
+ this.IL = (NDEFFlags)(value & (byte)NDEFFlags.ILSET);
+ }
+ }
+
+ /// Gets or sets the payload.
+ /// The payload.
+ public string Payload { get; set; }
+
+ /// Gets the size of the record.
+ /// The size of the record.
+ public int RecordSize
+ {
+ get
+ {
+ return this.HeaderSize + this.Payload.Length + this.PayloadPraefix.Length;
+ }
+ }
+
+ /// Gets or sets the payload praefix.
+ /// The payload praefix.
+ public string PayloadPraefix { get; set; }
+
+ /// Gets or sets the size of the header.
+ /// The size of the header.
+ protected int HeaderSize { get; set; }
+
+ #endregion
+
+ #region Methods
+
+ /// Converts the record to a byte array.
+ /// Stubbfel, 21.08.2013.
+ /// This object as a byte[].
+ public abstract byte[] ToByteArray();
+
+ #endregion
+ }
+}
+
+// End of Utility\NDEF\NDEFRecord.cs
diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFShortRecord.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFShortRecord.cs
new file mode 100644
index 00000000..5a8f5fda
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/NDEF/NDEFShortRecord.cs
@@ -0,0 +1,63 @@
+//-----------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// stubbfel
+// 21.08.2013
+//----------------------------------------------------------------------
+namespace CampusAppWPortalLib8.Utility.NDEF
+{
+ using System.Text;
+
+ /// Ndef short record.
+ /// Stubbfel, 21.08.2013.
+ public class NDEFShortRecord : NDEFRecord
+ {
+ /// Initializes a new instance of the NDEFShortRecord class.
+ /// Stubbfel, 21.08.2013.
+ public NDEFShortRecord()
+ {
+ this.HeaderSize = 4;
+ this.SR = NDEFFlags.SRSET;
+ this.IL = NDEFFlags.UNSET;
+ this.CF = NDEFFlags.UNSET;
+ }
+
+ /// Initializes a new instance of the NDEFShortRecord class.
+ /// Stubbfel, 21.08.2013.
+ /// The array.
+ /// (Optional) zero-based index of the.
+ public NDEFShortRecord(byte[] array, int index = 0)
+ : base(array)
+ {
+ this.HeaderSize = 4;
+ this.Type = (NDEFMessage.TYPEVAL)array[index + 3];
+ this.PayloadPraefix = NDEFMessage.GetPraefix(this.Type);
+ int payLoadSize = array[index + 2] - this.PayloadPraefix.Length;
+ this.Payload = Encoding.UTF8.GetString(array, index + this.HeaderSize + this.PayloadPraefix.Length, payLoadSize);
+ }
+
+ /// Converts this NDEFShortRecord to a byte array.
+ /// Stubbfel, 21.08.2013.
+ /// This object as a byte[].
+ public override byte[] ToByteArray()
+ {
+ byte[] payloadAr = Encoding.UTF8.GetBytes(this.PayloadPraefix + this.Payload);
+ byte[] array = new byte[payloadAr.Length + this.HeaderSize];
+
+ array[0] = this.FormatFlags;
+ array[1] = NDEFRecord.TypeSize;
+ array[2] = (byte)(Payload.Length + this.PayloadPraefix.Length);
+ array[3] = (byte)this.Type;
+
+ int i = this.HeaderSize;
+ foreach (byte b in payloadAr)
+ {
+ array[i] = b;
+ i++;
+ }
+
+ return array;
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWPortalLib8/Utility/StringManager.cs b/CampusAppWP8/CampusAppWPortalLib8/Utility/StringManager.cs
new file mode 100644
index 00000000..17508b62
--- /dev/null
+++ b/CampusAppWP8/CampusAppWPortalLib8/Utility/StringManager.cs
@@ -0,0 +1,59 @@
+//-----------------------------------------------------------------------
+//
+// Company copyright tag.
+//
+// stubbfel
+// 06.06.2013
+//----------------------------------------------------------------------
+namespace CampusAppWPortalLib8.Utility
+{
+ using System.Text.RegularExpressions;
+
+ ///
+ /// Class provides some special StringMethods
+ ///
+ public static class StringManager
+ {
+ #region Members
+
+ ///
+ /// Patter for Html-Tags
+ ///
+ private static readonly string HtmlTagPattern = "<.*?>";
+
+ #endregion
+
+ #region Methods
+
+ ///
+ /// Method removes Html-Tag of a String
+ ///
+ /// String with Html-Tags
+ /// String without Html-Tags
+ public static string StripHTML(string inputString)
+ {
+ return Regex.Replace(inputString, HtmlTagPattern, string.Empty);
+ }
+
+ ///
+ /// Method add an Newline to a string
+ ///
+ /// input string
+ /// input string + newline
+ public static string AddNewLine(string str)
+ {
+ return str.ToString() + "\n";
+ }
+
+ ///
+ /// Method remove(TrimEND!) an Newline to a string
+ ///
+ /// input string
+ /// input string - newline
+// Company copyright tag.
+//
+// stubbfel
+// 18.06.2013
+//----------------------------------------------------------------------
+namespace CampusAppWPortalLib8.Utility
+{
+ using System.IO;
+ using System.Xml.Linq;
+ using System.Xml.Serialization;
+
+ ///
+ /// Class provides some Xml-methods
+ ///
+ public class XmlManager
+ {
+ ///
+ /// Method deserialization a string to a Model
+ ///
+ /// the model
+ /// the XmlString
+ /// name of the RootTag
+ /// return the deserialization of the model
+ public static T DeserializationToModel(string xmlString, string validRootName)
+ {
+ XmlSerializer serializer = new XmlSerializer(typeof(T));
+ XDocument document = XDocument.Parse(xmlString);
+ if (!document.Root.Name.ToString().Equals(validRootName))
+ {
+ XElement content = document.Root;
+ document = new XDocument();
+ document.Add(new XElement(validRootName, content));
+ }
+
+ T model = (T)serializer.Deserialize(document.CreateReader());
+ return model;
+ }
+
+ /// Deserialization a xml file to a model.
+ /// Stubbfel, 20.08.2013.
+ /// Generic type parameter.
+ /// Path to the a XmlFile.
+ /// model of the XmlFile.
+ public static T DeserializationFileToModel(string xmlFilePath)
+ {
+ XmlSerializer serializer = new XmlSerializer(typeof(T));
+ XDocument document = XDocument.Load(xmlFilePath);
+ T model = (T)serializer.Deserialize(document.CreateReader());
+ return model;
+ }
+
+ ///
+ /// Method serializes a model to a string.
+ ///
+ /// type of the model
+ /// model object
+ /// serialized string
+ public static string SerializationToString(T model)
+ {
+ string retValue = string.Empty;
+
+ XmlSerializerNamespaces ns = new XmlSerializerNamespaces();
+ ns.Add(string.Empty, string.Empty);
+
+ XmlSerializer serializer = new XmlSerializer(typeof(T));
+ TextWriter writer = new StringWriter();
+
+ serializer.Serialize(writer, model, ns);
+
+ retValue = writer.ToString();
+
+ if (retValue.StartsWith("");
+ retValue = retValue.Substring(endTag + 2);
+
+ if (retValue.StartsWith("\r\n") == true)
+ {
+ retValue = retValue.Substring(2);
+ }
+ }
+
+ return retValue;
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWStore8/App.xaml b/CampusAppWP8/CampusAppWStore8/App.xaml
new file mode 100644
index 00000000..3b7b41dc
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/App.xaml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CampusAppWP8/CampusAppWStore8/App.xaml.cs b/CampusAppWP8/CampusAppWStore8/App.xaml.cs
new file mode 100644
index 00000000..ef95402d
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/App.xaml.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// Die Vorlage "Leere Anwendung" ist unter http://go.microsoft.com/fwlink/?LinkId=234227 dokumentiert.
+
+namespace CampusAppWStore8
+{
+ ///
+ /// Stellt das anwendungsspezifische Verhalten bereit, um die Standardanwendungsklasse zu ergänzen.
+ ///
+ sealed partial class App : Application
+ {
+ ///
+ /// Initialisiert das Singletonanwendungsobjekt. Dies ist die erste Zeile von erstelltem Code
+ /// und daher das logische Äquivalent von main() bzw. WinMain()
+ ///
+ public App()
+ {
+ this.InitializeComponent();
+ this.Suspending += OnSuspending;
+ }
+
+ ///
+ /// Wird aufgerufen, wenn die Anwendung durch den Endbenutzer normal gestartet wird. Weitere Einstiegspunkte
+ /// werden verwendet, wenn die Anwendung zum Öffnen einer bestimmten Datei, zum Anzeigen
+ /// von Suchergebnissen usw. gestartet wird.
+ ///
+ /// Details über Startanforderung und -prozess.
+ protected override void OnLaunched(LaunchActivatedEventArgs args)
+ {
+ Frame rootFrame = Window.Current.Content as Frame;
+
+ // App-Initialisierung nicht wiederholen, wenn das Fenster bereits Inhalte enthält.
+ // Nur sicherstellen, dass das Fenster aktiv ist.
+ if (rootFrame == null)
+ {
+ // Einen Rahmen erstellen, der als Navigationskontext fungiert und zum Parameter der ersten Seite navigieren
+ rootFrame = new Frame();
+
+ if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
+ {
+ //TODO: Zustand von zuvor angehaltener Anwendung laden
+ }
+
+ // Den Rahmen im aktuellen Fenster platzieren
+ Window.Current.Content = rootFrame;
+ }
+
+ if (rootFrame.Content == null)
+ {
+ // Wenn der Navigationsstapel nicht wiederhergestellt wird, zur ersten Seite navigieren
+ // und die neue Seite konfigurieren, indem die erforderlichen Informationen als Navigationsparameter
+ // übergeben werden
+ if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
+ {
+ throw new Exception("Failed to create initial page");
+ }
+ }
+ // Sicherstellen, dass das aktuelle Fenster aktiv ist
+ Window.Current.Activate();
+ }
+
+ ///
+ /// Wird aufgerufen, wenn die Ausführung der Anwendung angehalten wird. Der Anwendungszustand wird gespeichert,
+ /// ohne zu wissen, ob die Anwendung beendet oder fortgesetzt wird und die Speicherinhalte dabei
+ /// unbeschädigt bleiben.
+ ///
+ /// Die Quelle der Anhalteanforderung.
+ /// Details zur Anhalteanforderung.
+ private void OnSuspending(object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral();
+ //TODO: Anwendungszustand speichern und alle Hintergrundaktivitäten beenden
+ deferral.Complete();
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWStore8/Assets/Logo.png b/CampusAppWP8/CampusAppWStore8/Assets/Logo.png
new file mode 100644
index 00000000..e26771cb
Binary files /dev/null and b/CampusAppWP8/CampusAppWStore8/Assets/Logo.png differ
diff --git a/CampusAppWP8/CampusAppWStore8/Assets/SmallLogo.png b/CampusAppWP8/CampusAppWStore8/Assets/SmallLogo.png
new file mode 100644
index 00000000..1eb0d9d5
Binary files /dev/null and b/CampusAppWP8/CampusAppWStore8/Assets/SmallLogo.png differ
diff --git a/CampusAppWP8/CampusAppWStore8/Assets/SplashScreen.png b/CampusAppWP8/CampusAppWStore8/Assets/SplashScreen.png
new file mode 100644
index 00000000..c951e031
Binary files /dev/null and b/CampusAppWP8/CampusAppWStore8/Assets/SplashScreen.png differ
diff --git a/CampusAppWP8/CampusAppWStore8/Assets/StoreLogo.png b/CampusAppWP8/CampusAppWStore8/Assets/StoreLogo.png
new file mode 100644
index 00000000..dcb67271
Binary files /dev/null and b/CampusAppWP8/CampusAppWStore8/Assets/StoreLogo.png differ
diff --git a/CampusAppWP8/CampusAppWStore8/CampusAppWStore8.csproj b/CampusAppWP8/CampusAppWStore8/CampusAppWStore8.csproj
new file mode 100644
index 00000000..f0653e0f
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/CampusAppWStore8.csproj
@@ -0,0 +1,151 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {88D81ECB-FF6A-4807-B23F-5DF9B790B7B3}
+ AppContainerExe
+ Properties
+ CampusAppWStore8
+ CampusAppWStore8
+ de-DE
+ 512
+ {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ CampusAppWStore8_TemporaryKey.pfx
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE;NETFX_CORE
+ prompt
+ 4
+
+
+ true
+ bin\ARM\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ ;2008
+ full
+ ARM
+ false
+ prompt
+ true
+
+
+ bin\ARM\Release\
+ TRACE;NETFX_CORE
+ true
+ ;2008
+ pdbonly
+ ARM
+ false
+ prompt
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ ;2008
+ full
+ x64
+ false
+ prompt
+ true
+
+
+ bin\x64\Release\
+ TRACE;NETFX_CORE
+ true
+ ;2008
+ pdbonly
+ x64
+ false
+ prompt
+ true
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ ;2008
+ full
+ x86
+ false
+ prompt
+ true
+
+
+ bin\x86\Release\
+ TRACE;NETFX_CORE
+ true
+ ;2008
+ pdbonly
+ x86
+ false
+ prompt
+ true
+
+
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+ 11.0
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWStore8/CampusAppWStore8_TemporaryKey.pfx b/CampusAppWP8/CampusAppWStore8/CampusAppWStore8_TemporaryKey.pfx
new file mode 100644
index 00000000..14ee2fec
Binary files /dev/null and b/CampusAppWP8/CampusAppWStore8/CampusAppWStore8_TemporaryKey.pfx differ
diff --git a/CampusAppWP8/CampusAppWStore8/Common/StandardStyles.xaml b/CampusAppWP8/CampusAppWStore8/Common/StandardStyles.xaml
new file mode 100644
index 00000000..f89b4620
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/Common/StandardStyles.xaml
@@ -0,0 +1,1829 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Maus
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CampusAppWP8/CampusAppWStore8/MainPage.xaml b/CampusAppWP8/CampusAppWStore8/MainPage.xaml
new file mode 100644
index 00000000..a7ce9f6e
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/MainPage.xaml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/CampusAppWP8/CampusAppWStore8/MainPage.xaml.cs b/CampusAppWP8/CampusAppWStore8/MainPage.xaml.cs
new file mode 100644
index 00000000..077f698c
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/MainPage.xaml.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// Die Elementvorlage "Leere Seite" ist unter http://go.microsoft.com/fwlink/?LinkId=234238 dokumentiert.
+
+namespace CampusAppWStore8
+{
+ ///
+ /// Eine leere Seite, die eigenständig verwendet werden kann oder auf die innerhalb eines Rahmens navigiert werden kann.
+ ///
+ public sealed partial class MainPage : Page
+ {
+ public MainPage()
+ {
+ this.InitializeComponent();
+ }
+
+ ///
+ /// Wird aufgerufen, wenn diese Seite in einem Rahmen angezeigt werden soll.
+ ///
+ /// Ereignisdaten, die beschreiben, wie diese Seite erreicht wurde. Die
+ /// Parametereigenschaft wird normalerweise zum Konfigurieren der Seite verwendet.
+ protected override void OnNavigatedTo(NavigationEventArgs e)
+ {
+ }
+ }
+}
diff --git a/CampusAppWP8/CampusAppWStore8/Package.appxmanifest b/CampusAppWP8/CampusAppWStore8/Package.appxmanifest
new file mode 100644
index 00000000..7ed76a39
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/Package.appxmanifest
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ CampusAppWStore8
+ stubbfel
+ Assets\StoreLogo.png
+
+
+
+ 6.2.1
+ 6.2.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampusAppWStore8/Properties/AssemblyInfo.cs b/CampusAppWP8/CampusAppWStore8/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..4f404c4e
--- /dev/null
+++ b/CampusAppWP8/CampusAppWStore8/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden
+// Attribute gesteuert. Diese Attributwerte ändern, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("CampusAppWStore8")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CampusAppWStore8")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Es können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
+// mithilfe von '*' wie unten dargestellt übernommen werden:
+// [Assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: ComVisible(false)]
\ No newline at end of file
diff --git a/CampusAppWP8/CampussAppWStore8/App.xaml b/CampusAppWP8/CampussAppWStore8/App.xaml
new file mode 100644
index 00000000..ccb63b2f
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/App.xaml
@@ -0,0 +1,20 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CampusAppWP8/CampussAppWStore8/App.xaml.cs b/CampusAppWP8/CampussAppWStore8/App.xaml.cs
new file mode 100644
index 00000000..4df05ec1
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/App.xaml.cs
@@ -0,0 +1,90 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Windows.ApplicationModel;
+using Windows.ApplicationModel.Activation;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// Die Vorlage "Leere Anwendung" ist unter http://go.microsoft.com/fwlink/?LinkId=234227 dokumentiert.
+
+namespace CampussAppWStore8
+{
+ ///
+ /// Stellt das anwendungsspezifische Verhalten bereit, um die Standardanwendungsklasse zu ergänzen.
+ ///
+ sealed partial class App : Application
+ {
+ ///
+ /// Initialisiert das Singletonanwendungsobjekt. Dies ist die erste Zeile von erstelltem Code
+ /// und daher das logische Äquivalent von main() bzw. WinMain().
+ ///
+ public App()
+ {
+ this.InitializeComponent();
+ this.Suspending += OnSuspending;
+ }
+
+ ///
+ /// Wird aufgerufen, wenn die Anwendung durch den Endbenutzer normal gestartet wird. Weitere Einstiegspunkte
+ /// werden verwendet, wenn die Anwendung zum Öffnen einer bestimmten Datei, zum Anzeigen
+ /// von Suchergebnissen usw. gestartet wird.
+ ///
+ /// Details über Startanforderung und -prozess.
+ protected override void OnLaunched(LaunchActivatedEventArgs args)
+ {
+ Frame rootFrame = Window.Current.Content as Frame;
+
+ // App-Initialisierung nicht wiederholen, wenn das Fenster bereits Inhalte enthält.
+ // Nur sicherstellen, dass das Fenster aktiv ist.
+ if (rootFrame == null)
+ {
+ // Einen Rahmen erstellen, der als Navigationskontext fungiert und zum Parameter der ersten Seite navigieren
+ rootFrame = new Frame();
+
+ if (args.PreviousExecutionState == ApplicationExecutionState.Terminated)
+ {
+ //TODO: Zustand von zuvor angehaltener Anwendung laden
+ }
+
+ // Den Rahmen im aktuellen Fenster platzieren
+ Window.Current.Content = rootFrame;
+ }
+
+ if (rootFrame.Content == null)
+ {
+ // Wenn der Navigationsstapel nicht wiederhergestellt wird, zur ersten Seite navigieren
+ // und die neue Seite konfigurieren, indem die erforderlichen Informationen als Navigationsparameter
+ // übergeben werden
+ if (!rootFrame.Navigate(typeof(MainPage), args.Arguments))
+ {
+ throw new Exception("Failed to create initial page");
+ }
+ }
+ // Sicherstellen, dass das aktuelle Fenster aktiv ist
+ Window.Current.Activate();
+ }
+
+ ///
+ /// Wird aufgerufen, wenn die Ausführung der Anwendung angehalten wird. Der Anwendungszustand wird gespeichert,
+ /// ohne zu wissen, ob die Anwendung beendet oder fortgesetzt wird und die Speicherinhalte dabei
+ /// unbeschädigt bleiben.
+ ///
+ /// Die Quelle der Anhalteanforderung.
+ /// Details zur Anhalteanforderung.
+ private void OnSuspending(object sender, SuspendingEventArgs e)
+ {
+ var deferral = e.SuspendingOperation.GetDeferral();
+ //TODO: Anwendungszustand speichern und alle Hintergrundaktivitäten beenden
+ deferral.Complete();
+ }
+ }
+}
diff --git a/CampusAppWP8/CampussAppWStore8/Assets/Logo.png b/CampusAppWP8/CampussAppWStore8/Assets/Logo.png
new file mode 100644
index 00000000..e26771cb
Binary files /dev/null and b/CampusAppWP8/CampussAppWStore8/Assets/Logo.png differ
diff --git a/CampusAppWP8/CampussAppWStore8/Assets/SmallLogo.png b/CampusAppWP8/CampussAppWStore8/Assets/SmallLogo.png
new file mode 100644
index 00000000..1eb0d9d5
Binary files /dev/null and b/CampusAppWP8/CampussAppWStore8/Assets/SmallLogo.png differ
diff --git a/CampusAppWP8/CampussAppWStore8/Assets/SplashScreen.png b/CampusAppWP8/CampussAppWStore8/Assets/SplashScreen.png
new file mode 100644
index 00000000..c951e031
Binary files /dev/null and b/CampusAppWP8/CampussAppWStore8/Assets/SplashScreen.png differ
diff --git a/CampusAppWP8/CampussAppWStore8/Assets/StoreLogo.png b/CampusAppWP8/CampussAppWStore8/Assets/StoreLogo.png
new file mode 100644
index 00000000..dcb67271
Binary files /dev/null and b/CampusAppWP8/CampussAppWStore8/Assets/StoreLogo.png differ
diff --git a/CampusAppWP8/CampussAppWStore8/CampussAppWStore8.csproj b/CampusAppWP8/CampussAppWStore8/CampussAppWStore8.csproj
new file mode 100644
index 00000000..916a184b
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/CampussAppWStore8.csproj
@@ -0,0 +1,151 @@
+
+
+
+
+ Debug
+ AnyCPU
+ {E49420AA-3023-42EF-8255-67B1F5E52B43}
+ AppContainerExe
+ Properties
+ CampussAppWStore8
+ CampussAppWStore8
+ de-DE
+ 512
+ {BC8A1FFA-BEE3-4634-8014-F334798102B3};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}
+ CampussAppWStore8_TemporaryKey.pfx
+
+
+ AnyCPU
+ true
+ full
+ false
+ bin\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ prompt
+ 4
+
+
+ AnyCPU
+ pdbonly
+ true
+ bin\Release\
+ TRACE;NETFX_CORE
+ prompt
+ 4
+
+
+ true
+ bin\ARM\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ ;2008
+ full
+ ARM
+ false
+ prompt
+ true
+
+
+ bin\ARM\Release\
+ TRACE;NETFX_CORE
+ true
+ ;2008
+ pdbonly
+ ARM
+ false
+ prompt
+ true
+
+
+ true
+ bin\x64\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ ;2008
+ full
+ x64
+ false
+ prompt
+ true
+
+
+ bin\x64\Release\
+ TRACE;NETFX_CORE
+ true
+ ;2008
+ pdbonly
+ x64
+ false
+ prompt
+ true
+
+
+ true
+ bin\x86\Debug\
+ DEBUG;TRACE;NETFX_CORE
+ ;2008
+ full
+ x86
+ false
+ prompt
+ true
+
+
+ bin\x86\Release\
+ TRACE;NETFX_CORE
+ true
+ ;2008
+ pdbonly
+ x86
+ false
+ prompt
+ true
+
+
+
+
+
+
+ App.xaml
+
+
+ MainPage.xaml
+
+
+
+
+
+ Designer
+
+
+
+
+
+
+
+
+
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+ MSBuild:Compile
+ Designer
+
+
+
+ 11.0
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampussAppWStore8/CampussAppWStore8_TemporaryKey.pfx b/CampusAppWP8/CampussAppWStore8/CampussAppWStore8_TemporaryKey.pfx
new file mode 100644
index 00000000..25ef5f06
Binary files /dev/null and b/CampusAppWP8/CampussAppWStore8/CampussAppWStore8_TemporaryKey.pfx differ
diff --git a/CampusAppWP8/CampussAppWStore8/Common/StandardStyles.xaml b/CampusAppWP8/CampussAppWStore8/Common/StandardStyles.xaml
new file mode 100644
index 00000000..f89b4620
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/Common/StandardStyles.xaml
@@ -0,0 +1,1829 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ Maus
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/CampusAppWP8/CampussAppWStore8/MainPage.xaml b/CampusAppWP8/CampussAppWStore8/MainPage.xaml
new file mode 100644
index 00000000..36bb68fc
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/MainPage.xaml
@@ -0,0 +1,13 @@
+
+
+
+
+
+
diff --git a/CampusAppWP8/CampussAppWStore8/MainPage.xaml.cs b/CampusAppWP8/CampussAppWStore8/MainPage.xaml.cs
new file mode 100644
index 00000000..1fc5f74d
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/MainPage.xaml.cs
@@ -0,0 +1,38 @@
+using System;
+using System.Collections.Generic;
+using System.IO;
+using System.Linq;
+using Windows.Foundation;
+using Windows.Foundation.Collections;
+using Windows.UI.Xaml;
+using Windows.UI.Xaml.Controls;
+using Windows.UI.Xaml.Controls.Primitives;
+using Windows.UI.Xaml.Data;
+using Windows.UI.Xaml.Input;
+using Windows.UI.Xaml.Media;
+using Windows.UI.Xaml.Navigation;
+
+// Die Elementvorlage "Leere Seite" ist unter http://go.microsoft.com/fwlink/?LinkId=234238 dokumentiert.
+
+namespace CampussAppWStore8
+{
+ ///
+ /// Eine leere Seite, die eigenständig verwendet werden kann oder auf die innerhalb eines Rahmens navigiert werden kann.
+ ///
+ public sealed partial class MainPage : Page
+ {
+ public MainPage()
+ {
+ this.InitializeComponent();
+ }
+
+ ///
+ /// Wird aufgerufen, wenn diese Seite in einem Rahmen angezeigt werden soll.
+ ///
+ /// Ereignisdaten, die beschreiben, wie diese Seite erreicht wurde. Die
+ /// Parametereigenschaft wird normalerweise zum Konfigurieren der Seite verwendet.
+ protected override void OnNavigatedTo(NavigationEventArgs e)
+ {
+ }
+ }
+}
diff --git a/CampusAppWP8/CampussAppWStore8/Package.appxmanifest b/CampusAppWP8/CampussAppWStore8/Package.appxmanifest
new file mode 100644
index 00000000..1c4ffb92
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/Package.appxmanifest
@@ -0,0 +1,42 @@
+
+
+
+
+
+
+ CampussAppWStore8
+ stubbfel
+ Assets\StoreLogo.png
+
+
+
+ 6.2.1
+ 6.2.1
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/CampusAppWP8/CampussAppWStore8/Properties/AssemblyInfo.cs b/CampusAppWP8/CampussAppWStore8/Properties/AssemblyInfo.cs
new file mode 100644
index 00000000..0443a0a6
--- /dev/null
+++ b/CampusAppWP8/CampussAppWStore8/Properties/AssemblyInfo.cs
@@ -0,0 +1,29 @@
+using System.Reflection;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+
+// Allgemeine Informationen über eine Assembly werden über die folgenden
+// Attribute gesteuert. Diese Attributwerte ändern, um die Informationen zu ändern,
+// die einer Assembly zugeordnet sind.
+[assembly: AssemblyTitle("CampussAppWStore8")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("CampussAppWStore8")]
+[assembly: AssemblyCopyright("Copyright © 2013")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
+//
+// Hauptversion
+// Nebenversion
+// Buildnummer
+// Revision
+//
+// Es können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
+// mithilfe von '*' wie unten dargestellt übernommen werden:
+// [Assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]
+[assembly: ComVisible(false)]
\ No newline at end of file