70 Commits

Author SHA1 Message Date
Christian Fiedler
22a0315fdd Merge branch 'release/#55' into develmaster 2013-06-25 14:10:40 +02:00
Christian Fiedler
fe46e28a26 Merge branch 'feature/#55' into develop 2013-06-25 14:08:48 +02:00
Christian Fiedler
31b4e4459e #55 2013-06-25 14:06:27 +02:00
stubbfel
0991901c90 Merge branch 'release/#51' into develmaster 2013-06-24 13:51:04 +02:00
stubbfel
94a12f2a77 change icon source of lecture and map 2013-06-24 13:50:24 +02:00
stubbfel
2b96528c7d Merge branch 'feature/#51' into develop 2013-06-24 13:33:39 +02:00
stubbfel
7ee3fa5535 finish testmap 2013-06-24 13:27:16 +02:00
Christian Fiedler
a8d93ee943 Merge branch 'develop' into develmaster 2013-06-24 12:56:49 +02:00
Christian Fiedler
2a8d321a64 fixed a wrong merged line 2013-06-24 12:54:12 +02:00
Christian Fiedler
4b5587770c Merge branch 'feature/#44' into develop
Conflicts:
	CampusAppWP8/CampusAppWP8/pages/StartPage.xaml.cs
2013-06-24 12:44:16 +02:00
Christian Fiedler
a750b5e1a2 #44 themerized icons 2013-06-21 16:25:13 +02:00
stubbfel
709f7fc289 end of day2 #51 2013-06-21 13:02:13 +02:00
stubbfel
811ad35fa9 add mapmodel 2013-06-21 12:37:17 +02:00
stubbfel
ab0ba5ac6b Merge branch 'release/r#45' into develmaster 2013-06-21 11:25:37 +02:00
stubbfel
bb3de8beec add links to the startpage and doku 2013-06-21 11:22:33 +02:00
stubbfel
c5ea535489 finish day 2013-06-20 15:56:13 +02:00
stubbfel
bbc6269ed1 add search icon #51 2013-06-20 13:11:27 +02:00
stubbfel
d8b3848086 Merge branch 'release/r#52' into develmaster 2013-06-20 12:35:13 +02:00
stubbfel
775533ec32 Merge branch 'feature/#52' into develop 2013-06-20 12:32:49 +02:00
stubbfel
eb91cbae44 change namespace 2013-06-20 12:32:32 +02:00
stubbfel
b52c0c8625 add and mv #52 2013-06-20 12:31:30 +02:00
stubbfel
52872b108b Merge branch 'release/r#48' into develop 2013-06-19 10:37:42 +02:00
stubbfel
d06b86bc41 Merge branch 'release/r#48' into develmaster 2013-06-19 10:37:41 +02:00
stubbfel
c293c331fb change nav to startpage 2013-06-19 10:37:16 +02:00
stubbfel
e044450f1d Merge branch 'feature/#48' into develop 2013-06-19 10:35:02 +02:00
stubbfel
ce6358b9f7 clear stylecop warning #48 2013-06-19 10:32:55 +02:00
stubbfel
e27a8bb989 add api class 2013-06-19 10:30:51 +02:00
stubbfel
c666a526f0 Merge branch 'hotfix/#47' into develop 2013-06-19 10:09:01 +02:00
stubbfel
6fed7482ca Merge branch 'hotfix/#47' into develmaster 2013-06-19 10:09:00 +02:00
stubbfel
4d79854ee7 rename RestApa to HttpRequst 2013-06-19 10:08:28 +02:00
stubbfel
57da34fc6b Merge branch 'release/#46' into develmaster 2013-06-19 09:57:02 +02:00
stubbfel
518bbc00ce finish #46 2013-06-18 15:22:50 +02:00
stubbfel
38b379c6d6 Merge branch 'hotfix/#32' into develop 2013-06-18 15:07:18 +02:00
stubbfel
24f7607f84 Merge branch 'hotfix/#32' into develmaster 2013-06-18 15:07:15 +02:00
stubbfel
55d55c64e0 finisch #32 2013-06-18 15:06:30 +02:00
stubbfel
8f472d7662 add LecturepageModel 2013-06-18 10:34:09 +02:00
Christian Fiedler
919c1f8d08 Merge branch 'release/#43' into develmaster 2013-06-17 15:27:05 +02:00
Christian Fiedler
ff81278aba embedded webbrowser in events and news 2013-06-17 15:24:43 +02:00
Christian Fiedler
0b71ef13fe Merge branch 'hotfix/#28' into develop 2013-06-17 14:51:37 +02:00
Christian Fiedler
e180ca3a45 Merge branch 'hotfix/#28' into develmaster 2013-06-17 14:51:36 +02:00
Christian Fiedler
978fb9b83b #28 2013-06-17 14:49:00 +02:00
stubbfel
fcd674aa4e Merge branch 'release/r#33' into develmaster 2013-06-17 14:04:43 +02:00
stubbfel
7e2552a8e3 add search button to lecturepage 2013-06-17 14:03:29 +02:00
stubbfel
ffc902c78f Merge branch 'feature/#33' into develop 2013-06-17 13:50:07 +02:00
stubbfel
5dbcc01dd2 add doku + refactor to lectur and api #33 2013-06-17 13:48:10 +02:00
stubbfel
a2463795f9 add Api to LecturePage 2013-06-17 12:39:05 +02:00
Christian Fiedler
53d5fa413e Merge branch 'release/icons' into develmaster 2013-06-17 12:21:03 +02:00
Christian Fiedler
5c3a8a3432 #34 and changed background opacity of other images 2013-06-17 12:15:09 +02:00
stubbfel
e451f7ff89 add CreateGetUrl #33 2013-06-17 12:14:02 +02:00
stubbfel
25b05855a2 finish xmlApi 2013-06-17 11:50:01 +02:00
stubbfel
52625e6bee init #33 2013-06-17 11:25:08 +02:00
stubbfel
6da4552e79 Merge branch 'feature/#35' into develop 2013-06-17 11:21:26 +02:00
stubbfel
1c890fd43d finish #35 2013-06-17 11:20:51 +02:00
stubbfel
f8f90ab247 init #35 2013-06-17 10:49:43 +02:00
stubbfel
0f6196a521 Merge branch 'release/#37' into develmaster 2013-06-17 10:45:51 +02:00
stubbfel
eac32fadd3 Merge branch 'feature/#37' into develop 2013-06-17 10:44:35 +02:00
stubbfel
3d3a0fa9e2 Merge branch 'release/release' into develmaster 2013-06-17 10:30:36 +02:00
stubbfel
a93ea28794 resolved #38 2013-06-17 10:28:05 +02:00
stubbfel
f49d1bba36 change LecturreActivity (add Feature #37) 2013-06-17 10:12:22 +02:00
stubbfel
db46c1a451 add methods #37 2013-06-17 10:09:39 +02:00
stubbfel
7068d54406 add doku 2013-06-13 13:32:21 +02:00
stubbfel
2f4034a4f2 Merge branch 'release/add#29' into develmaster 2013-06-13 12:14:41 +02:00
stubbfel
ec3fd17234 Merge branch 'feature/#29' into develop 2013-06-13 12:13:17 +02:00
stubbfel
bff8eb07c8 add documention to the models 2013-06-13 12:11:56 +02:00
stubbfel
512d367a7e add docmumentation to the pages 2013-06-13 10:50:37 +02:00
stubbfel
eb533e8008 update lecture 2013-06-12 15:21:16 +02:00
stubbfel
6071f96b3b lecture sendrequest and shows result 2013-06-12 13:07:24 +02:00
stubbfel
72495a5bc5 Merge branch 'hotfix/#30' into develop 2013-06-12 10:57:20 +02:00
stubbfel
84266dfb59 Merge branch 'hotfix/#30' into develmaster 2013-06-12 10:54:55 +02:00
stubbfel
9c973b2b8f resoved issue #30 2013-06-12 10:54:20 +02:00
1566 changed files with 114323 additions and 907 deletions

View File

@@ -0,0 +1,32 @@
//-----------------------------------------------------------------------
// <copyright file="LectureApi.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>13.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Api.Lecture
{
using System;
using CampusAppWP8.Model.Lecture;
using CampusAppWP8.Resources;
using CampusAppWP8.Utility;
/// <summary>
/// Class for the feed of the Lecture
/// </summary>
/// <remarks>
/// need the XmlAPI
/// </remarks>
public class LectureApi : XmlApi<LectureList>
{
/// <summary>
/// Initializes a new instance of the <see cref="LectureApi" /> class.
/// </summary>
public LectureApi()
: base(new Uri(Constants.UrlLecture_ApiBaseAddr))
{
this.ValidRootName = Constants.LectureXmlValidRootName;
}
}
}

View File

@@ -9,6 +9,7 @@
<!--Anwendungsressourcen-->
<Application.Resources>
<local:LocalizedStrings xmlns:local="clr-namespace:CampusAppWP8" x:Key="LocalizedStrings"/>
<local:ThemelizedIcons xmlns:local="clr-namespace:CampusAppWP8" x:Key="ThemelizedIcons"/>
</Application.Resources>
<Application.ApplicationLifetimeObjects>

View File

@@ -91,6 +91,39 @@ namespace CampusAppWP8
}
return default(T);
}
/// <summary>
/// Method save any object to the IsolatedStorage
/// </summary>
/// <param name="key"> key of the object</param>
/// <param name="value">value of the object, if value == null => remove key</param>
public static void SaveToAppState<T>(string key, T value)
{
IsolatedStorageSettings isolatedStore = IsolatedStorageSettings.ApplicationSettings;
isolatedStore.Remove(key);
if (value != null)
{
isolatedStore.Add(key, value);
}
isolatedStore.Save();
}
/// <summary>
/// Method load any object to the IsolatedStorage
/// </summary>
/// <param name="key"> key of the object</param>
public static T LoadFromAppState<T>(string key)
{
IsolatedStorageSettings isolatedStore = IsolatedStorageSettings.ApplicationSettings;
if (isolatedStore.Contains(key))
{
object value = isolatedStore[key];
return (T)value;
}
return default(T);
}
// Code, der beim Starten der Anwendung ausgeführt werden soll (z. B. über "Start")
// Dieser Code wird beim Reaktivieren der Anwendung nicht ausgeführt
private void Application_Launching(object sender, LaunchingEventArgs e)

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

After

Width:  |  Height:  |  Size: 5.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 9.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 11 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.4 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.8 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.7 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.9 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.0 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.5 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 6.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

View File

@@ -1,325 +1,361 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.20506</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{120B88CC-F3F0-4C5A-A3FD-C26E835338CC}</ProjectGuid>
<ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CampusAppWP8</RootNamespace>
<AssemblyName>CampusAppWP8</AssemblyName>
<TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
<XapFilename>CampusAppWP8_$(Configuration)_$(Platform).xap</XapFilename>
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
<SilverlightAppEntry>CampusAppWP8.App</SilverlightAppEntry>
<ValidateXaml>true</ValidateXaml>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<ExpressionBlendVersion>5.0.40218.0</ExpressionBlendVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>
</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\x86\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\x86\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\ARM\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\ARM\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="LocalizedStrings.cs" />
<Compile Include="Model\Departments\ChairModel.cs" />
<Compile Include="Model\Departments\DepartmentModel.cs" />
<Compile Include="Model\Departments\DepartmentViewModel.cs" />
<Compile Include="Model\Departments\FacultyModel.cs" />
<Compile Include="Model\Events\RSSChannelModel.cs" />
<Compile Include="Model\Events\RSSViewModel.cs" />
<Compile Include="Model\Lecture\LectureActivity.cs" />
<Compile Include="Model\Lecture\LectureCourse.cs" />
<Compile Include="Model\Lecture\LectureDate.cs" />
<Compile Include="Model\Lecture\LectureLecturer.cs" />
<Compile Include="Model\Lecture\LectureList.cs" />
<Compile Include="Model\Lecture\LectureModul.cs" />
<Compile Include="Model\Mensa\MenuModel.cs" />
<Compile Include="Model\Mensa\MenuWeekModel.cs" />
<Compile Include="Pages\Campusmap\CampusMapPage.xaml.cs">
<DependentUpon>CampusMapPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Lecture\LectureFeed.cs" />
<Compile Include="Feed\Departments\DepartmentFeed.cs" />
<Compile Include="Pages\Departments\DepartmentPage.xaml.cs">
<DependentUpon>DepartmentPage.xaml</DependentUpon>
</Compile>
<Compile Include="Feed\Events\EventFeed.cs" />
<Compile Include="Pages\Events\EventIndexPage.xaml.cs">
<DependentUpon>EventIndexPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Events\EventPage.xaml.cs">
<DependentUpon>EventPage.xaml</DependentUpon>
</Compile>
<Compile Include="pages\lecture\LecturePage.xaml.cs">
<DependentUpon>LecturePage.xaml</DependentUpon>
</Compile>
<Compile Include="Model\BaseModel.cs" />
<Compile Include="Model\BaseViewModel.cs" />
<Compile Include="Feed\Mensa\MensaFeed.cs" />
<Compile Include="Pages\Lecture\ModulWebPage.xaml.cs">
<DependentUpon>ModulWebPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Lecture\ResultDetailPage.xaml.cs">
<DependentUpon>ResultDetailPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Lecture\ResultPage.xaml.cs">
<DependentUpon>ResultPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Mensa\MensaPage.xaml.cs">
<DependentUpon>MensaPage.xaml</DependentUpon>
</Compile>
<Compile Include="Feed\News\NewsFeed.cs" />
<Compile Include="Pages\News\NewsIndexPage.xaml.cs">
<DependentUpon>NewsIndexPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\News\NewsPage.xaml.cs">
<DependentUpon>NewsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Model\Events\RSSModel.cs" />
<Compile Include="pages\StartPage.xaml.cs">
<DependentUpon>StartPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Webmail\WebmailPage.xaml.cs">
<DependentUpon>WebmailPage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources\AppResources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>AppResources.resx</DependentUpon>
</Compile>
<Compile Include="Resources\Constants.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Constants.resx</DependentUpon>
</Compile>
<Compile Include="Utility\Feed.cs" />
<Compile Include="Utility\FeedEventHandler.cs" />
<Compile Include="Utility\FileList.cs" />
<Compile Include="Utility\FileManager.cs" />
<Compile Include="Utility\Logger.cs" />
<Compile Include="Utility\RestApi.cs" />
<Compile Include="Utility\StringManager.cs" />
<Compile Include="Utility\URLList.cs" />
<Compile Include="Utility\XmlFeed.cs" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Page Include="Pages\Campusmap\CampusMapPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Departments\DepartmentPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\LecturePage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\ModulWebPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\ResultDetailPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\ResultPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Events\EventIndexPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Events\EventPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Pages\Mensa\MensaPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Pages\News\NewsIndexPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\News\NewsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="pages\StartPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Webmail\WebmailPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="Assets\psd\holo_optionsbuttons.psd" />
<None Include="Assets\psd\iconbutton_effects2.psd" />
<None Include="packages.config" />
<None Include="Properties\AppManifest.xml" />
<None Include="Properties\WMAppManifest.xml">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Assets\AlignmentGrid.png" />
<Content Include="Assets\ApplicationIcon.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\icons\campus_159_dark.png" />
<Content Include="Assets\icons\campus_159_light.png" />
<Content Include="Assets\icons\departments_159_dark.png" />
<Content Include="Assets\icons\departments_159_light.png" />
<Content Include="Assets\icons\homework_159_dark.png" />
<Content Include="Assets\icons\homework_159_light.png" />
<Content Include="Assets\icons\link_159_dark.png" />
<Content Include="Assets\icons\link_159_light.png" />
<Content Include="Assets\icons\lectures_159_dark.png" />
<Content Include="Assets\icons\lectures_159_light.png" />
<Content Include="Assets\icons\mensa_159_dark.png" />
<Content Include="Assets\icons\mensa_159_light.png" />
<Content Include="Assets\icons\news_159_dark.png" />
<Content Include="Assets\icons\news_159_light.png" />
<Content Include="Assets\icons\openhours_159_dark.png" />
<Content Include="Assets\icons\openhours_159_light.png" />
<Content Include="Assets\icons\schedule_159_dark.png" />
<Content Include="Assets\icons\schedule_159_light.png" />
<Content Include="Assets\icons\student_council_159_dark.png" />
<Content Include="Assets\icons\student_council_159_light.png" />
<Content Include="Assets\icons\webmail_159_dark.png" />
<Content Include="Assets\icons\webmail_159_light.png" />
<Content Include="Assets\Tiles\FlipCycleTileLarge.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\FlipCycleTileMedium.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\FlipCycleTileSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\IconicTileMediumLarge.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\IconicTileSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="README_FIRST.txt" />
<Content Include="Toolkit.Content\ApplicationBar.Cancel.png" />
<Content Include="Toolkit.Content\ApplicationBar.Check.png" />
<Content Include="Toolkit.Content\ApplicationBar.Delete.png" />
<Content Include="Toolkit.Content\ApplicationBar.Select.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\AppResources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>AppResources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Constants.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Constants.Designer.cs</LastGenOutput>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Phone.Controls, Version=8.0.0.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e, processorArchitecture=MSIL" />
<Reference Include="Microsoft.Phone.Controls.Toolkit">
<HintPath>..\packages\WPtoolkit.4.2012.10.30\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions />
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
<ProductVersion>10.0.20506</ProductVersion>
<SchemaVersion>2.0</SchemaVersion>
<ProjectGuid>{120B88CC-F3F0-4C5A-A3FD-C26E835338CC}</ProjectGuid>
<ProjectTypeGuids>{C089C8C0-30E0-4E22-80C0-CE093F111A43};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
<OutputType>Library</OutputType>
<AppDesignerFolder>Properties</AppDesignerFolder>
<RootNamespace>CampusAppWP8</RootNamespace>
<AssemblyName>CampusAppWP8</AssemblyName>
<TargetFrameworkIdentifier>WindowsPhone</TargetFrameworkIdentifier>
<TargetFrameworkVersion>v8.0</TargetFrameworkVersion>
<SilverlightVersion>$(TargetFrameworkVersion)</SilverlightVersion>
<SilverlightApplication>true</SilverlightApplication>
<SupportedCultures>
</SupportedCultures>
<XapOutputs>true</XapOutputs>
<GenerateSilverlightManifest>true</GenerateSilverlightManifest>
<XapFilename>CampusAppWP8_$(Configuration)_$(Platform).xap</XapFilename>
<SilverlightManifestTemplate>Properties\AppManifest.xml</SilverlightManifestTemplate>
<SilverlightAppEntry>CampusAppWP8.App</SilverlightAppEntry>
<ValidateXaml>true</ValidateXaml>
<MinimumVisualStudioVersion>11.0</MinimumVisualStudioVersion>
<ThrowErrorsInValidation>true</ThrowErrorsInValidation>
<ExpressionBlendVersion>5.0.40218.0</ExpressionBlendVersion>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
<DocumentationFile>
</DocumentationFile>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\x86\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\x86\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
<Optimize>false</Optimize>
<OutputPath>Bin\ARM\Debug</OutputPath>
<DefineConstants>DEBUG;TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
<DebugType>pdbonly</DebugType>
<Optimize>true</Optimize>
<OutputPath>Bin\ARM\Release</OutputPath>
<DefineConstants>TRACE;SILVERLIGHT;WINDOWS_PHONE</DefineConstants>
<NoStdLib>true</NoStdLib>
<NoConfig>true</NoConfig>
<ErrorReport>prompt</ErrorReport>
<WarningLevel>4</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Compile Include="App.xaml.cs">
<DependentUpon>App.xaml</DependentUpon>
</Compile>
<Compile Include="Feed\Openinghours\OpeninghoursFeed.cs" />
<Compile Include="LocalizedStrings.cs" />
<Compile Include="Model\Campusmap\MapModel.cs" />
<Compile Include="Model\Campusmap\MapPinModel.cs" />
<Compile Include="Model\Departments\ChairModel.cs" />
<Compile Include="Model\Departments\DepartmentModel.cs" />
<Compile Include="Model\Departments\DepartmentViewModel.cs" />
<Compile Include="Model\Departments\FacultyModel.cs" />
<Compile Include="Model\Events\RSSChannelModel.cs" />
<Compile Include="Model\Events\RSSViewModel.cs" />
<Compile Include="Model\Lecture\LectureActivity.cs" />
<Compile Include="Model\Lecture\LectureCourse.cs" />
<Compile Include="Model\Lecture\LectureDate.cs" />
<Compile Include="Model\Lecture\LectureLecturer.cs" />
<Compile Include="Model\Lecture\LectureList.cs" />
<Compile Include="Model\Lecture\LectureModule.cs" />
<Compile Include="Model\Lecture\LecturePageModel.cs" />
<Compile Include="Model\Mensa\MenuModel.cs" />
<Compile Include="Model\Mensa\MenuWeekModel.cs" />
<Compile Include="Model\Openinghours\OpeninghoursInstitutionModel.cs" />
<Compile Include="Model\Openinghours\OpeninghoursModel.cs" />
<Compile Include="Model\Utility\UrlParamModel.cs" />
<Compile Include="Pages\Campusmap\CampusMapPage.xaml.cs">
<DependentUpon>CampusMapPage.xaml</DependentUpon>
</Compile>
<Compile Include="Api\Lecture\LectureApi.cs" />
<Compile Include="Feed\Departments\DepartmentFeed.cs" />
<Compile Include="Pages\Departments\DepartmentPage.xaml.cs">
<DependentUpon>DepartmentPage.xaml</DependentUpon>
</Compile>
<Compile Include="Feed\Events\EventFeed.cs" />
<Compile Include="Pages\Events\EventIndexPage.xaml.cs">
<DependentUpon>EventIndexPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Events\EventPage.xaml.cs">
<DependentUpon>EventPage.xaml</DependentUpon>
</Compile>
<Compile Include="pages\lecture\LecturePage.xaml.cs">
<DependentUpon>LecturePage.xaml</DependentUpon>
</Compile>
<Compile Include="Model\BaseModel.cs" />
<Compile Include="Model\BaseViewModel.cs" />
<Compile Include="Feed\Mensa\MensaFeed.cs" />
<Compile Include="Pages\Lecture\ModulWebPage.xaml.cs">
<DependentUpon>ModulWebPage.xaml</DependentUpon>
</Compile>
<Compile Include="Model\Utility\ListPickerItemModel.cs" />
<Compile Include="Pages\Lecture\ResultDetailPage.xaml.cs">
<DependentUpon>ResultDetailPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Lecture\ResultPage.xaml.cs">
<DependentUpon>ResultPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Mensa\MensaPage.xaml.cs">
<DependentUpon>MensaPage.xaml</DependentUpon>
</Compile>
<Compile Include="Feed\News\NewsFeed.cs" />
<Compile Include="Pages\News\NewsIndexPage.xaml.cs">
<DependentUpon>NewsIndexPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\News\NewsPage.xaml.cs">
<DependentUpon>NewsPage.xaml</DependentUpon>
</Compile>
<Compile Include="Model\Events\RSSModel.cs" />
<Compile Include="Pages\Openinghours\OpeninghoursPage.xaml.cs">
<DependentUpon>OpeninghoursPage.xaml</DependentUpon>
</Compile>
<Compile Include="pages\StartPage.xaml.cs">
<DependentUpon>StartPage.xaml</DependentUpon>
</Compile>
<Compile Include="Pages\Webmail\WebmailPage.xaml.cs">
<DependentUpon>WebmailPage.xaml</DependentUpon>
</Compile>
<Compile Include="Properties\AssemblyInfo.cs" />
<Compile Include="Resources\AppResources.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>AppResources.resx</DependentUpon>
</Compile>
<Compile Include="Resources\Constants.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Constants.resx</DependentUpon>
</Compile>
<Compile Include="Resources\Icons.Designer.cs">
<AutoGen>True</AutoGen>
<DesignTime>True</DesignTime>
<DependentUpon>Icons.resx</DependentUpon>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Compile>
<Compile Include="ThemelizedIcons.cs" />
<Compile Include="Utility\Api.cs" />
<Compile Include="Utility\ApiEventHandler.cs" />
<Compile Include="Utility\Feed.cs" />
<Compile Include="Utility\FeedEventHandler.cs" />
<Compile Include="Utility\FileList.cs" />
<Compile Include="Utility\FileManager.cs" />
<Compile Include="Utility\Logger.cs" />
<Compile Include="Utility\HttpRequest.cs" />
<Compile Include="Utility\StringManager.cs" />
<Compile Include="Utility\URLList.cs" />
<Compile Include="Utility\XmlApi.cs" />
<Compile Include="Utility\XmlFeed.cs" />
<Compile Include="Utility\XmlManager.cs" />
</ItemGroup>
<ItemGroup>
<ApplicationDefinition Include="App.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</ApplicationDefinition>
<Page Include="Pages\Campusmap\CampusMapPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Departments\DepartmentPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\LecturePage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\ModulWebPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\ResultDetailPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Lecture\ResultPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Events\EventIndexPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Events\EventPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Pages\Mensa\MensaPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
<Page Include="Pages\News\NewsIndexPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\News\NewsPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Openinghours\OpeninghoursPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="pages\StartPage.xaml">
<SubType>Designer</SubType>
<Generator>MSBuild:Compile</Generator>
</Page>
<Page Include="Pages\Webmail\WebmailPage.xaml">
<Generator>MSBuild:Compile</Generator>
<SubType>Designer</SubType>
</Page>
</ItemGroup>
<ItemGroup>
<None Include="Assets\psd\holo_optionsbuttons.psd" />
<None Include="Assets\psd\iconbutton_effects2.psd" />
<None Include="packages.config" />
<None Include="Properties\AppManifest.xml" />
<None Include="Properties\WMAppManifest.xml">
<SubType>Designer</SubType>
</None>
</ItemGroup>
<ItemGroup>
<Content Include="Assets\AlignmentGrid.png" />
<Content Include="Assets\ApplicationIcon.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Icons\DarkTheme\campus_159.png" />
<Content Include="Assets\Icons\DarkTheme\phone_159.png" />
<Content Include="Assets\Icons\LightTheme\campus_159.png" />
<Content Include="Assets\Icons\DarkTheme\departments_159.png" />
<Content Include="Assets\Icons\LightTheme\departments_159.png" />
<Content Include="Assets\Icons\DarkTheme\homework_159.png" />
<Content Include="Assets\Icons\LightTheme\homework_159.png" />
<Content Include="Assets\Icons\DarkTheme\link_159.png" />
<Content Include="Assets\Icons\LightTheme\link_159.png" />
<Content Include="Assets\Icons\DarkTheme\lectures_159.png" />
<Content Include="Assets\Icons\LightTheme\lectures_159.png" />
<Content Include="Assets\Icons\DarkTheme\mensa_159.png" />
<Content Include="Assets\Icons\LightTheme\mensa_159.png" />
<Content Include="Assets\Icons\DarkTheme\news_159.png" />
<Content Include="Assets\Icons\LightTheme\news_159.png" />
<Content Include="Assets\Icons\DarkTheme\openhours_159.png" />
<Content Include="Assets\Icons\LightTheme\openhours_159.png" />
<Content Include="Assets\Icons\DarkTheme\schedule_159.png" />
<Content Include="Assets\Icons\LightTheme\phone_159.png" />
<Content Include="Assets\Icons\LightTheme\schedule_159.png" />
<Content Include="Assets\Icons\DarkTheme\search_159.png" />
<Content Include="Assets\Icons\LightTheme\search_159.png" />
<Content Include="Assets\Icons\DarkTheme\student_council_159.png" />
<Content Include="Assets\Icons\LightTheme\student_council_159.png" />
<Content Include="Assets\Icons\DarkTheme\webmail_159.png" />
<Content Include="Assets\Icons\LightTheme\webmail_159.png" />
<Content Include="Assets\testmap.png" />
<Content Include="Assets\Tiles\FlipCycleTileLarge.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\FlipCycleTileMedium.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\FlipCycleTileSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\IconicTileMediumLarge.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="Assets\Tiles\IconicTileSmall.png">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</Content>
<Content Include="README_FIRST.txt" />
<Content Include="Toolkit.Content\ApplicationBar.Cancel.png" />
<Content Include="Toolkit.Content\ApplicationBar.Check.png" />
<Content Include="Toolkit.Content\ApplicationBar.Delete.png" />
<Content Include="Toolkit.Content\ApplicationBar.Select.png" />
</ItemGroup>
<ItemGroup>
<EmbeddedResource Include="Resources\AppResources.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>AppResources.Designer.cs</LastGenOutput>
<SubType>Designer</SubType>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Constants.resx">
<Generator>ResXFileCodeGenerator</Generator>
<LastGenOutput>Constants.Designer.cs</LastGenOutput>
</EmbeddedResource>
<EmbeddedResource Include="Resources\Icons.resx">
<Generator>PublicResXFileCodeGenerator</Generator>
<LastGenOutput>Icons.Designer.cs</LastGenOutput>
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</EmbeddedResource>
</ItemGroup>
<ItemGroup>
<Reference Include="Microsoft.Phone.Controls, Version=8.0.0.0, Culture=neutral, PublicKeyToken=24eec0d8c86cda1e, processorArchitecture=MSIL" />
<Reference Include="Microsoft.Phone.Controls.Toolkit">
<HintPath>..\packages\WPtoolkit.4.2012.10.30\lib\wp8\Microsoft.Phone.Controls.Toolkit.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).$(TargetFrameworkVersion).Overrides.targets" />
<Import Project="$(MSBuildExtensionsPath)\Microsoft\$(TargetFrameworkIdentifier)\$(TargetFrameworkVersion)\Microsoft.$(TargetFrameworkIdentifier).CSharp.targets" />
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
Other similar extension points exist, see Microsoft.Common.targets.
<Target Name="BeforeBuild">
</Target>
<Target Name="AfterBuild">
</Target>
-->
<ProjectExtensions />
</Project>

View File

@@ -6,7 +6,7 @@ using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CampusAppWP8.Feed.Departments
namespace CampusAppWP8.Api.Departments
{
class DepartmentFeed : XmlFeed<DepartmentViewModel>
{
@@ -17,7 +17,7 @@ namespace CampusAppWP8.Feed.Departments
public System.Collections.ObjectModel.ObservableCollection<FacultyModel> _faculties { get; set; }
/// <summary>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if model is up-to-date, otherwise false</returns>
protected override bool CheckIsModelUpToDate()
@@ -26,7 +26,7 @@ namespace CampusAppWP8.Feed.Departments
}
/// <summary>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if file is up-to-date, otherwise false</returns>
protected override bool CheckIsFileUpToDate()

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
namespace CampusAppWP8.Feed.Events
namespace CampusAppWP8.Api.Events
{
/// <summary>
/// Event Feed.
@@ -21,7 +21,7 @@ namespace CampusAppWP8.Feed.Events
{
}
/// <summary>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if model is up-to-date, otherwise false</returns>
protected override bool CheckIsModelUpToDate()
@@ -30,7 +30,7 @@ namespace CampusAppWP8.Feed.Events
}
/// <summary>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if file is up-to-date, otherwise false</returns>
protected override bool CheckIsFileUpToDate()

View File

@@ -5,7 +5,7 @@
// <author>stubbfel</author>
// <sience>03.05.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Pages.Mensa
namespace CampusAppWP8.Api.Mensa
{
using System;
using System.Collections.ObjectModel;
@@ -34,7 +34,7 @@ namespace CampusAppWP8.Pages.Mensa
#region Protected
/// <summary>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if model is up-to-date, otherwise false</returns>
protected override bool CheckIsModelUpToDate()
@@ -44,7 +44,7 @@ namespace CampusAppWP8.Pages.Mensa
}
/// <summary>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if file is up-to-date, otherwise false</returns>
protected override bool CheckIsFileUpToDate()

View File

@@ -7,7 +7,7 @@ using System.Threading.Tasks;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
namespace CampusAppWP8.Feed.News
namespace CampusAppWP8.Api.News
{
/// <summary>
/// News Feed.
@@ -22,7 +22,7 @@ namespace CampusAppWP8.Feed.News
}
/// <summary>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if model is up-to-date, otherwise false</returns>
protected override bool CheckIsModelUpToDate()
@@ -31,7 +31,7 @@ namespace CampusAppWP8.Feed.News
}
/// <summary>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Feed"/>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Pages"/>
/// </summary>
/// <returns>true, if file is up-to-date, otherwise false</returns>
protected override bool CheckIsFileUpToDate()

View File

@@ -0,0 +1,74 @@
//-----------------------------------------------------------------------
// <copyright file="OpeninghoursFeed.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>24.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Feed.Openinghours
{
using System;
using System.Collections.ObjectModel;
using CampusAppWP8.Model.Openinghours;
using CampusAppWP8.Utility;
/// <summary>
/// This Class is for MesaFeeds
/// </summary>
public class OpeninghoursFeed : XmlFeed<OpeninghoursModel>
{
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="OpeninghoursFeed" /> class.
/// </summary>
public OpeninghoursFeed()
: base(URLList.OpeninghoursFeedURL, FileList.OpeninghoursXmlFile)
{
}
#endregion
#region Method
#region Protected
/// <summary>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Pages"/>.
/// </summary>
/// <returns>true, if model is up-to-date, otherwise false</returns>
protected override bool CheckIsModelUpToDate()
{
DateTime lastModified = this.Model.CreateTime;
return this.CheckIsUpToDate(lastModified);
}
/// <summary>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Pages"/>.
/// </summary>
/// <returns>true, if file is up-to-date, otherwise false</returns>
protected override bool CheckIsFileUpToDate()
{
DateTime lastModified = FileManager.GetFileInfo(FileName).LastWriteTime;
return this.CheckIsUpToDate(lastModified);
}
#endregion
#region Private
/// <summary>
/// Check if the model or file is up-to-date.
/// </summary>
/// <param name="lastModified">Date of the last modification</param>
/// <returns>true, if is up-to-date, otherwise false</returns>
private bool CheckIsUpToDate(DateTime lastModified)
{
return true;
}
#endregion
#endregion
}
}

View File

@@ -0,0 +1,177 @@
//-----------------------------------------------------------------------
// <copyright file="MapModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>24.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Campusmap
{
using System;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Media.Imaging;
/// <summary>
/// This Class manage the properties of a Map
/// </summary>
public class MapModel
{
#region Constructors
/// <summary>
/// Initializes a new instance of the <see cref="MapModel" /> class.
/// </summary>
public MapModel()
{
}
#endregion
#region Property
/// <summary>
/// Gets or sets the ImageSource of the map
/// </summary>
public string ImageSource { get; set; }
/// <summary>
/// Gets or sets the ImageWidth of the map
/// </summary>
public double ImageWidth { get; set; }
/// <summary>
/// Gets or sets the ImageHeight of the map
/// </summary>
public double ImageHeight { get; set; }
/// <summary>
/// Gets or sets the ImageOffsetX of the map
/// </summary>
public double MapImageOffsetX { get; set; }
/// <summary>
/// Gets or sets the ImageOffsetY of the map
/// </summary>
public double MapImageOffsetY { get; set; }
/// <summary>
/// Gets or sets the GeoOffsetX of the map
/// </summary>
public double GeoOffsetX { get; set; }
/// <summary>
/// Gets or sets the GeoOffsetY of the map
/// </summary>
public double GeoOffsetY { get; set; }
/// <summary>
/// Gets or sets the Scale (to pixel) of the map
/// </summary>
public double Scale { get; set; }
/// <summary>
/// Gets or sets the reference point
/// </summary>
public Point RefPoint { get; set; }
#endregion
#region Methods
/// <summary>
/// Method calculate the coordinates of ScrollToOffsets point
/// </summary>
/// <param name="point">input point</param>
/// <returns>point (in pixel)</returns>
public Point GetScrollPoint(Point point)
{
return this.GetScrollPoint(point.X, point.Y);
}
/// <summary>
/// Method calculate the coordinates of ScrollToOffsets point
/// </summary>
/// <remarks>the input-point will be shown in the center</remarks>
/// <param name="x">x - coordinate</param>
/// <param name="y">y - coordinate</param>
/// <returns>point (in pixel)</returns>
public Point GetScrollPoint(double x, double y)
{
x = this.RefPoint.X + this.MapImageOffsetX + x;
y = this.RefPoint.Y + this.MapImageOffsetY - y;
return new Point(x, y);
}
/// <summary>
/// Method create in image, which can show at a certain position
/// </summary>
/// <param name="x">the x- coordinate</param>
/// <param name="y">the y-coordinate</param>
/// <returns>image of the pin</returns>
public Image AddPin(double x, double y)
{
Point position = new Point(x, y);
return this.AddPin(position);
}
/// <summary>
/// Method create in image, which can show at a certain position depend of the <see cref="RefPoint" />
/// </summary>
/// <param name="x">the x-coordinate</param>
/// <param name="y">the y-coordinate</param>
/// <returns>image of the pin</returns>
public Image AddPinFromRefPoint(double x, double y)
{
Point position = new Point(this.RefPoint.X + x, this.RefPoint.Y - y);
return this.AddPin(position);
}
/// <summary>
/// Method create in image, which can show at a certain position depend of the <see cref="RefPoint" />
/// </summary>
/// <param name="position">input point</param>
/// <returns>image of the pin</returns>
public Image AddPinFromRefPoint(Point position)
{
return this.AddPinFromRefPoint(position.X, position.Y);
}
/// <summary>
/// Method create in image, which can show at a certain position
/// </summary>
/// <param name="position">input point</param>
/// <returns>image of the pin</returns>
public Image AddPin(Point position)
{
MapPinModel pin = new MapPinModel() { Position = position };
Image pinImg = new Image() { Source = new BitmapImage(new Uri(pin.ImageSource, UriKind.Relative)), Width = pin.ImageWidth };
Canvas.SetTop(pinImg, pin.Position.Y);
Canvas.SetLeft(pinImg, pin.Position.X);
return pinImg;
}
/// <summary>
/// Convert a coordinates to coordinates which address pixels
/// </summary>
/// <param name="x">the x-coordinate</param>
/// <param name="y">the y-coordinate</param>
/// <returns>Point in pixel-size</returns>
public Point ConverToPixelPoint(double x, double y)
{
return new Point { X = this.Scale * x, Y = this.Scale * y };
}
/// <summary>
/// Convert a coordinates to coordinates which address pixels
/// </summary>
/// <param name="point">not scaled point</param>
/// <returns>Point in pixel-size</returns>
public Point ConverToPixelPoint(Point point)
{
return this.ConverToPixelPoint(point.X, point.Y);
}
#endregion
}
}

View File

@@ -0,0 +1,106 @@
//-----------------------------------------------------------------------
// <copyright file="MapPinModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>24.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Campusmap
{
using System.Windows;
/// <summary>
/// This Class manage the properties of a MapPin
/// </summary>
public class MapPinModel
{
#region Member
/// <summary>
/// Variable of the actual position of the pin
/// </summary>
private Point position;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="MapPinModel" /> class.
/// </summary>
public MapPinModel()
{
this.ImageSource = "/Assets/icons/search_159_light.png";
this.ImageWidth = 60;
this.ImageHeight = 60;
this.PinImageOffsetX = -24;
this.PinImageOffsetY = -24;
}
#endregion
#region Property
/// <summary>
/// Gets or sets the ImageSource of the pin
/// </summary>
public string ImageSource { get; set; }
/// <summary>
/// Gets or sets the ImageWidth of the pin
/// </summary>
public double ImageWidth { get; set; }
/// <summary>
/// Gets or sets the ImageHeight of the pin
/// </summary>
public double ImageHeight { get; set; }
/// <summary>
/// Gets or sets the ImageOffsetX of the pin
/// </summary>
public double PinImageOffsetX { get; set; }
/// <summary>
/// Gets or sets the ImageOffsetY of the pin
/// </summary>
public double PinImageOffsetY { get; set; }
/// <summary>
/// Gets or sets position of the pin
/// </summary>
public Point Position
{
get
{
return this.position;
}
set
{
// null assert
if (value == null)
{
return;
}
if (this.position == null)
{
this.position = value;
return;
}
// check the x-value
if (value.X + this.PinImageOffsetX != this.position.X)
{
this.position.X = value.X + this.PinImageOffsetX;
}
// check the y-value
if (value.Y + this.PinImageOffsetY != this.position.Y)
{
this.position.Y = value.Y + this.PinImageOffsetY;
}
}
}
#endregion
}
}

View File

@@ -1,26 +1,48 @@
using CampusAppWP8.Utility;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Xml.Serialization;
//-----------------------------------------------------------------------
// <copyright file="LectureActivity.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>13.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using System.Collections.ObjectModel;
using System.Xml.Serialization;
using CampusAppWP8.Utility;
/// <summary>
/// Model for a Activity
/// </summary>
public class LectureActivity
{
#region
#region Members
/// <summary>
/// List of lecturer
/// </summary>
private ObservableCollection<LectureLecturer> lecturer;
/// <summary>
/// a formatted string for the names of the lecturers
/// </summary>
private string lecturerString;
/// <summary>
/// a formatted string for the names of the courses
/// </summary>
private string courseString;
/// <summary>
/// a formatted string for the topic of the lecture
/// </summary>
private string topic;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="LectureList" /> class.
/// Initializes a new instance of the <see cref="LectureActivity" /> class.
/// </summary>
public LectureActivity()
{
@@ -30,41 +52,72 @@ namespace CampusAppWP8.Model.Lecture
#region Proberty
/// <summary>
/// Gets or sets the type of the activity
/// </summary>
[XmlElement("art")]
public string Type { get; set; }
/// <summary>
/// Gets or sets the id of the activity
/// </summary>
[XmlAttribute("id")]
public int Id { get; set; }
/// <summary>
/// Gets or sets semester of the activity
/// </summary>
[XmlElement("semester")]
public int Semester { get; set; }
/// <summary>
/// Gets or sets the contact hour
/// </summary>
[XmlElement("sws")]
public string SWS { get; set; }
/// <summary>
/// Gets or sets LectureModule
/// </summary>
[XmlElement("modul")]
public LectureModul Modul { get; set; }
public LectureModule Modul { get; set; }
/// <summary>
/// Gets or sets LectureTitel
/// </summary>
[XmlElement("titel")]
public string Title { get; set; }
/// <summary>
/// Gets or sets the lecturers
/// </summary>
[XmlElement("lehrperson")]
public ObservableCollection<LectureLecturer> Lecturer {
public ObservableCollection<LectureLecturer> Lecturer
{
get
{
return lecturer;
return this.lecturer;
}
set
{
if (value != lecturer)
if (value != this.lecturer)
{
lecturer = value;
this.lecturer = value;
}
}
}
public string LecturerString {
/// <summary>
/// Gets or sets the formatted string of the lecturers
/// </summary>
public string LecturerString
{
get
{
return this.lecturerString;
}
set
{
if (value != this.lecturerString)
@@ -74,12 +127,16 @@ namespace CampusAppWP8.Model.Lecture
}
}
/// <summary>
/// Gets or sets formatted string of the courses
/// </summary>
public string CourseString
{
get
{
return this.courseString;
}
set
{
if (value != this.courseString)
@@ -88,53 +145,77 @@ namespace CampusAppWP8.Model.Lecture
}
}
}
/// <summary>
/// Gets or sets the courses
/// </summary>
[XmlElement("studiengang")]
public ObservableCollection<LectureCourse> Course { get; set; }
/// <summary>
/// Gets or sets the dates of the activity
/// </summary>
[XmlElement("termin")]
public ObservableCollection<LectureDate> Dates { get; set; }
/// <summary>
/// Gets or sets the Department
/// </summary>
[XmlElement("zugeordnete_einrichtung")]
public string Department { get; set; }
/// <summary>
/// Gets or sets the topic of the Lecture
/// </summary>
[XmlElement("lehrinhalt")]
public string Topic
{
get
{
return topic;
return this.topic;
}
set
{
if (value != topic)
if (value != this.topic)
{
topic = StringManager.StripHTML(value);
this.topic = StringManager.StripHTML(value);
}
}
}
#endregion
public void createLectureString()
#region Methods
/// <summary>
/// Method create a formatted string of the LecturerList
/// </summary>
public void CreateLectureString()
{
string result = string.Empty;
foreach (LectureLecturer tmpLecturer in Lecturer)
foreach (LectureLecturer tmpLecturer in this.Lecturer)
{
result += tmpLecturer.ToString() + "\n";
result += StringManager.AddNewLine(tmpLecturer.ToString());
}
this.LecturerString = result.TrimEnd('\n');
this.LecturerString = StringManager.RemvoveNewLine(result);
}
public void createCourseString()
/// <summary>
/// Method create a formatted string of the CourseList
/// </summary>
public void CreateCourseString()
{
string result = string.Empty;
foreach (LectureCourse course in Course)
foreach (LectureCourse course in this.Course)
{
result += course.Title + "\n";
result += StringManager.AddNewLine(course.Title);
}
this.CourseString = result.TrimEnd('\n');
this.CourseString = StringManager.RemvoveNewLine(result);
}
#endregion
}
}

View File

@@ -1,17 +1,29 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
// <copyright file="LectureCourse.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>10.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
public class LectureCourse
using System.Xml.Serialization;
/// <summary>
/// Model for a course
/// </summary>
public class LectureCourse
{
public LectureCourse()
{
}
[XmlElement("bezeichnung")]
public string Title {get;set;}
/// <summary>
/// Initializes a new instance of the <see cref="LectureCourse" /> class.
/// </summary>
public LectureCourse()
{
}
/// <summary>
/// Gets or sets the title of the course
/// </summary>
[XmlElement("bezeichnung")]
public string Title { get; set; }
}
}

View File

@@ -1,29 +1,65 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
//-----------------------------------------------------------------------
// <copyright file="LectureDate.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>10.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using System.Xml.Serialization;
/// <summary>
/// Model for the date of an activity
/// </summary>
public class LectureDate
{
/// <summary>
/// Initializes a new instance of the <see cref="LectureDate" /> class.
/// </summary>
public LectureDate()
{
}
/// <summary>
/// Gets or sets WeekDay
/// </summary>
[XmlElement("wochentag")]
public string WeekDay { get; set; }
/// <summary>
/// Gets or sets From
/// </summary>
[XmlElement("von")]
public string From { get; set; }
/// <summary>
/// Gets or sets To
/// </summary>
[XmlElement("bis")]
public string To { get; set; }
/// <summary>
/// Gets or sets Interval
/// </summary>
[XmlElement("rhythmus")]
public string Interval { get; set; }
/// <summary>
/// Gets or sets Room
/// </summary>
[XmlElement("raum")]
public string Room { get; set; }
/// <summary>
/// Gets or sets StartDate
/// </summary>
[XmlElement("anfangsdatum")]
public string StarDate { get; set; }
public string StartDate { get; set; }
/// <summary>
/// Gets or sets EndDate
/// </summary>
[XmlElement("enddatum")]
public string EndDate { get; set; }

View File

@@ -1,45 +1,71 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Xml.Serialization;
//-----------------------------------------------------------------------
// <copyright file="LectureLecturer.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>10.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using System.Xml.Serialization;
/// <summary>
/// Model for a lecturer
/// </summary>
public class LectureLecturer
{
/// <summary>
/// Initializes a new instance of the <see cref="LectureLecturer" /> class.
/// </summary>
public LectureLecturer()
{
}
/// <summary>
/// Gets or sets the FirstName of a lecturer
/// </summary>
[XmlElement("vorname")]
public string FirstName { get; set; }
/// <summary>
/// Gets or sets the LastName of a lecturer
/// </summary>
[XmlElement("name")]
public string LastName { get; set; }
/// <summary>
/// Gets or sets the title of a lecturer
/// </summary>
[XmlElement("titel")]
public string Title { get; set; }
/// <summary>
/// Gets or sets the Responsibility of a lecturer
/// </summary>
[XmlAttribute("zustaendigkeit")]
public string Responsibility { get; set; }
/// <summary>
/// Method overrides the base ToString() and create an formatted string of the lecturer
/// </summary>
/// <returns>returns a string like: [Title] FirstName LastName [(Responsibility)]</returns>
public override string ToString()
{
string result = string.Empty;
if (!Title.Equals(string.Empty))
if (!this.Title.Equals(string.Empty))
{
result += Title + " ";
result += this.Title + " ";
}
result += FirstName + " ";
result += LastName + " ";
result += this.FirstName + " ";
result += this.LastName + " ";
if (!Responsibility.Equals(string.Empty))
if (!this.Responsibility.Equals(string.Empty))
{
result += "(" + Responsibility + ") ";
result += "(" + this.Responsibility + ") ";
}
return result;
}
}

View File

@@ -7,15 +7,16 @@
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Xml.Serialization;
using System.Linq;
using System.Xml.Serialization;
/// <summary>
/// Model for a List of LectureActivity
/// </summary>
[XmlRoot("lsf_auszug")]
public class LectureList
{
#region Constructor
/// <summary>
@@ -29,6 +30,9 @@ namespace CampusAppWP8.Model.Lecture
#region Proberty
/// <summary>
/// Gets or sets List of the activities
/// </summary>
[XmlArray("veranstaltungsliste")]
[XmlArrayItem("veranstaltung")]
public ObservableCollection<LectureActivity> Activities { get; set; }
@@ -37,12 +41,17 @@ namespace CampusAppWP8.Model.Lecture
#region Methods
/// <summary>
/// Method return a certain activity
/// </summary>
/// <param name="id"> id of the activity</param>
/// <returns> the activity (FirstOrDefault)</returns>
public LectureActivity GetActivity(int id)
{
LectureActivity activity = Activities.Where(p => p.Id == id).First();
LectureActivity activity = this.Activities.Where(p => p.Id == id).FirstOrDefault();
return activity;
}
#endregion
#endregion
}
}

View File

@@ -1,70 +0,0 @@
//-----------------------------------------------------------------------
// <copyright file="LectureModul.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>10.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using CampusAppWP8.Resources;
using System;
using System.Xml.Serialization;
public class LectureModul
{
#region Members
private int number;
private Uri url;
#endregion
#region Constructor
public LectureModul()
{
}
#endregion
#region Property
[XmlElement("titel")]
public string Title {get; set;}
[XmlElement("nummer")]
public int Number{
get
{
return this.number;
}
set
{
if (value != this.number)
{
this.number = value;
this.createUrl();
}
}
}
public Uri Url{
get
{
return url;
}
}
#endregion
#region Methods
private void createUrl()
{
this.url = new Uri(Constants.UrlLectureModulBaseAddr + number.ToString());
}
#endregion
}
}

View File

@@ -0,0 +1,98 @@
//-----------------------------------------------------------------------
// <copyright file="LectureModule.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>10.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using System;
using System.Xml.Serialization;
using CampusAppWP8.Resources;
/// <summary>
/// Model for the module of an lecture
/// </summary>
public class LectureModule
{
#region Members
/// <summary>
/// Number of the module (like an id)
/// </summary>
private int number;
/// <summary>
/// Url to the website of the module
/// </summary>
private Uri url;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="LectureModule" /> class.
/// </summary>
public LectureModule()
{
}
#endregion
#region Property
/// <summary>
/// Gets or sets the title of the module
/// </summary>
[XmlElement("titel")]
public string Title { get; set; }
/// <summary>
/// Gets or sets the number of the module and create the URL
/// </summary>
[XmlElement("nummer")]
public int Number
{
get
{
return this.number;
}
set
{
if (value != this.number)
{
this.number = value;
this.CreateUrl();
}
}
}
/// <summary>
/// Gets the URL of the module
/// </summary>
public Uri Url
{
get
{
return this.url;
}
}
#endregion
#region Methods
/// <summary>
/// Method create the url of the module
/// </summary>
private void CreateUrl()
{
this.url = new Uri(Constants.UrlLecture_ModulBaseAddr + this.number.ToString());
}
#endregion
}
}

View File

@@ -0,0 +1,242 @@
//-----------------------------------------------------------------------
// <copyright file="LecturePageModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>18.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Lecture
{
using System.Collections.Generic;
using System.Runtime.Serialization;
using CampusAppWP8.Model.Utility;
using CampusAppWP8.Resources;
/// <summary>
/// Model for the LecturePage
/// </summary>
[DataContract]
public class LecturePageModel
{
#region Members
/// <summary>
/// List for the courses of the BTU
/// </summary>
/// <remarks>
/// need to be extend to full list
/// </remarks>
private List<ListPickerItemModel> courseList;
/// <summary>
/// List of the degrees
/// </summary>
private List<ListPickerItemModel> degreeList;
/// <summary>
/// List of the semester
/// </summary>
private List<ListPickerItemModel> semesterList;
/// <summary>
/// List for the number of semester
/// </summary>
private List<ListPickerItemModel> numberList;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="LecturePageModel" /> class.
/// </summary>
public LecturePageModel()
{
}
#endregion
#region Proberty
/// <summary>
/// Gets or sets the selected course index
/// </summary>
[DataMember]
public int SelectCourseIndex { get; set; }
/// <summary>
/// Gets or sets the selected degree index
/// </summary>
[DataMember]
public int SelectDegreeIndex { get; set; }
/// <summary>
/// Gets or sets the selected semester-index
/// </summary>
[DataMember]
public int SelectSemesterIndex { get; set; }
/// <summary>
/// Gets or sets the selected from-index
/// </summary>
[DataMember]
public int SelectFromIndex { get; set; }
/// <summary>
/// Gets or sets the selected to-index
/// </summary>
[DataMember]
public int SelectToIndex { get; set; }
/// <summary>
/// Gets List for the courses of the BTU
/// </summary>
public List<ListPickerItemModel> CourseList
{
get
{
return this.courseList;
}
}
/// <summary>
/// Gets List of the degrees
/// </summary>
public List<ListPickerItemModel> DegreeList
{
get
{
return this.degreeList;
}
}
/// <summary>
/// Gets List of the semester
/// </summary>
public List<ListPickerItemModel> SemesterList
{
get
{
return this.semesterList;
}
}
/// <summary>
/// Gets List for the number of semester
/// </summary>
public List<ListPickerItemModel> NumberList
{
get
{
return this.numberList;
}
}
#endregion
#region Methods
#region public
/// <summary>
/// Load all ListPickerLists
/// </summary>
public void LoadLists()
{
this.LoadCourseList();
this.LoadDegreeList();
this.LoadNumberList();
this.LoadSemesterList();
}
#endregion
#region private
/// <summary>
/// Load the NumberList
/// </summary>
private void LoadNumberList()
{
this.numberList = new List<ListPickerItemModel>();
this.numberList.Add(new ListPickerItemModel() { Text = "1", Value = "1" });
this.numberList.Add(new ListPickerItemModel() { Text = "2", Value = "2" });
this.numberList.Add(new ListPickerItemModel() { Text = "3", Value = "3" });
this.numberList.Add(new ListPickerItemModel() { Text = "4", Value = "4" });
}
/// <summary>
/// Load the SemesterList
/// </summary>
private void LoadSemesterList()
{
this.semesterList = new List<ListPickerItemModel>();
this.semesterList.Add(new ListPickerItemModel() { Text = "SoSe 13", Value = "20131" });
this.semesterList.Add(new ListPickerItemModel() { Text = "WiSe 13/14", Value = "20132" });
this.semesterList.Add(new ListPickerItemModel() { Text = "SoSe 14", Value = "20131" });
}
/// <summary>
/// Load the DegreeList
/// </summary>
private void LoadDegreeList()
{
this.degreeList = new List<ListPickerItemModel>();
this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Bachelor, Value = "82" });
this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Master, Value = "88" });
this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Diploma, Value = "11" });
}
/// <summary>
/// Load the DegreeList
/// </summary>
private void LoadCourseList()
{
this.courseList = new List<ListPickerItemModel>();
this.courseList.Add(new ListPickerItemModel() { Text = "Architektur", Value = "013" });
this.courseList.Add(new ListPickerItemModel() { Text = "Bauingenieurwesen", Value = "017" });
this.courseList.Add(new ListPickerItemModel() { Text = "Betriebswirtschaftslehre", Value = "021" });
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsrecht für Technologieunternehmen", Value = "042" });
this.courseList.Add(new ListPickerItemModel() { Text = "Elektrotechnik", Value = "048" });
this.courseList.Add(new ListPickerItemModel() { Text = "Informatik ", Value = "079" });
this.courseList.Add(new ListPickerItemModel() { Text = "Maschinenbau", Value = "104" });
this.courseList.Add(new ListPickerItemModel() { Text = "Mathematik", Value = "105" });
this.courseList.Add(new ListPickerItemModel() { Text = "Physik ", Value = "128" });
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsingenieurwesen", Value = "179" });
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftswissenschaften ", Value = "184" });
this.courseList.Add(new ListPickerItemModel() { Text = "Biomedizinische Gerätetechnik ", Value = "215" });
this.courseList.Add(new ListPickerItemModel() { Text = "Verfahrenstechnik", Value = "226" });
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsmathematik ", Value = "276" });
this.courseList.Add(new ListPickerItemModel() { Text = "Kultur und Technik ", Value = "711" });
this.courseList.Add(new ListPickerItemModel() { Text = "Physik der Halbleiter-Technologie", Value = "744" });
this.courseList.Add(new ListPickerItemModel() { Text = "Angewandte Mathematik ", Value = "749" });
this.courseList.Add(new ListPickerItemModel() { Text = "Technologie- und Innovationsmanagement", Value = "764" });
this.courseList.Add(new ListPickerItemModel() { Text = "Stadt- und Regionalplanung", Value = "766" });
this.courseList.Add(new ListPickerItemModel() { Text = "Informations- und Medientechnik ", Value = "767" });
this.courseList.Add(new ListPickerItemModel() { Text = "World Heritage Studies", Value = "768" });
this.courseList.Add(new ListPickerItemModel() { Text = "Umweltingenieurwesen und Verfahrenstechnik", Value = "770" });
this.courseList.Add(new ListPickerItemModel() { Text = "Environmental and Resource Management", Value = "771" });
this.courseList.Add(new ListPickerItemModel() { Text = "Landnutzung und Wasserbewirtschaftung", Value = "772" });
this.courseList.Add(new ListPickerItemModel() { Text = "Bauen und Erhalten", Value = "773" });
this.courseList.Add(new ListPickerItemModel() { Text = "Umweltingenieurwesen", Value = "774" });
this.courseList.Add(new ListPickerItemModel() { Text = "eBusiness", Value = "794" });
this.courseList.Add(new ListPickerItemModel() { Text = "Civil Engineering", Value = "798" });
this.courseList.Add(new ListPickerItemModel() { Text = "Structural Engineering", Value = "799" });
this.courseList.Add(new ListPickerItemModel() { Text = "Electrical Power Engineering ", Value = "800" });
this.courseList.Add(new ListPickerItemModel() { Text = "Euro Hydroinformatics and Water Management", Value = "841" });
this.courseList.Add(new ListPickerItemModel() { Text = "Technologien Biogener Rohstoffe", Value = "842" });
this.courseList.Add(new ListPickerItemModel() { Text = "Environmental Technologies", Value = "843" });
this.courseList.Add(new ListPickerItemModel() { Text = "Process Engineering and Plant Design", Value = "844" });
this.courseList.Add(new ListPickerItemModel() { Text = "Architekturvermittlung", Value = "845" });
this.courseList.Add(new ListPickerItemModel() { Text = "Nachwachsende Rohstoffe und Erneuerbare Energien", Value = "851" });
this.courseList.Add(new ListPickerItemModel() { Text = "Energieträger aus Biomasse und Abfällen", Value = "852" });
this.courseList.Add(new ListPickerItemModel() { Text = "Power Engineering", Value = "853" });
this.courseList.Add(new ListPickerItemModel() { Text = "Verfahrenstechnik - Prozess- und Anlagentechnik", Value = "857" });
this.courseList.Add(new ListPickerItemModel() { Text = "Architektur.Studium.Generale", Value = "858" });
this.courseList.Add(new ListPickerItemModel() { Text = "Verarbeitungstechnologien der Werkstoffe", Value = "860" });
this.courseList.Add(new ListPickerItemModel() { Text = "Forensic Sciences and Engineering", Value = "871" });
}
#endregion
#endregion
}
}

View File

@@ -0,0 +1,581 @@
//-----------------------------------------------------------------------------
// <copyright file="OpeninghoursInstitutionModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>24.06.2013</sience>
//-----------------------------------------------------------------------------
namespace CampusAppWP8.Model.Openinghours
{
using System.Globalization;
using System.Windows;
using System.Xml.Serialization;
/// <summary>
/// Model for menu
/// </summary>
public class OpeninghoursInstitutionModel
{
#region Member
/// <summary>
/// German version of the institution title.
/// </summary>
private string titleDE = string.Empty;
/// <summary>
/// English version of the institution title.
/// </summary>
private string titleEN = string.Empty;
/// <summary>
/// Opening hours on monday.
/// </summary>
private string dayMonday = string.Empty;
/// <summary>
/// Opening hours on tuesday.
/// </summary>
private string dayTuesday = string.Empty;
/// <summary>
/// Opening hours on wednesday.
/// </summary>
private string dayWednesday = string.Empty;
/// <summary>
/// Opening hours on thursday.
/// </summary>
private string dayThursday = string.Empty;
/// <summary>
/// Opening hours on friday.
/// </summary>
private string dayFriday = string.Empty;
/// <summary>
/// Opening hours on saturday.
/// </summary>
private string daySaturday = string.Empty;
/// <summary>
/// Opening hours on sunday.
/// </summary>
private string daySunday = string.Empty;
/// <summary>
/// Email address of the institution.
/// </summary>
private string infoEmail = string.Empty;
/// <summary>
/// Phone number of the institution.
/// </summary>
private string infoPhone = string.Empty;
/// <summary>
/// Building name where the institution is located.
/// </summary>
private string infoBuilding = string.Empty;
/// <summary>
/// Room where the institution is located.
/// </summary>
private string infoRoom = string.Empty;
/// <summary>
/// German version of the comment.
/// </summary>
private string commentDE = string.Empty;
/// <summary>
/// English version of the comment.
/// </summary>
private string commentEN = string.Empty;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="OpeninghoursInstitutionModel" /> class.
/// </summary>
public OpeninghoursInstitutionModel()
{
}
#endregion
#region Property
/// <summary>
/// Gets or sets the german title of the institution.
/// </summary>
[XmlAttribute("title_de")]
public string Title_DE
{
get
{
return this.titleDE;
}
set
{
this.titleDE = value;
}
}
/// <summary>
/// Gets or sets the english title of the institution.
/// </summary>
[XmlAttribute("title_en")]
public string Title_EN
{
get
{
return this.titleEN;
}
set
{
this.titleEN = value;
}
}
/// <summary>
/// Gets or sets the open hours on monday.
/// </summary>
[XmlAttribute("monday")]
public string Monday
{
get
{
return this.dayMonday;
}
set
{
this.dayMonday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the open hours on tuesday.
/// </summary>
[XmlAttribute("tuesday")]
public string Tuesday
{
get
{
return this.dayTuesday;
}
set
{
this.dayTuesday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the open hours on wednesday.
/// </summary>
[XmlAttribute("wednesday")]
public string Wednesday
{
get
{
return this.dayWednesday;
}
set
{
this.dayWednesday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the open hours on thursday.
/// </summary>
[XmlAttribute("thursday")]
public string Thursday
{
get
{
return this.dayThursday;
}
set
{
this.dayThursday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the open hours on friday.
/// </summary>
[XmlAttribute("friday")]
public string Friday
{
get
{
return this.dayFriday;
}
set
{
this.dayFriday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the open hours on saturday.
/// </summary>
[XmlAttribute("saturday")]
public string Saturday
{
get
{
return this.daySaturday;
}
set
{
this.daySaturday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the open hours on sunday.
/// </summary>
[XmlAttribute("sunday")]
public string Sunday
{
get
{
return this.daySunday;
}
set
{
this.daySunday = this.FixOpeninghoursString(value);
}
}
/// <summary>
/// Gets or sets the email address of the institution.
/// </summary>
[XmlAttribute("email")]
public string EMail
{
get
{
return this.infoEmail;
}
set
{
this.infoEmail = value;
}
}
/// <summary>
/// Gets or sets the phone number of the institution.
/// </summary>
[XmlAttribute("phone")]
public string Phone
{
get
{
return this.infoPhone;
}
set
{
this.infoPhone = value;
}
}
/// <summary>
/// Gets or sets the building where the institution is located.
/// </summary>
[XmlAttribute("location_building")]
public string Building
{
get
{
return this.infoBuilding;
}
set
{
this.infoBuilding = value;
}
}
/// <summary>
/// Gets or sets the room where the institution is located.
/// </summary>
[XmlAttribute("location_room")]
public string Room
{
get
{
return this.infoRoom;
}
set
{
this.infoRoom = value;
}
}
/// <summary>
/// Gets or sets the german comment.
/// </summary>
[XmlAttribute("comment_de")]
public string Comment_DE
{
get
{
return this.commentDE;
}
set
{
this.commentDE = value;
}
}
/// <summary>
/// Gets or sets the english comment.
/// </summary>
[XmlAttribute("comment_en")]
public string Comment_EN
{
get
{
return this.commentEN;
}
set
{
this.commentEN = value;
}
}
/// <summary>
/// Gets the localized title. If the phone is set to german language,
/// the german title will be returned otherwise the english title.
/// </summary>
public string Title
{
get
{
if (CultureInfo.CurrentUICulture.Name.StartsWith("de"))
{
return this.titleDE;
}
else
{
return this.titleEN;
}
}
}
/// <summary>
/// Gets the localized comment. if the phone is set to german language,
/// the german comment will be returned otherwise the english comment.
/// </summary>
public string Comment
{
get
{
if (CultureInfo.CurrentUICulture.Name.StartsWith("de"))
{
return this.commentDE;
}
else
{
return this.commentEN;
}
}
}
/// <summary>
/// Gets a string containing the email address and the institution
/// title separated by ':'.
/// </summary>
public string EMailTitle
{
get
{
return this.EMail + ":" + this.Title;
}
}
/// <summary>
/// Gets a string containing the phone number and the institution
/// title separated by ':'.
/// </summary>
public string PhoneTitle
{
get
{
return this.Phone + ":" + this.Title;
}
}
/// <summary>
/// Gets the visibility state of the monday TextBlock.
/// </summary>
public Visibility VisibleMonday
{
get
{
return ((this.dayMonday == string.Empty) || (this.dayMonday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the tuesday TextBlock.
/// </summary>
public Visibility VisibleTuesday
{
get
{
return ((this.dayTuesday == string.Empty) || (this.dayTuesday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the wednesday TextBlock.
/// </summary>
public Visibility VisibleWednesday
{
get
{
return ((this.dayWednesday == string.Empty) || (this.dayWednesday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the thursday TextBlock.
/// </summary>
public Visibility VisibleThursday
{
get
{
return ((this.dayThursday == string.Empty) || (this.dayThursday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the friday TextBlock.
/// </summary>
public Visibility VisibleFriday
{
get
{
return ((this.dayFriday == string.Empty) || (this.dayFriday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the saturday TextBlock.
/// </summary>
public Visibility VisibleSaturday
{
get
{
return ((this.daySaturday == string.Empty) || (this.daySaturday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the sunday TextBlock.
/// </summary>
public Visibility VisibleSunday
{
get
{
return ((this.daySunday == string.Empty) || (this.daySunday.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the comment.
/// </summary>
public Visibility VisibleComment
{
get
{
return ((this.Comment == string.Empty) || (this.Comment.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the email address.
/// </summary>
public Visibility VisibleEMail
{
get
{
return ((this.infoEmail == string.Empty) || (this.infoEmail.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the phone number.
/// </summary>
public Visibility VisiblePhone
{
get
{
return ((this.infoPhone == string.Empty) || (this.infoPhone.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the room.
/// </summary>
public Visibility VisibleRoom
{
get
{
return ((this.infoRoom == string.Empty) || (this.infoRoom.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
/// <summary>
/// Gets the visibility state of the building.
/// </summary>
public Visibility VisibleBuilding
{
get
{
return ((this.infoBuilding == string.Empty) || (this.infoBuilding.Length == 0)) ? Visibility.Collapsed : Visibility.Visible;
}
}
#endregion
#region Method
/// <summary>
/// Removes unwanted chars in a string.
/// </summary>
/// <param name="str">input string</param>
/// <returns>fixed string</returns>
private string FixOpeninghoursString(string str)
{
string retValue = string.Empty;
retValue = str.Replace(" | ", "\n");
return retValue;
}
#endregion
}
}

View File

@@ -0,0 +1,79 @@
//-----------------------------------------------------------------------------
// <copyright file="OpeninghoursModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>24.06.2013</sience>
//-----------------------------------------------------------------------------
namespace CampusAppWP8.Model.Openinghours
{
using System;
using System.Collections.ObjectModel;
using System.Xml.Serialization;
/// <summary>
/// Model for opening hours.
/// </summary>
[XmlRoot("root")]
public class OpeninghoursModel
{
#region Member
/// <summary>
/// Time when the model was created.
/// </summary>
private readonly DateTime createTime;
/// <summary>
/// Gets or sets feed information item list.
/// </summary>
[XmlArray("data")]
[XmlArrayItem("institution")]
public ObservableCollection<OpeninghoursInstitutionModel> institutions { get; set; }
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="OpeninghoursModel" /> class.
/// </summary>
public OpeninghoursModel()
{
this.createTime = DateTime.Now;
}
#endregion
#region Property
/// <summary>
/// Gets the creation time of the model.
/// </summary>
public DateTime CreateTime
{
get
{
return this.createTime;
}
}
/// <summary>
/// Gets the Institutions.
/// </summary>
public ObservableCollection<OpeninghoursInstitutionModel> Institutions
{
get
{
return this.institutions;
}
}
#endregion
#region Method
#endregion
}
}

View File

@@ -0,0 +1,25 @@
//-----------------------------------------------------------------------
// <copyright file="ListPickerItemModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>13.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Utility
{
/// <summary>
/// Model for the ListPickerItems
/// </summary>
public class ListPickerItemModel
{
/// <summary>
/// Gets or sets the Value of an Item
/// </summary>
public string Value { get; set; }
/// <summary>
/// Gets or sets the Text (caption) of an Item
/// </summary>
public string Text { get; set; }
}
}

View File

@@ -0,0 +1,96 @@
//-----------------------------------------------------------------------
// <copyright file="URLParamModel.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>17.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Model.Utility
{
/// <summary>
/// This class is a Model for the URLParameter like GET-Parameter
/// </summary>
public class UrlParamModel
{
#region Members
/// <summary>
/// Variable of the key
/// </summary>
private readonly string key;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="UrlParamModel" /> class.
/// </summary>
/// <param name="key">the key for the parameter</param>
public UrlParamModel(string key)
{
this.key = key;
}
/// <summary>
/// Initializes a new instance of the <see cref="UrlParamModel" /> class.
/// </summary>
/// <param name="key">the key for the parameter</param>>
/// <param name="value">value of the parameter</param>
public UrlParamModel(string key, string value)
{
this.key = key;
this.Value = value;
}
#endregion
#region Proberty
/// <summary>
/// Gets or sets the value of the Parameter
/// </summary>
public string Value { get; set; }
/// <summary>
/// Gets the key of the parameter
/// </summary>
public string Key
{
get
{
return this.key;
}
}
#endregion
#region Methods
/// <summary>
/// Method check if the parameter is valid
/// </summary>
/// <returns>true if is it valid, otherwise false</returns>
public virtual bool IsParamValid()
{
if (this.key == null || string.Empty.Equals(this.key) || string.Empty.Equals(this.Value))
{
return false;
}
return true;
}
/// <summary>
/// Method return a formatted string like Key=Value
/// </summary>
/// <returns> return formatted string</returns>
public override string ToString()
{
if (!this.IsParamValid())
{
return string.Empty;
}
return "&" + this.key + "=" + this.Value;
}
#endregion
}
}

View File

@@ -35,17 +35,25 @@
<Grid Grid.Row="0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="*"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<TextBox Grid.Column="0" />
<Image Grid.Column="1" Source="/Toolkit.Content/ApplicationBar.Check.png" />
<TextBox Name="XPoint" Grid.Column="0" Text="0" />
<TextBox Name="YPoint" Grid.Column="1" Text="0"/>
<Button Grid.Column="2" Click="Button_Click">
<Image Source="{Binding Path=ThemelizedIcon.Search, Source={StaticResource ThemelizedIcons}}" Width="60"/>
</Button>
</Grid>
<Controls:Map Grid.Row="1" ZoomLevel="16">
<Controls:Map.Center>
<Location:GeoCoordinate Altitude="NaN" Course="NaN" HorizontalAccuracy="NaN" Longitude="14.3242" Latitude="51.7662" Speed="NaN" VerticalAccuracy="NaN"/>
</Controls:Map.Center>
</Controls:Map>
<ScrollViewer Name="MapScroller" Grid.Row="1" HorizontalScrollBarVisibility="Auto" RenderTransformOrigin="0,0">
<Canvas Name="MapCanvas" ScrollViewer.HorizontalScrollBarVisibility="Auto" ScrollViewer.VerticalScrollBarVisibility="Auto" Height="{Binding ImageHeight}" Width="{Binding ImageWidth}">
<Canvas.Background>
<ImageBrush Stretch="Fill" ImageSource="{Binding ImageSource}">
</ImageBrush>
</Canvas.Background>
</Canvas>
</ScrollViewer>
</Grid>
</Grid>

View File

@@ -7,18 +7,45 @@ using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using System.Windows.Media;
using CampusAppWP8.Model.Campusmap;
using System.Windows.Media.Imaging;
namespace CampusAppWP8.Pages.Campusmap
{
public partial class CampusMapPage : PhoneApplicationPage
{
private MapModel map;
public CampusMapPage()
{
InitializeComponent();
this.map = new MapModel() { ImageSource = "/Assets/testmap.png", ImageWidth = 2000, ImageHeight = 2000, MapImageOffsetX = -228, MapImageOffsetY = -300, RefPoint = new Point(1000, 1000), Scale = 20};
this.MapCanvas.DataContext = map;
}
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
{
}
/// <summary>
/// Methods overrides the OnNavigatedTo-Method
/// </summary>
/// <param name="e">some NavigationEventArgs</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
}
private void Button_Click(object sender, RoutedEventArgs e)
{
MapCanvas.Children.Clear();
Point scrollPoint = map.GetScrollPoint(map.ConverToPixelPoint(double.Parse(XPoint.Text), double.Parse(YPoint.Text)));
MapCanvas.Children.Add(map.AddPinFromRefPoint(map.ConverToPixelPoint(double.Parse(XPoint.Text), double.Parse(YPoint.Text))));
MapScroller.ScrollToVerticalOffset(scrollPoint.Y);
MapScroller.ScrollToHorizontalOffset(scrollPoint.X);
}
}
}

View File

@@ -1,5 +1,4 @@
using CampusAppWP8.Feed.Departments;
using CampusAppWP8.Pages.Departments;
using CampusAppWP8.Api.Departments;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;

View File

@@ -1,52 +1,66 @@
using CampusAppWP8.Feed.Events;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
//-----------------------------------------------------------------------------
// <copyright file="EventIndexPage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>03.05.2013</sience>
//-----------------------------------------------------------------------------
namespace CampusAppWP8.Pages.Events
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using CampusAppWP8.Api.Events;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
/// <summary>
/// Overview page of all events.
/// </summary>
public partial class EventIndexPage : PhoneApplicationPage
{
/// <summary>
/// Event Feed object, which contains the rss models and data.
/// Gets or sets Event Feed object, which contains the RSS models and data.
/// </summary>
public static EventFeed eventFeed { get; set; }
/// <summary>
/// Default constructor.
/// Initializes a new instance of the <see cref="EventIndexPage" /> class.
/// </summary>
public EventIndexPage()
{
InitializeComponent();
this.InitializeComponent();
EventIndexPage.eventFeed = new EventFeed();
}
/// <summary>
/// On navigation to this page, creates a FeedEventHandler and load the rss feed data.
/// On navigation to this page, creates a FeedEventHandler and load the RSS feed data.
/// </summary>
/// <param name="e">event args</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
// Set handler and load the fees informations.
EventIndexPage.eventFeed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(SetupEventPageList);
EventIndexPage.eventFeed.LoadFeed();
if ((EventIndexPage.eventFeed.Model == null)
|| (EventIndexPage.eventFeed.Model.Channel == null)
|| (EventIndexPage.eventFeed.Model.Channel.Count() == 0)
|| (EventIndexPage.eventFeed.Model.Channel[0].item == null)
|| (EventIndexPage.eventFeed.Model.Channel[0].item.Count() == 0))
{
// Set handler and load the fees informations.
EventIndexPage.eventFeed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.SetupEventPageList);
EventIndexPage.eventFeed.LoadFeed();
}
}
/// <summary>
/// Is called after the rss feeds are loaded into the eventFeed model.
/// If there was no feed informations set to the ui, the feed list
/// Is called after the RSS feeds are loaded into the eventFeed model.
/// If there was no feed information set to the UI, the feed list
/// will be sorted by timestamp and the buttons will be created.
/// </summary>
private void SetupEventPageList()
@@ -70,7 +84,7 @@ namespace CampusAppWP8.Pages.Events
tempBtn.HorizontalContentAlignment = HorizontalAlignment.Stretch;
tempBtn.BorderThickness = new Thickness(0.0);
tempBtn.Padding = new Thickness(0.0);
tempBtn.Click += EventRowAppButton_Click;
tempBtn.Click += this.EventRowAppButton_Click;
tempBtn.Tag = i;
this.ButtonPanel.Items.Add(tempBtn);
@@ -79,12 +93,11 @@ namespace CampusAppWP8.Pages.Events
}
/// <summary>
/// Return the eventFeed object.
/// Gets the eventFeed object.
/// </summary>
static public EventFeed GetEventFeed
public static EventFeed GetEventFeed
{
get { return EventIndexPage.eventFeed; }
set { }
}
/// <summary>

View File

@@ -31,17 +31,27 @@
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<!--<RowDefinition Height="100"/>-->
<RowDefinition Height="*"/>
<RowDefinition Height="90"/>
</Grid.RowDefinitions>
<TextBlock x:Name="EventHeadline" Text="{Binding Path=Title, Mode=OneWay}" Grid.Row="0" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="42"/>
<ScrollViewer Grid.Row="1">
<TextBlock x:Name="EventText" Text="{Binding Path=Text, Mode=OneWay}" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="24" />
</ScrollViewer>
<Button Name="EventHome" Content="{Binding Path=LocalizedResources.NewsHomeBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Left" Click="EventHome_Click"/>
<Button Name="EventLink" Tag="{Binding Path=Link, Mode=OneWay}" Content="{Binding Path=LocalizedResources.NewsLinkBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Click="EventLink_Click"/>
<Grid x:Name="EventTextGrid" Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock x:Name="EventHeadline" Text="{Binding Path=Title, Mode=OneWay}" Grid.Row="0" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="42"/>
<ScrollViewer x:Name="EventTextScroll" Grid.Row="1">
<TextBlock x:Name="EventText" Text="{Binding Path=Text, Mode=OneWay}" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="24" />
</ScrollViewer>
</Grid>
<phone:WebBrowser x:Name="WebBrowser" Grid.Row="0" IsScriptEnabled="True" Visibility="Collapsed"/>
<Button Name="EventHome" Content="{Binding Path=LocalizedResources.NewsHomeBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Click="EventHome_Click"/>
<Button Name="EventLink" Tag="{Binding Path=Link, Mode=OneWay}" Content="{Binding Path=LocalizedResources.NewsLinkBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" Click="EventLink_Click"/>
</Grid>
</DataTemplate>
</phone:Pivot.ItemTemplate>

View File

@@ -1,16 +1,23 @@
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
using System;
using System.Linq;
using System.Windows;
using System.Windows.Navigation;
//-----------------------------------------------------------------------------
// <copyright file="EventPage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>03.05.2013</sience>
//-----------------------------------------------------------------------------
namespace CampusAppWP8.Pages.Events
{
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
/// <summary>
/// EventPage, where every event fees has his own pivotitem.
/// EventPage, where every event fees has his own PivotItem.
/// </summary>
public partial class EventPage : PhoneApplicationPage
{
@@ -20,19 +27,19 @@ namespace CampusAppWP8.Pages.Events
private bool isSourceSet = false;
/// <summary>
/// Default constructor.
/// Initializes a new instance of the <see cref="EventPage" /> class.
/// </summary>
public EventPage()
{
InitializeComponent();
this.InitializeComponent();
}
/// <summary>
/// On navigation to this page.
/// The pivotitem source will be set, if it wasn't befor.
/// Navigating to the submited index of the choosen pivotitem page.
/// The PivotItem source will be set, if it wasn't before.
/// Navigating to the submitted index of the chosen PivotItem page.
/// </summary>
/// <param name="e"></param>
/// <param name="e">Event Args</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
@@ -49,7 +56,7 @@ namespace CampusAppWP8.Pages.Events
}
}
string pivotIndex = "";
string pivotIndex = string.Empty;
// Navigate to the selected pivotitem
if (NavigationContext.QueryString.TryGetValue("pivotindex", out pivotIndex))
@@ -57,12 +64,15 @@ namespace CampusAppWP8.Pages.Events
int pivotIndexInt = int.Parse(pivotIndex);
// if the index is in the range of the array
if((pivotIndexInt >= 0) && (pivotIndexInt < EventIndexPage.GetEventFeed.Model.Channel[0].item.Count()))
if ((pivotIndexInt >= 0) && (pivotIndexInt < EventIndexPage.GetEventFeed.Model.Channel[0].item.Count()))
{
EventPivot.SelectedIndex = pivotIndexInt;
}
else
{
MessageBox.Show("ERROR: pivotIndex out of range!!!");
}
}
}
/// <summary>
@@ -80,7 +90,7 @@ namespace CampusAppWP8.Pages.Events
/// <summary>
/// On clicking the link button if a link exists in the feed
/// (lower right).
/// Open the webbrowser with the url set in the feed.
/// Open the WebBrowser with the url set in the feed.
/// </summary>
/// <param name="sender">clicked button</param>
/// <param name="e">event args</param>
@@ -89,9 +99,37 @@ namespace CampusAppWP8.Pages.Events
FrameworkElement fe = sender as FrameworkElement;
// Open the webbrowser
WebBrowserTask webBrowserTask = new WebBrowserTask();
webBrowserTask.Uri = new Uri(fe.Tag.ToString(), UriKind.Absolute);
webBrowserTask.Show();
Grid grfe = fe.Parent as Grid;
FrameworkElement eventTextGrid = null;
FrameworkElement eventWeb = null;
foreach (FrameworkElement tempElem in grfe.Children)
{
if (tempElem.Name == "EventTextGrid")
{
eventTextGrid = tempElem;
}
else if (tempElem.Name == "WebBrowser")
{
eventWeb = tempElem;
}
}
if ((eventTextGrid != null)
&& (eventWeb != null))
{
if (eventTextGrid.Visibility == Visibility.Visible)
{
eventTextGrid.Visibility = Visibility.Collapsed;
eventWeb.Visibility = Visibility.Visible;
(eventWeb as WebBrowser).Navigate(new Uri(fe.Tag.ToString(), UriKind.Absolute));
}
else
{
eventWeb.Visibility = Visibility.Collapsed;
eventTextGrid.Visibility = Visibility.Visible;
}
}
}
}
}

View File

@@ -1,37 +0,0 @@
using CampusAppWP8.Model.Lecture;
using CampusAppWP8.Utility;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace CampusAppWP8.Pages.Lecture
{
public class LectureFeed : XmlFeed<LectureList>
{
public LectureFeed()
: base(new Uri("http://www.zv.tu-cottbus.de/LSFveranst/LSF4?Semester=20112&Abschluss=82&Studiengang=079&Von=1&Bis=2"), "Lecture.xml")
{
this.validRootName = "lsf_auszug";
}
/// <summary>
/// Method implement CheckIsModelUpToDate()-Method <see cref="Feed"/>
/// </summary>
/// <returns>true, if model is up-to-date, otherwise false</returns>
protected override bool CheckIsModelUpToDate()
{
return false;
}
/// <summary>
/// Method implement CheckIsFileUpToDate()-Method <see cref="Feed"/>
/// </summary>
/// <returns>true, if file is up-to-date, otherwise false</returns>
protected override bool CheckIsFileUpToDate()
{
return true;
}
}
}

View File

@@ -1,5 +1,5 @@
<phone:PhoneApplicationPage
x:Class="CampusAppWP8.Pages.lecture.Lecture"
x:Class="CampusAppWP8.Pages.Lecture.LecturePage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
@@ -10,11 +10,10 @@
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
OrientationChanged="PhoneApplicationPage_OrientationChanged"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot ist das Stammraster, in dem alle anderen Seiteninhalte platziert werden-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
@@ -23,11 +22,11 @@
</Grid.RowDefinitions>
<!--TitlePanel enthält den Namen der Anwendung und den Seitentitel-->
<ProgressBar Name="ProgressBar" Visibility="Collapsed" IsIndeterminate="True"/>
<StackPanel Grid.Row="0" Margin="12,17,0,28">
<Border BorderBrush="{StaticResource PhoneBorderBrush}" BorderThickness="0,0,0,2" >
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_Title, Source={StaticResource LocalizedStrings}}"/>
</Border>
</Border>
</StackPanel>
@@ -48,64 +47,121 @@
<StackPanel Grid.Row="0" >
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_LectureName, Source={StaticResource LocalizedStrings}}"/>
<TextBox />
<TextBox Name="ActivtyName"/>
</StackPanel>
<Border BorderBrush="{StaticResource PhoneBorderBrush}" BorderThickness="0,2,0,0" Grid.Row="1">
<StackPanel >
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_Course, Source={StaticResource LocalizedStrings}}"/>
<toolkit:ListPicker>
<toolkit:ListPickerItem Content="aaa" />
<toolkit:ListPickerItem Content="bbb" />
<toolkit:ListPickerItem Content="ccc" />
<!-- Listpicket of courses -->
<toolkit:ListPicker Name="Course" ExpansionMode="FullScreenOnly" FullModeHeader="{Binding Path=LocalizedResources.LectureApp_ListPickerHeaderCourse, Source={StaticResource LocalizedStrings}}" >
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource PhoneBorderBrush}" BorderThickness="0,2,0,0" Grid.Row="2">
<StackPanel >
<!-- Listpicket of degree-->
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_Degree, Source={StaticResource LocalizedStrings}}"/>
<toolkit:ListPicker>
<toolkit:ListPickerItem Content="Bachelor" />
<toolkit:ListPickerItem Content="Master" />
<toolkit:ListPickerItem Content="Diplom" />
</toolkit:ListPicker>
<toolkit:ListPicker Name="Degree">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource PhoneBorderBrush}" BorderThickness="0,2,0,0" Grid.Row="3">
<StackPanel >
<!-- Listpicket of semesters(from to) -->
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_Term, Source={StaticResource LocalizedStrings}}"/>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">
<toolkit:ListPicker Width="60">
<toolkit:ListPickerItem Content="1" />
<toolkit:ListPickerItem Content="2" />
<toolkit:ListPickerItem Content="3" />
<toolkit:ListPicker Width="60" Name="From" >
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>
<TextBlock Text="bis" HorizontalAlignment="Center" VerticalAlignment="Center"/>
<toolkit:ListPicker Width="60">
<toolkit:ListPickerItem Content="1" />
<toolkit:ListPickerItem Content="2" />
<toolkit:ListPickerItem Content="3" />
<toolkit:ListPicker Width="60" Name="To">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>
</StackPanel>
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource PhoneBorderBrush}" BorderThickness="0,2,0,0" Grid.Row="4">
<StackPanel>
<!-- Listpicket of semster -->
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_Semester, Source={StaticResource LocalizedStrings}}"/>
<toolkit:ListPicker>
<toolkit:ListPickerItem Content="SoSe 13" />
<toolkit:ListPickerItem Content="WiSe 13/14" />
<toolkit:ListPickerItem Content="SoSe 14" />
<toolkit:ListPicker Name="Semester">
<toolkit:ListPicker.ItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.ItemTemplate>
<toolkit:ListPicker.FullModeItemTemplate>
<DataTemplate>
<StackPanel>
<TextBlock Text="{Binding Text}"/>
</StackPanel>
</DataTemplate>
</toolkit:ListPicker.FullModeItemTemplate>
</toolkit:ListPicker>
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource PhoneBorderBrush}" BorderThickness="0,2,0,0" Grid.Row="5">
<Button Name="SearchButton">
<Image Source="/Toolkit.Content/ApplicationBar.Select.png" Width="100">
</Image>
<Button Name="SearchButton" Click="SendRequest">
<Image Name="SearchButtonImg" Source="{Binding Path=ThemelizedIcon.Search, Source={StaticResource ThemelizedIcons}}" Width="100" />
</Button>
</Border>
</Grid>
</ScrollViewer>
</Grid>

View File

@@ -1,28 +1,205 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using CampusAppWP8.Pages.Lecture;
using CampusAppWP8.Utility;
namespace CampusAppWP8.Pages.lecture
//-----------------------------------------------------------------------
// <copyright file="LecturePage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>13.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Pages.Lecture
{
public partial class Lecture : PhoneApplicationPage
using System;
using System.Collections.Generic;
using System.Windows;
using System.Windows.Media.Imaging;
using System.Windows.Navigation;
using CampusAppWP8.Api.Lecture;
using CampusAppWP8.Model.Lecture;
using CampusAppWP8.Model.Utility;
using CampusAppWP8.Resources;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
/// <summary>
/// Class for the LecturePage
/// </summary>
public partial class LecturePage : PhoneApplicationPage
{
public Lecture()
#region Member
/// <summary>
/// actual LectureAPI
/// </summary>
private LectureApi api;
/// <summary>
/// List for the courses of the BTU
/// </summary>
/// <remarks>
/// need to be extend to full list
/// </remarks>
private LecturePageModel pageModel;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="LecturePage" /> class.
/// </summary>
public LecturePage()
{
InitializeComponent();
LectureFeed test = new LectureFeed();
test.LoadFeed();
this.InitializeComponent();
this.LoadPageModel();
this.SetupListPickers();
}
private void PhoneApplicationPage_OrientationChanged(object sender, OrientationChangedEventArgs e)
#endregion
#region methods
#region protected
/// <summary>
/// Methods overrides the OnNavigatedFrom-Method
/// </summary>
/// <param name="e">some NavigationEventArgs</param>
protected override void OnNavigatedFrom(NavigationEventArgs e)
{
if (NavigationMode.Back == e.NavigationMode)
{
// delete all models
App.SaveToIsolatedStorage<LecturePageModel>(Constants.IsolatedStorage_LecturePageModel, null);
App.SaveToIsolatedStorage<LectureList>(Constants.IsolatedStorage_LectureModel, null);
}
else
{
this.StoreSelectedIndex();
App.SaveToIsolatedStorage<LecturePageModel>(Constants.IsolatedStorage_LecturePageModel, this.pageModel);
}
base.OnNavigatedFrom(e);
}
#endregion
#region private
/// <summary>
/// Load the PageModel
/// </summary>
private void LoadPageModel()
{
this.pageModel = new LecturePageModel();
this.pageModel.LoadLists();
}
/// <summary>
/// Method sets the ItemSource of the ListPickers
/// </summary>
private void SetupListPickers()
{
this.Course.ItemsSource = this.pageModel.CourseList;
this.Degree.ItemsSource = this.pageModel.DegreeList;
this.From.ItemsSource = this.pageModel.NumberList;
this.To.ItemsSource = this.pageModel.NumberList;
this.Semester.ItemsSource = this.pageModel.SemesterList;
// load values from last request
LecturePageModel lastPageModel = App.LoadFromIsolatedStorage<LecturePageModel>(Constants.IsolatedStorage_LecturePageModel);
if (lastPageModel != null)
{
this.SetLastSelectedIndex(lastPageModel);
}
this.SetSelectedIndex();
}
/// <summary>
/// Method set the last selected index of the ListPickers
/// </summary>
/// <param name="lastPageModel">Last PageModel</param>
private void SetLastSelectedIndex(LecturePageModel lastPageModel)
{
this.pageModel.SelectCourseIndex = lastPageModel.SelectCourseIndex;
this.pageModel.SelectDegreeIndex = lastPageModel.SelectDegreeIndex;
this.pageModel.SelectFromIndex = lastPageModel.SelectFromIndex;
this.pageModel.SelectToIndex = lastPageModel.SelectToIndex;
this.pageModel.SelectSemesterIndex = lastPageModel.SelectSemesterIndex;
}
/// <summary>
/// Method set the last selected index of the ListPickers
/// </summary>
private void SetSelectedIndex()
{
this.Course.SelectedIndex = this.pageModel.SelectCourseIndex;
this.Degree.SelectedIndex = this.pageModel.SelectDegreeIndex;
this.Semester.SelectedIndex = this.pageModel.SelectSemesterIndex;
this.From.SelectedIndex = this.pageModel.SelectFromIndex;
this.To.SelectedIndex = this.pageModel.SelectToIndex;
}
/// <summary>
/// Method store the actual selectIndex to the models
/// </summary>
private void StoreSelectedIndex()
{
this.pageModel.SelectCourseIndex = this.Course.SelectedIndex;
this.pageModel.SelectDegreeIndex = this.Degree.SelectedIndex;
this.pageModel.SelectSemesterIndex = this.Semester.SelectedIndex;
this.pageModel.SelectFromIndex = this.From.SelectedIndex;
this.pageModel.SelectToIndex = this.To.SelectedIndex;
}
/// <summary>
/// Method send a request to the Feed
/// </summary>
/// <remarks>
/// have to refactors
/// </remarks>
/// <param name="sender">sender of this event</param>
/// <param name="e"> events arguments</param>
private void SendRequest(object sender, RoutedEventArgs e)
{
this.api = new LectureApi();
this.api.EventHandler.ApiIsReadyEvent += new ApiEventHandler.ApiReadyHandler(this.ApiIsReady);
this.ProgressBar.Visibility = System.Windows.Visibility.Visible;
List<UrlParamModel> parameterList = this.CreateUrlParameter();
this.api.ApiGet(parameterList);
}
/// <summary>
/// Method read the values from the inputs and put them in a list of parameters
/// </summary>
/// <returns>a list of parameters</returns>
private List<UrlParamModel> CreateUrlParameter()
{
ListPickerItemModel semester = (ListPickerItemModel)this.Semester.SelectedItem;
ListPickerItemModel degree = (ListPickerItemModel)this.Degree.SelectedItem;
ListPickerItemModel course = (ListPickerItemModel)this.Course.SelectedItem;
ListPickerItemModel from = (ListPickerItemModel)this.From.SelectedItem;
ListPickerItemModel to = (ListPickerItemModel)this.To.SelectedItem;
List<UrlParamModel> parameterList = new List<UrlParamModel>();
parameterList.Add(new UrlParamModel(Constants.ParamGetLecture_Semester, semester.Value));
parameterList.Add(new UrlParamModel(Constants.ParamGetLecture_Degree, degree.Value));
parameterList.Add(new UrlParamModel(Constants.ParamGetLecture_Course, course.Value));
parameterList.Add(new UrlParamModel(Constants.ParamGetLecture_From, from.Value));
parameterList.Add(new UrlParamModel(Constants.ParamGetLecture_To, to.Value));
return parameterList;
}
/// <summary>
/// Method will be execute if the feed is ready
/// </summary>
private void ApiIsReady()
{
App.SaveToIsolatedStorage<LectureList>(Constants.IsolatedStorage_LectureModel, this.api.Model);
this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed;
Uri url = new Uri(Constants.PathLecture_ResultPage, UriKind.Relative);
NavigationService.Navigate(url);
}
#endregion
#endregion
}
}

View File

@@ -13,7 +13,7 @@ namespace CampusAppWP8.Pages.Lecture
using Microsoft.Phone.Controls;
/// <summary>
/// Class for the page which shows Webpages from the BaseAddress <see cref="Constants.UrlLectureModulBaseAddr" />
/// Class for the page which shows Webpages from the BaseAddress <see cref="Constants.UrlLecture_ModulBaseAddr" />
/// </summary>
public partial class ModulWebPage : PhoneApplicationPage
{
@@ -31,10 +31,10 @@ namespace CampusAppWP8.Pages.Lecture
/// <param name="e">Arguments of navigation</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey(Constants.ParamLectureModulNumber))
if (NavigationContext.QueryString.ContainsKey(Constants.ParamModelLecture_ModulNumber))
{
string number = NavigationContext.QueryString[Constants.ParamLectureModulNumber];
this.WebmailBrowser.Navigate(new Uri(Constants.UrlLectureModulBaseAddr + number, UriKind.Absolute));
string number = NavigationContext.QueryString[Constants.ParamModelLecture_ModulNumber];
this.WebmailBrowser.Navigate(new Uri(Constants.UrlLecture_ModulBaseAddr + number, UriKind.Absolute));
}
base.OnNavigatedTo(e);

View File

@@ -38,7 +38,7 @@
<Border BorderBrush="{StaticResource PhoneInverseInactiveBrush}" BorderThickness="0,1,0,0" Padding="0,12,0,12">
<StackPanel>
<TextBlock Text="{Binding Path=LocalizedResources.LectureApp_LectureName, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextGroupHeaderStyle}" Margin="0,0,0,0"/>
<TextBlock Text="{Binding Modul.Title}" TextWrapping="Wrap"/>
<TextBlock Text="{Binding Title}" TextWrapping="Wrap"/>
</StackPanel>
</Border>
<Border BorderBrush="{StaticResource PhoneInverseInactiveBrush}" BorderThickness="0,1,0,0" Padding="0,12,0,12">

View File

@@ -31,9 +31,9 @@ namespace CampusAppWP8.Pages.Lecture
/// <param name="e">Arguments of navigation</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
if (NavigationContext.QueryString.ContainsKey(Constants.ParamLectureActivityId))
if (NavigationContext.QueryString.ContainsKey(Constants.ParamModelLecture_ActivityId))
{
string activityId = NavigationContext.QueryString[Constants.ParamLectureActivityId];
string activityId = NavigationContext.QueryString[Constants.ParamModelLecture_ActivityId];
this.LoadActivity(int.Parse(activityId));
}
@@ -46,12 +46,12 @@ namespace CampusAppWP8.Pages.Lecture
/// <param name="activityId">id of the activity</param>
private void LoadActivity(int activityId)
{
LectureList list = App.LoadFromIsolatedStorage<LectureList>(Constants.IsolatedStorageLectureModel);
LectureList list = App.LoadFromIsolatedStorage<LectureList>(Constants.IsolatedStorage_LectureModel);
if (list != null)
{
LectureActivity activity = list.GetActivity(activityId);
activity.createLectureString();
activity.createCourseString();
activity.CreateLectureString();
activity.CreateCourseString();
this.ContentPanel.DataContext = activity;
}
}

View File

@@ -33,7 +33,7 @@
<TextBlock Text="{Binding Type}" Grid.Column="0" Grid.Row="0"/>
<TextBlock Text=" : " Grid.Column="1" Grid.Row="0"/>
<TextBlock Text="{Binding Modul.Title}" TextWrapping="Wrap" Grid.Column="2" Grid.Row="0"/>
<TextBlock Text="{Binding Title}" TextWrapping="Wrap" Grid.Column="2" Grid.Row="0"/>
</Grid>
</Button>
<StackPanel Orientation="Horizontal" HorizontalAlignment="Center">

View File

@@ -13,7 +13,6 @@ namespace CampusAppWP8.Pages.Lecture
using System.Windows.Navigation;
using CampusAppWP8.Model.Lecture;
using CampusAppWP8.Resources;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
/// <summary>
@@ -21,34 +20,30 @@ namespace CampusAppWP8.Pages.Lecture
/// </summary>
public partial class ResultPage : PhoneApplicationPage
{
/// <summary>
/// actual LectureFeed
/// </summary>
private LectureFeed feed;
/// <summary>
/// Reference of the button which was lastClicked
/// </summary>
private Button lastClickedButton;
/// <summary>
/// Initializes a new instance of the <see cref="ResultPage" /> class.
/// </summary>
public ResultPage()
{
this.InitializeComponent();
this.feed = new LectureFeed();
this.feed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.FeedIsReady);
this.feed.LoadFeed();
}
/// <summary>
/// Method will be execute if the feed is ready
/// Override the OnNavigatedTo method
/// </summary>
private void FeedIsReady()
/// <param name="e">Arguments of navigation</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
this.ResultList.ItemsSource = this.feed.Model.Activities;
App.SaveToIsolatedStorage<LectureList>(Constants.IsolatedStorageLectureModel, this.feed.Model);
LectureList list = App.LoadFromIsolatedStorage<LectureList>(Constants.IsolatedStorage_LectureModel);
if (list == null)
{
Uri url = new Uri(Constants.PathLecture_LecturePage, UriKind.Relative);
NavigationService.Navigate(url);
return;
}
this.ResultList.ItemsSource = list.Activities;
base.OnNavigatedTo(e);
}
/// <summary>
@@ -60,15 +55,14 @@ namespace CampusAppWP8.Pages.Lecture
{
Button button = (Button)sender;
StackPanel parent = (StackPanel)button.Parent;
if (this.lastClickedButton != null && !this.lastClickedButton.Equals(button))
{
this.HideOptions(parent);
}
this.lastClickedButton = button;
Button link = (Button)parent.FindName("Link");
Button details = (Button)parent.FindName("Details");
if (link.Tag == null)
{
link.IsEnabled = false;
}
this.ToogleVisibility(link);
this.ToogleVisibility(details);
}
@@ -91,8 +85,8 @@ namespace CampusAppWP8.Pages.Lecture
/// <param name="parent">Reference of the StackPanel which include the buttons </param>
private void HideOptions(StackPanel parent)
{
Button link = (Button)parent.FindName("Link");
Button details = (Button)parent.FindName("Details");
UIElement link = (UIElement)parent.FindName("Link");
UIElement details = (UIElement)parent.FindName("Details");
this.HideVisibility(link);
this.HideVisibility(details);
}
@@ -139,7 +133,8 @@ namespace CampusAppWP8.Pages.Lecture
private void ShowModulWebPage(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
Uri url = new Uri(Constants.PathLectureModulWebPage + Constants.Paramseparator + Constants.ParamLectureModulNumber + "=" + btn.Tag, UriKind.Relative);
HideOptions((StackPanel)btn.Parent);
Uri url = new Uri(Constants.PathLecture_ModulWebPage + "?" + Constants.ParamModelLecture_ModulNumber + "=" + btn.Tag, UriKind.Relative);
NavigationService.Navigate(url);
}
@@ -151,7 +146,8 @@ namespace CampusAppWP8.Pages.Lecture
private void ShowDetailPage(object sender, RoutedEventArgs e)
{
Button btn = (Button)sender;
Uri url = new Uri(Constants.PathResultDetailWebPage + Constants.Paramseparator + Constants.ParamLectureActivityId + "=" + btn.Tag, UriKind.Relative);
HideOptions((StackPanel)btn.Parent);
Uri url = new Uri(Constants.PathLecture_ResultDetailPage + "?" + Constants.ParamModelLecture_ActivityId + "=" + btn.Tag, UriKind.Relative);
NavigationService.Navigate(url);
}
}

View File

@@ -1,56 +1,66 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
using CampusAppWP8.Resources;
using System.Collections.ObjectModel;
using CampusAppWP8.Feed.News;
//-----------------------------------------------------------------------------
// <copyright file="NewsIndexPage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>03.05.2013</sience>
//-----------------------------------------------------------------------------
namespace CampusAppWP8.Pages.News
{
using System;
using System.Collections.Generic;
using System.Collections.ObjectModel;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using CampusAppWP8.Api.News;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
/// <summary>
/// Overview page of all news.
/// </summary>
public partial class NewsIndexPage : PhoneApplicationPage
{
/// <summary>
/// News Feed object, which contains the rss models and data.
/// Gets or sets News Feed object, which contains the RSS models and data.
/// </summary>
public static NewsFeed newsFeed { get; set; }
/// <summary>
/// Default constructor.
/// Initializes a new instance of the <see cref="NewsIndexPage" /> class.
/// </summary>
public NewsIndexPage()
{
InitializeComponent();
this.InitializeComponent();
NewsIndexPage.newsFeed = new NewsFeed();
}
/// <summary>
/// On navigation to this page, creates a FeedEventHandler and load the rss feed data.
/// On navigation to this page, creates a FeedEventHandler and load the RSS feed data.
/// </summary>
/// <param name="e">event args</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
// Set handler and load the fees informations.
NewsIndexPage.newsFeed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(SetupNewsPageList);
NewsIndexPage.newsFeed.LoadFeed();
if ((NewsIndexPage.newsFeed.Model == null)
|| (NewsIndexPage.newsFeed.Model.Channel == null)
|| (NewsIndexPage.newsFeed.Model.Channel.Count() == 0)
|| (NewsIndexPage.newsFeed.Model.Channel[0].item == null)
|| (NewsIndexPage.newsFeed.Model.Channel[0].item.Count() == 0))
{
// Set handler and load the fees informations.
NewsIndexPage.newsFeed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.SetupNewsPageList);
NewsIndexPage.newsFeed.LoadFeed();
}
}
/// <summary>
/// Is called after the rss feeds are loaded into the newsFeed model.
/// If there was no feed informations set to the ui, the feed list
/// Is called after the RSS feeds are loaded into the newsFeed model.
/// If there was no feed information set to the UI, the feed list
/// will be sorted by timestamp and the buttons will be created.
/// </summary>
private void SetupNewsPageList()
@@ -74,7 +84,7 @@ namespace CampusAppWP8.Pages.News
tempBtn.HorizontalContentAlignment = HorizontalAlignment.Stretch;
tempBtn.BorderThickness = new Thickness(0.0);
tempBtn.Padding = new Thickness(0.0);
tempBtn.Click += NewsRowAppButton_Click;
tempBtn.Click += this.NewsRowAppButton_Click;
tempBtn.Tag = i;
this.ButtonPanel.Items.Add(tempBtn);
@@ -83,12 +93,11 @@ namespace CampusAppWP8.Pages.News
}
/// <summary>
/// Return the newsFeed object.
/// Gets the newsFeed object.
/// </summary>
static public NewsFeed GetNewsFeed
public static NewsFeed GetNewsFeed
{
get { return NewsIndexPage.newsFeed; }
set { }
}
/// <summary>

View File

@@ -31,17 +31,26 @@
<DataTemplate>
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="100"/>
<RowDefinition Height="*"/>
<RowDefinition Height="90"/>
</Grid.RowDefinitions>
<TextBlock x:Name="NewsHeadline" Text="{Binding Path=Title, Mode=OneWay}" Grid.Row="0" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="42"/>
<ScrollViewer Grid.Row="1">
<TextBlock x:Name="NewsText" Text="{Binding Path=Text, Mode=OneWay}" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="24" />
</ScrollViewer>
<Button Name="NewsHome" Content="{Binding Path=LocalizedResources.NewsHomeBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Left" Click="NewsHome_Click"/>
<Button Name="NewsLink" Tag="{Binding Path=Link, Mode=OneWay}" Content="{Binding Path=LocalizedResources.NewsLinkBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="2" VerticalAlignment="Bottom" HorizontalAlignment="Right" Click="NewsLink_Click"/>
<Grid x:Name="NewsTextGrid" Grid.Row="0">
<Grid.RowDefinitions>
<RowDefinition Height="100" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<TextBlock x:Name="NewsHeadline" Text="{Binding Path=Title, Mode=OneWay}" Grid.Row="0" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="42"/>
<ScrollViewer Grid.Row="1">
<TextBlock x:Name="NewsText" Text="{Binding Path=Text, Mode=OneWay}" Height="Auto" TextWrapping="Wrap" VerticalAlignment="Center" HorizontalAlignment="Left" FontSize="24" />
</ScrollViewer>
</Grid>
<phone:WebBrowser x:Name="WebBrowser" Grid.Row="0" IsScriptEnabled="True" Visibility="Collapsed"/>
<Button Name="NewsHome" Content="{Binding Path=LocalizedResources.NewsHomeBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Left" Click="NewsHome_Click"/>
<Button Name="NewsLink" Tag="{Binding Path=Link, Mode=OneWay}" Content="{Binding Path=LocalizedResources.NewsLinkBtn, Source={StaticResource LocalizedStrings}}" Grid.Row="1" VerticalAlignment="Bottom" HorizontalAlignment="Right" Click="NewsLink_Click"/>
</Grid>
</DataTemplate>
</phone:Pivot.ItemTemplate>

View File

@@ -1,27 +1,23 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Net;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Shell;
using System.Xml.Linq;
using System.Xml;
using System.IO;
using Microsoft.Phone.Tasks;
using CampusAppWP8.Model.events_news;
using CampusAppWP8.Utility;
using CampusAppWP8.Resources;
//-----------------------------------------------------------------------------
// <copyright file="NewsPage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>03.05.2013</sience>
//-----------------------------------------------------------------------------
namespace CampusAppWP8.Pages.News
{
using System;
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
/// <summary>
/// EventPage, where every news fees has his own pivotitem.
/// EventPage, where every news fees has his own PivotItem.
/// </summary>
public partial class NewsPage : PhoneApplicationPage
{
@@ -31,36 +27,37 @@ namespace CampusAppWP8.Pages.News
private bool isSourceSet = false;
/// <summary>
/// Default constructor.
/// Initializes a new instance of the <see cref="NewsPage" /> class.
/// </summary>
public NewsPage()
{
InitializeComponent();
this.InitializeComponent();
}
/// <summary>
/// On navigation to this page.
/// The pivotitem source will be set, if it wasn't befor.
/// Navigating to the submited index of the choosen pivotitem page.
/// The PivotItem source will be set, if it wasn't before.
/// Navigating to the submitted index of the chosen PivotItem page.
/// </summary>
/// <param name="e"></param>
/// <param name="e">Event Args</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
// Set pivotitem Source
if (this.isSourceSet == false)
{
if ((NewsIndexPage.GetNewsFeed.Model != null)
&& (NewsIndexPage.GetNewsFeed.Model.Channel != null)
&& (NewsIndexPage.GetNewsFeed.Model.Channel.Count() >= 1))
&& (NewsIndexPage.GetNewsFeed.Model.Channel.Count() >= 1)
&& (this.NewsPivot.Items.Count() == 0))
{
this.NewsPivot.ItemsSource = NewsIndexPage.GetNewsFeed.Model.Channel[0].item;
this.isSourceSet = true;
}
}
string pivotIndex = "";
string pivotIndex = string.Empty;
// Navigate to the selected pivotitem
if (NavigationContext.QueryString.TryGetValue("pivotindex", out pivotIndex))
@@ -69,11 +66,14 @@ namespace CampusAppWP8.Pages.News
// if the index is in the range of the array
if ((pivotIndexInt >= 0) && (pivotIndexInt < NewsIndexPage.GetNewsFeed.Model.Channel[0].item.Count()))
{
NewsPivot.SelectedIndex = pivotIndexInt;
}
else
{
MessageBox.Show("ERROR: pivotIndex out of range!!!");
}
}
}
/// <summary>
@@ -91,7 +91,7 @@ namespace CampusAppWP8.Pages.News
/// <summary>
/// On clicking the link button if a link exists in the feed
/// (lower right).
/// Open the webbrowser with the url set in the feed.
/// Open the WebBrowser with the url set in the feed.
/// </summary>
/// <param name="sender">clicked button</param>
/// <param name="e">event args</param>
@@ -100,9 +100,37 @@ namespace CampusAppWP8.Pages.News
FrameworkElement fe = sender as FrameworkElement;
// Open the webbrowser
WebBrowserTask webBrowserTask = new WebBrowserTask();
webBrowserTask.Uri = new Uri(fe.Tag.ToString(), UriKind.Absolute);
webBrowserTask.Show();
Grid grfe = fe.Parent as Grid;
FrameworkElement newsTextGrid = null;
FrameworkElement newsWeb = null;
foreach (FrameworkElement tempElem in grfe.Children)
{
if (tempElem.Name == "NewsTextGrid")
{
newsTextGrid = tempElem;
}
else if (tempElem.Name == "WebBrowser")
{
newsWeb = tempElem;
}
}
if ((newsTextGrid != null)
&& (newsWeb != null))
{
if (newsTextGrid.Visibility == Visibility.Visible)
{
newsTextGrid.Visibility = Visibility.Collapsed;
newsWeb.Visibility = Visibility.Visible;
(newsWeb as WebBrowser).Navigate(new Uri(fe.Tag.ToString(), UriKind.Absolute));
}
else
{
newsWeb.Visibility = Visibility.Collapsed;
newsTextGrid.Visibility = Visibility.Visible;
}
}
}
}
}

View File

@@ -0,0 +1,135 @@
<phone:PhoneApplicationPage
x:Class="CampusAppWP8.Pages.Openinghours.OpeninghoursPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
FontFamily="{StaticResource PhoneFontFamilyNormal}"
FontSize="{StaticResource PhoneFontSizeNormal}"
Foreground="{StaticResource PhoneForegroundBrush}"
SupportedOrientations="PortraitOrLandscape" Orientation="Portrait"
mc:Ignorable="d"
shell:SystemTray.IsVisible="True">
<!--LayoutRoot ist das Stammraster, in dem alle anderen Seiteninhalte platziert werden-->
<Grid x:Name="LayoutRoot" Background="Transparent">
<Grid.RowDefinitions>
<RowDefinition Height="Auto"/>
<RowDefinition Height="*"/>
</Grid.RowDefinitions>
<!-- Title and headline -->
<StackPanel Grid.Row="0" Margin="12,17,0,28">
<TextBlock Text="{Binding Path=LocalizedResources.ApplicationTitle, Source={StaticResource LocalizedStrings}}" Style="{StaticResource PhoneTextNormalStyle}"/>
<TextBlock Text="{Binding Path=LocalizedResources.OpenHoursApp_Title, Source={StaticResource LocalizedStrings}}" Margin="9,-7,0,0" Style="{StaticResource PhoneTextTitle1Style}" FontSize="64"/>
</StackPanel>
<!-- Content -->
<ProgressBar Name="ProgressBar" Grid.Row="1" Visibility="Collapsed" IsIndeterminate="True"/>
<ListBox x:Name="InstitutionPanel" Grid.Row="1">
<ListBox.ItemContainerStyle>
<Style TargetType="ListBoxItem">
<Setter Property="HorizontalContentAlignment" Value="Stretch"/>
<Setter Property="HorizontalAlignment" Value="Stretch"/>
</Style>
</ListBox.ItemContainerStyle>
<ListBox.ItemTemplate>
<DataTemplate>
<StackPanel>
<Button Content="{Binding Title}" Background="Gray" BorderBrush="Gray" Foreground="Black" Margin="-10,-10,-10,-10" Click="InstitutionBtn_Click"/>
<StackPanel Visibility="Collapsed">
<Grid>
<Grid.ColumnDefinitions>
<!--day-->
<ColumnDefinition Width="auto"/>
<!--time-->
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<!--monday-->
<RowDefinition Height="auto"/>
<!--tuesday-->
<RowDefinition Height="auto"/>
<!--wednesday-->
<RowDefinition Height="auto"/>
<!--thursday-->
<RowDefinition Height="auto"/>
<!--friday-->
<RowDefinition Height="auto"/>
<!--saturday-->
<RowDefinition Height="auto"/>
<!--sunday-->
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<!--row 0 monday-->
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Monday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleMonday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Monday}" Visibility="{Binding VisibleMonday}" HorizontalAlignment="Left"/>
<!--row 1 tuesday-->
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Tuesday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleTuesday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Tuesday}" Visibility="{Binding VisibleTuesday}" HorizontalAlignment="Left"/>
<!--row 2 wednesday-->
<TextBlock Grid.Row="2" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Wednesday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleWednesday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="2" Grid.Column="1" Text="{Binding Wednesday}" Visibility="{Binding VisibleWednesday}" HorizontalAlignment="Left"/>
<!--row 3 thursday-->
<TextBlock Grid.Row="3" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Thursday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleThursday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="3" Grid.Column="1" Text="{Binding Thursday}" Visibility="{Binding VisibleThursday}" HorizontalAlignment="Left"/>
<!--row 4 friday-->
<TextBlock Grid.Row="4" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Friday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleFriday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="4" Grid.Column="1" Text="{Binding Friday}" Visibility="{Binding VisibleFriday}" HorizontalAlignment="Left"/>
<!--row 5 saturday-->
<TextBlock Grid.Row="5" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Saturday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleSaturday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="5" Grid.Column="1" Text="{Binding Saturday}" Visibility="{Binding VisibleSaturday}" HorizontalAlignment="Left"/>
<!--row 6 sunday-->
<TextBlock Grid.Row="6" Grid.Column="0" Text="{Binding Path=LocalizedResources.Time_Day_Sunday, Source={StaticResource LocalizedStrings}}" FontWeight="Bold" Visibility="{Binding VisibleSunday}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="6" Grid.Column="1" Text="{Binding Sunday}" Visibility="{Binding VisibleSunday}" HorizontalAlignment="Left"/>
</Grid>
<Grid Margin="0,12,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="*"/>
</Grid.ColumnDefinitions>
<Grid.RowDefinitions>
<RowDefinition Height="*"/>
<RowDefinition Height="auto"/>
</Grid.RowDefinitions>
<!--building-->
<TextBlock Grid.Row="0" Grid.Column="0" Text="{Binding Path=LocalizedResources.Building, Source={StaticResource LocalizedStrings}}" Visibility="{Binding VisibleBuilding}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="0" Grid.Column="1" Text="{Binding Building}" Visibility="{Binding VisibleBuilding}" HorizontalAlignment="Left" Padding="10,3,10,0"/>
<!--room-->
<TextBlock Grid.Row="1" Grid.Column="0" Text="{Binding Path=LocalizedResources.Room, Source={StaticResource LocalizedStrings}}" Visibility="{Binding VisibleRoom}" Padding="10,3,10,0"/>
<TextBlock Grid.Row="1" Grid.Column="1" Text="{Binding Room}" Visibility="{Binding VisibleRoom}" HorizontalAlignment="Left" Padding="10,3,10,0"/>
</Grid>
<!--hint text-->
<TextBlock Text="{Binding Path=LocalizedResources.Hint, Source={StaticResource LocalizedStrings}}" Visibility="{Binding VisibleComment}" Padding="10,3,10,0" Margin="0,12,0,0" FontStyle="Italic"/>
<TextBlock Text="{Binding Comment}" Visibility="{Binding VisibleComment}" TextWrapping="Wrap" Padding="10,3,10,0"/>
<Grid Margin="0,6,0,0">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
<ColumnDefinition Width="auto"/>
</Grid.ColumnDefinitions>
<!--mail button-->
<Button Grid.Column="0" Tag="{Binding EMailTitle}" BorderBrush="Transparent" Background="Transparent" Height="100" Visibility="{Binding VisibleEMail}" Click="EMailBtn_Click" Padding="0" Margin="-10">
<Image Source="{Binding Path=ThemelizedIcon.WebMail, Source={StaticResource ThemelizedIcons}}"/>
</Button>
<!--phone button-->
<Button Grid.Column="1" Tag="{Binding PhoneTitle}" BorderBrush="Transparent" Background="Transparent" Height="100" Visibility="{Binding VisiblePhone}" Click="PhoneBtn_Click" Padding="0" Margin="-10">
<Image Source="{Binding Path=ThemelizedIcon.Phone, Source={StaticResource ThemelizedIcons}}"/>
</Button>
<!--location button-->
<Button Grid.Column="2" Tag="{Binding Building}" BorderBrush="Transparent" Background="Transparent" Height="100" Visibility="{Binding VisibleBuilding}" Click="LocationBtn_Click" Padding="0" Margin="-10">
<Image Source="{Binding Path=ThemelizedIcon.Campus, Source={StaticResource ThemelizedIcons}}"/>
</Button>
</Grid>
</StackPanel>
</StackPanel>
</DataTemplate>
</ListBox.ItemTemplate>
</ListBox>
</Grid>
</phone:PhoneApplicationPage>

View File

@@ -0,0 +1,196 @@
//-----------------------------------------------------------------------
// <copyright file="OpeninghoursPage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>24.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Pages.Openinghours
{
using System.Linq;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Navigation;
using CampusAppWP8.Feed.Openinghours;
using CampusAppWP8.Utility;
using Microsoft.Phone.Controls;
using Microsoft.Phone.Tasks;
/// <summary>
/// Opening hours page.
/// </summary>
public partial class OpeninghoursPage : PhoneApplicationPage
{
#region Members
/// <summary>
/// Opening hours feed object.
/// </summary>
private OpeninghoursFeed feed = null;
/// <summary>
/// last visible UI element.
/// </summary>
private UIElement lastOpenUIElem = null;
#endregion
#region Constructor
/// <summary>
/// Initializes a new instance of the <see cref="OpeninghoursPage" /> class.
/// </summary>
public OpeninghoursPage()
{
this.InitializeComponent();
this.InitializeFeed();
}
#endregion
#region Method
#region protected
/// <summary>
/// Override the OnNavigatedTo method.
/// </summary>
/// <param name="e">Arguments of navigation</param>
protected override void OnNavigatedTo(NavigationEventArgs e)
{
base.OnNavigatedTo(e);
if (this.feed == null)
{
this.InitializeFeed();
}
if (e.NavigationMode != System.Windows.Navigation.NavigationMode.Back)
{
this.ProgressBar.Visibility = System.Windows.Visibility.Visible;
}
this.feed.LoadFeed();
}
// protected
#endregion
#region private
/// <summary>
/// Initialize the opening hours feed.
/// </summary>
private void InitializeFeed()
{
this.feed = new OpeninghoursFeed();
this.feed.EventHandler.FeedIsReadyEvent += new FeedEventHandler.FeedReadyHandler(this.FeedIsReady);
}
/// <summary>
/// Will be execute if the feed is ready.
/// </summary>
private void FeedIsReady()
{
this.SetupInstitutionList();
this.ProgressBar.Visibility = System.Windows.Visibility.Collapsed;
}
/// <summary>
/// Setup the institution list.
/// </summary>
private void SetupInstitutionList()
{
this.InstitutionPanel.ItemsSource = this.feed.Model.Institutions;
}
/// <summary>
/// Called on clicking on a institution.
/// </summary>
/// <param name="sender">button object</param>
/// <param name="e">event args</param>
private void InstitutionBtn_Click(object sender, RoutedEventArgs e)
{
if (this.lastOpenUIElem != null)
{
this.lastOpenUIElem.Visibility = Visibility.Collapsed;
}
FrameworkElement btn = sender as FrameworkElement;
StackPanel parent = btn.Parent as StackPanel;
if (parent.Children.Count() >= 2)
{
if (this.lastOpenUIElem != parent.Children[1])
{
this.lastOpenUIElem = parent.Children[1];
this.lastOpenUIElem.Visibility = Visibility.Visible;
}
else
{
this.lastOpenUIElem = null;
}
}
}
/// <summary>
/// Called on clicking on a mail button.
/// </summary>
/// <param name="sender">button object</param>
/// <param name="e">event args</param>
private void EMailBtn_Click(object sender, RoutedEventArgs e)
{
FrameworkElement tempUIElem = sender as FrameworkElement;
string[] info = tempUIElem.Tag.ToString().Split(':');
if ((info.Count() > 0) && (info[0] != null))
{
EmailComposeTask emailTask = new EmailComposeTask();
emailTask.To = "mailto:" + info[0];
emailTask.Show();
}
}
/// <summary>
/// Called on clicking on a phone button.
/// </summary>
/// <param name="sender">button object</param>
/// <param name="e">event args</param>
private void PhoneBtn_Click(object sender, RoutedEventArgs e)
{
FrameworkElement tempUIElem = sender as FrameworkElement;
PhoneCallTask phoneCallTask = new PhoneCallTask();
string[] info = tempUIElem.Tag.ToString().Split(':');
if ((info.Count() > 0) && (info[0] != null))
{
phoneCallTask.PhoneNumber = info[0];
}
if ((info.Count() > 1) && (info[1] != null))
{
phoneCallTask.DisplayName = info[1];
}
phoneCallTask.Show();
}
/// <summary>
/// Called on clicking on a location button.
/// </summary>
/// <param name="sender">button object</param>
/// <param name="e">event args</param>
private void LocationBtn_Click(object sender, RoutedEventArgs e)
{
FrameworkElement tempUIElem = sender as FrameworkElement;
// TODO: open campusmap
}
// private
#endregion
// Method
#endregion
}
}

View File

@@ -1,5 +1,5 @@
<phone:PhoneApplicationPage
x:Class="CampusAppWP8.Pages.Webmail.Webmail"
x:Class="CampusAppWP8.Pages.Webmail.WebmailPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:phone="clr-namespace:Microsoft.Phone.Controls;assembly=Microsoft.Phone"

View File

@@ -1,20 +1,36 @@
using Microsoft.Phone.Controls;
using System;
//-----------------------------------------------------------------------
// <copyright file="WebmailPage.xaml.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>stubbfel</author>
// <sience>12.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8.Pages.Webmail
{
public partial class Webmail : PhoneApplicationPage
using System;
using CampusAppWP8.Resources;
using Microsoft.Phone.Controls;
/// <summary>
/// Class for the WebmailPage
/// </summary>
public partial class WebmailPage : PhoneApplicationPage
{
public Webmail()
/// <summary>
/// Initializes a new instance of the <see cref="WebmailPage" /> class.
/// </summary>
public WebmailPage()
{
InitializeComponent();
loadWebmailPage();
this.InitializeComponent();
this.LoadWebmailPage();
}
private void loadWebmailPage()
/// <summary>
/// Method load WebmailPage
/// </summary>
private void LoadWebmailPage()
{
this.WebmailBrowser.Navigate(new Uri("https://webmail.tu-cottbus.de", UriKind.Absolute));
this.WebmailBrowser.Navigate(new Uri(Constants.UrlWebMail_Addr, UriKind.Absolute));
}
}
}

View File

@@ -11,6 +11,7 @@
<Capability Name="ID_CAP_MAP" />
<Capability Name="ID_CAP_LOCATION" />
<Capability Name="ID_CAP_ISV_CAMERA" />
<Capability Name="ID_CAP_PHONEDIALER" />
</Capabilities>
<Tasks>
<DefaultTask Name="_default" NavigationPage="pages/StartPage.xaml" />

View File

@@ -87,6 +87,15 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Gebäude ähnelt.
/// </summary>
public static string Building {
get {
return ResourceManager.GetString("Building", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Campusplan ähnelt.
/// </summary>
@@ -96,6 +105,33 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Bachelor ähnelt.
/// </summary>
public static string Degree_Bachelor {
get {
return ResourceManager.GetString("Degree_Bachelor", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Diplom ähnelt.
/// </summary>
public static string Degree_Diploma {
get {
return ResourceManager.GetString("Degree_Diploma", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Master ähnelt.
/// </summary>
public static string Degree_Master {
get {
return ResourceManager.GetString("Degree_Master", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Lehrstühle ähnelt.
/// </summary>
@@ -123,6 +159,15 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Hinweis ähnelt.
/// </summary>
public static string Hint {
get {
return ResourceManager.GetString("Hint", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Hausaufgaben ähnelt.
/// </summary>
@@ -195,6 +240,15 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Studiengangauswahl ähnelt.
/// </summary>
public static string LectureApp_ListPickerHeaderCourse {
get {
return ResourceManager.GetString("LectureApp_ListPickerHeaderCourse", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Verantwortlicher ähnelt.
/// </summary>
@@ -295,7 +349,7 @@ namespace CampusAppWP8.Resources {
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Essen 2 ähnelt.
/// Sucht eine lokalisierte Zeichenfolge, die Essen 3 ähnelt.
/// </summary>
public static string MensaApp_Dinner3 {
get {
@@ -411,6 +465,15 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Raum ähnelt.
/// </summary>
public static string Room {
get {
return ResourceManager.GetString("Room", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Beispielwert für die Laufzeiteigenschaft ähnelt.
/// </summary>
@@ -438,6 +501,24 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Samstag ähnelt.
/// </summary>
public static string Time_Day_Saturday {
get {
return ResourceManager.GetString("Time_Day_Saturday", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Sonntag ähnelt.
/// </summary>
public static string Time_Day_Sunday {
get {
return ResourceManager.GetString("Time_Day_Sunday", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Donnerstag ähnelt.
/// </summary>

View File

@@ -219,7 +219,7 @@
<value>Essen 2</value>
</data>
<data name="MensaApp_Dinner3" xml:space="preserve">
<value>Essen 2</value>
<value>Essen 3</value>
</data>
<data name="MensaApp_Dinner4" xml:space="preserve">
<value>Essen 4</value>
@@ -230,7 +230,6 @@
<data name="NewsHomeBtn" xml:space="preserve">
<value>zur Übersicht</value>
</data>
<data name="MensaApp_DinnerLabelW" xml:space="preserve">
<value>84</value>
</data>
@@ -251,7 +250,7 @@
</data>
<data name="LectureApp_Type" xml:space="preserve">
<value>Veranstaltungsart</value>
</data>
</data>
<data name="Faculty" xml:space="preserve">
<value>Fakultät</value>
</data>
@@ -261,4 +260,31 @@
<data name="NewsLinkBtn" xml:space="preserve">
<value>Link</value>
</data>
<data name="Degree_Bachelor" xml:space="preserve">
<value>Bachelor</value>
</data>
<data name="Degree_Diploma" xml:space="preserve">
<value>Diplom</value>
</data>
<data name="Degree_Master" xml:space="preserve">
<value>Master</value>
</data>
<data name="LectureApp_ListPickerHeaderCourse" xml:space="preserve">
<value>Studiengangauswahl</value>
</data>
<data name="Building" xml:space="preserve">
<value>Gebäude</value>
</data>
<data name="Hint" xml:space="preserve">
<value>Hinweis</value>
</data>
<data name="Room" xml:space="preserve">
<value>Raum</value>
</data>
<data name="Time_Day_Saturday" xml:space="preserve">
<value>Samstag</value>
</data>
<data name="Time_Day_Sunday" xml:space="preserve">
<value>Sonntag</value>
</data>
</root>

View File

@@ -63,36 +63,90 @@ namespace CampusAppWP8.Resources {
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die LectureModel ähnelt.
/// </summary>
internal static string IsolatedStorageLectureModel {
internal static string IsolatedStorage_LectureModel {
get {
return ResourceManager.GetString("IsolatedStorageLectureModel", resourceCulture);
return ResourceManager.GetString("IsolatedStorage_LectureModel", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die IsolatedStorage_LecturePageModel ähnelt.
/// </summary>
internal static string IsolatedStorage_LecturePageModel {
get {
return ResourceManager.GetString("IsolatedStorage_LecturePageModel", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die lsf_auszug ähnelt.
/// </summary>
internal static string LectureXmlValidRootName {
get {
return ResourceManager.GetString("LectureXmlValidRootName", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Studiengang ähnelt.
/// </summary>
internal static string ParamGetLecture_Course {
get {
return ResourceManager.GetString("ParamGetLecture_Course", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Abschluss ähnelt.
/// </summary>
internal static string ParamGetLecture_Degree {
get {
return ResourceManager.GetString("ParamGetLecture_Degree", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Von ähnelt.
/// </summary>
internal static string ParamGetLecture_From {
get {
return ResourceManager.GetString("ParamGetLecture_From", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Semester ähnelt.
/// </summary>
internal static string ParamGetLecture_Semester {
get {
return ResourceManager.GetString("ParamGetLecture_Semester", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die Bis ähnelt.
/// </summary>
internal static string ParamGetLecture_To {
get {
return ResourceManager.GetString("ParamGetLecture_To", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die ActivityId ähnelt.
/// </summary>
internal static string ParamLectureActivityId {
internal static string ParamModelLecture_ActivityId {
get {
return ResourceManager.GetString("ParamLectureActivityId", resourceCulture);
return ResourceManager.GetString("ParamModelLecture_ActivityId", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die ModulNumber ähnelt.
/// </summary>
internal static string ParamLectureModulNumber {
internal static string ParamModelLecture_ModulNumber {
get {
return ResourceManager.GetString("ParamLectureModulNumber", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die ? ähnelt.
/// </summary>
internal static string Paramseparator {
get {
return ResourceManager.GetString("Paramseparator", resourceCulture);
return ResourceManager.GetString("ParamModelLecture_ModulNumber", resourceCulture);
}
}
@@ -105,30 +159,111 @@ namespace CampusAppWP8.Resources {
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Events/EventIndexPage.xaml ähnelt.
/// </summary>
internal static string PathEvents_EventsIndexPage {
get {
return ResourceManager.GetString("PathEvents_EventsIndexPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Lecture/LecturePage.xaml ähnelt.
/// </summary>
internal static string PathLecture_LecturePage {
get {
return ResourceManager.GetString("PathLecture_LecturePage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Lecture/ModulWebPage.xaml ähnelt.
/// </summary>
internal static string PathLectureModulWebPage {
internal static string PathLecture_ModulWebPage {
get {
return ResourceManager.GetString("PathLectureModulWebPage", resourceCulture);
return ResourceManager.GetString("PathLecture_ModulWebPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Lecture/ResultDetailPage.xaml ähnelt.
/// </summary>
internal static string PathResultDetailWebPage {
internal static string PathLecture_ResultDetailPage {
get {
return ResourceManager.GetString("PathResultDetailWebPage", resourceCulture);
return ResourceManager.GetString("PathLecture_ResultDetailPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Lecture/ResultPage.xaml ähnelt.
/// </summary>
internal static string PathLecture_ResultPage {
get {
return ResourceManager.GetString("PathLecture_ResultPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Webmail/WebmailPage.xaml ähnelt.
/// </summary>
internal static string PathMail_WebMailPage {
get {
return ResourceManager.GetString("PathMail_WebMailPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Mensa/MensaPage.xaml ähnelt.
/// </summary>
internal static string PathMensa_MensaPage {
get {
return ResourceManager.GetString("PathMensa_MensaPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/News/NewsIndexPage.xaml ähnelt.
/// </summary>
internal static string PathNews_NewsIndexPage {
get {
return ResourceManager.GetString("PathNews_NewsIndexPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die /Pages/Openinghours/OpeninghoursPage.xaml ähnelt.
/// </summary>
internal static string PathOpeninghours_OpeninghoursPage {
get {
return ResourceManager.GetString("PathOpeninghours_OpeninghoursPage", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die http://www.zv.tu-cottbus.de/LSFveranst/LSF4 ähnelt.
/// </summary>
internal static string UrlLecture_ApiBaseAddr {
get {
return ResourceManager.GetString("UrlLecture_ApiBaseAddr", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die https://www.tu-cottbus.de/modul/ ähnelt.
/// </summary>
internal static string UrlLectureModulBaseAddr {
internal static string UrlLecture_ModulBaseAddr {
get {
return ResourceManager.GetString("UrlLectureModulBaseAddr", resourceCulture);
return ResourceManager.GetString("UrlLecture_ModulBaseAddr", resourceCulture);
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die https://webmail.tu-cottbus.de ähnelt.
/// </summary>
internal static string UrlWebMail_Addr {
get {
return ResourceManager.GetString("UrlWebMail_Addr", resourceCulture);
}
}

View File

@@ -117,31 +117,76 @@
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="IsolatedStorageLectureModel" xml:space="preserve">
<data name="IsolatedStorage_LectureModel" xml:space="preserve">
<value>LectureModel</value>
</data>
<data name="ParamLectureActivityId" xml:space="preserve">
<data name="ParamModelLecture_ActivityId" xml:space="preserve">
<value>ActivityId</value>
</data>
<data name="ParamLectureModulNumber" xml:space="preserve">
<data name="ParamModelLecture_ModulNumber" xml:space="preserve">
<value>ModulNumber</value>
</data>
<data name="Paramseparator" xml:space="preserve">
<value>?</value>
</data>
<data name="ParamUrl" xml:space="preserve">
<value>Url</value>
</data>
<data name="PathLectureModulWebPage" xml:space="preserve">
<data name="PathLecture_ModulWebPage" xml:space="preserve">
<value>/Pages/Lecture/ModulWebPage.xaml</value>
</data>
<data name="PathResultDetailWebPage" xml:space="preserve">
<data name="PathLecture_ResultDetailPage" xml:space="preserve">
<value>/Pages/Lecture/ResultDetailPage.xaml</value>
</data>
<data name="UrlLectureModulBaseAddr" xml:space="preserve">
<data name="UrlLecture_ModulBaseAddr" xml:space="preserve">
<value>https://www.tu-cottbus.de/modul/</value>
</data>
<data name="XMLRootElementName" xml:space="preserve">
<value>root</value>
</data>
<data name="UrlWebMail_Addr" xml:space="preserve">
<value>https://webmail.tu-cottbus.de</value>
</data>
<data name="PathLecture_ResultPage" xml:space="preserve">
<value>/Pages/Lecture/ResultPage.xaml</value>
</data>
<data name="LectureXmlValidRootName" xml:space="preserve">
<value>lsf_auszug</value>
</data>
<data name="ParamGetLecture_Course" xml:space="preserve">
<value>Studiengang</value>
</data>
<data name="ParamGetLecture_Degree" xml:space="preserve">
<value>Abschluss</value>
</data>
<data name="ParamGetLecture_From" xml:space="preserve">
<value>Von</value>
</data>
<data name="ParamGetLecture_Semester" xml:space="preserve">
<value>Semester</value>
</data>
<data name="ParamGetLecture_To" xml:space="preserve">
<value>Bis</value>
</data>
<data name="UrlLecture_ApiBaseAddr" xml:space="preserve">
<value>http://www.zv.tu-cottbus.de/LSFveranst/LSF4</value>
</data>
<data name="IsolatedStorage_LecturePageModel" xml:space="preserve">
<value>IsolatedStorage_LecturePageModel</value>
</data>
<data name="PathLecture_LecturePage" xml:space="preserve">
<value>/Pages/Lecture/LecturePage.xaml</value>
</data>
<data name="PathEvents_EventsIndexPage" xml:space="preserve">
<value>/Pages/Events/EventIndexPage.xaml</value>
</data>
<data name="PathMail_WebMailPage" xml:space="preserve">
<value>/Pages/Webmail/WebmailPage.xaml</value>
</data>
<data name="PathMensa_MensaPage" xml:space="preserve">
<value>/Pages/Mensa/MensaPage.xaml</value>
</data>
<data name="PathNews_NewsIndexPage" xml:space="preserve">
<value>/Pages/News/NewsIndexPage.xaml</value>
</data>
<data name="PathOpeninghours_OpeninghoursPage" xml:space="preserve">
<value>/Pages/Openinghours/OpeninghoursPage.xaml</value>
</data>
</root>

View File

@@ -0,0 +1,240 @@
//------------------------------------------------------------------------------
// <auto-generated>
// Dieser Code wurde von einem Tool generiert.
// Laufzeitversion:4.0.30319.18046
//
// Änderungen an dieser Datei können falsches Verhalten verursachen und gehen verloren, wenn
// der Code erneut generiert wird.
// </auto-generated>
//------------------------------------------------------------------------------
namespace CampusAppWP8.Resources
{
using System;
using System.Windows;
/// <summary>
/// Eine stark typisierte Ressourcenklasse zum Suchen von lokalisierten Zeichenfolgen usw.
/// </summary>
// Diese Klasse wurde von der StronglyTypedResourceBuilder automatisch generiert
// -Klasse über ein Tool wie ResGen oder Visual Studio automatisch generiert.
// Um einen Member hinzuzufügen oder zu entfernen, bearbeiten Sie die .ResX-Datei und führen dann ResGen
// mit der /str-Option erneut aus, oder Sie erstellen Ihr VS-Projekt neu.
[global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.0.0.0")]
[global::System.Diagnostics.DebuggerNonUserCodeAttribute()]
[global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
public class Icons
{
private static global::System.Resources.ResourceManager resourceMan;
private static global::System.Globalization.CultureInfo resourceCulture;
[global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")]
internal Icons()
{
}
/// <summary>
/// Gibt die zwischengespeicherte ResourceManager-Instanz zurück, die von dieser Klasse verwendet wird.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Resources.ResourceManager ResourceManager
{
get
{
if (object.ReferenceEquals(resourceMan, null))
{
global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("CampusAppWP8.Resources.Icons",
typeof(Icons).Assembly);
resourceMan = temp;
}
return resourceMan;
}
}
/// <summary>
/// Überschreibt die CurrentUICulture-Eigenschaft des aktuellen Threads für alle
/// Ressourcenzuordnungen, die diese stark typisierte Ressourcenklasse verwenden.
/// </summary>
[global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
public static global::System.Globalization.CultureInfo Culture
{
get
{
return resourceCulture;
}
set
{
resourceCulture = value;
}
}
/// <summary>
/// Returns the full filename of the icon, depending on the current theme.
/// </summary>
/// <param name="_key">Tagname</param>
/// <returns>Filename</returns>
private static string Themerize(string _key)
{
string retValue = string.Empty;
if ((Visibility)Application.Current.Resources["PhoneDarkThemeVisibility"] == Visibility.Visible)
{
retValue = "/Assets/Icons/DarkTheme/";
}
else
{
retValue = "/Assets/Icons/LightTheme/";
}
retValue += ResourceManager.GetString(_key, resourceCulture);
return retValue;
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die campus_159.png ähnelt.
/// </summary>
public static string Campus
{
get
{
return Themerize("Campus");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die departments_159.png ähnelt.
/// </summary>
public static string Departments
{
get
{
return Themerize("Departments");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die homework_159.png ähnelt.
/// </summary>
public static string Homework
{
get
{
return Themerize("Homework");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die lectures_159.png ähnelt.
/// </summary>
public static string Lectures
{
get
{
return Themerize("Lectures");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die link_159.png ähnelt.
/// </summary>
public static string Link
{
get
{
return Themerize("Link");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die mensa_159.png ähnelt.
/// </summary>
public static string Mensa
{
get
{
return Themerize("Mensa");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die news_159.png ähnelt.
/// </summary>
public static string News
{
get
{
return Themerize("News");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die openhours_159.png ähnelt.
/// </summary>
public static string Openhours
{
get
{
return Themerize("Openhours");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die schedule_159.png ähnelt.
/// </summary>
public static string Schedule
{
get
{
return Themerize("Schedule");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die search_159.png ähnelt.
/// </summary>
public static string Search
{
get
{
return Themerize("Search");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die student_council_159.png ähnelt.
/// </summary>
public static string StudentCouncil
{
get
{
return Themerize("StudentCouncil");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die webmail_159.png ähnelt.
/// </summary>
public static string WebMail
{
get
{
return Themerize("WebMail");
}
}
/// <summary>
/// Sucht eine lokalisierte Zeichenfolge, die phone_159.png ähnelt.
/// </summary>
public static string Phone
{
get
{
return Themerize("Phone");
}
}
}
}

View File

@@ -0,0 +1,159 @@
<?xml version="1.0" encoding="utf-8"?>
<root>
<!--
Microsoft ResX Schema
Version 2.0
The primary goals of this format is to allow a simple XML format
that is mostly human readable. The generation and parsing of the
various data types are done through the TypeConverter classes
associated with the data types.
Example:
... ado.net/XML headers & schema ...
<resheader name="resmimetype">text/microsoft-resx</resheader>
<resheader name="version">2.0</resheader>
<resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
<resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
<data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
<data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
<data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
<value>[base64 mime encoded serialized .NET Framework object]</value>
</data>
<data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
<comment>This is a comment</comment>
</data>
There are any number of "resheader" rows that contain simple
name/value pairs.
Each data row contains a name, and value. The row also contains a
type or mimetype. Type corresponds to a .NET class that support
text/value conversion through the TypeConverter architecture.
Classes that don't support this are serialized and stored with the
mimetype set.
The mimetype is used for serialized objects, and tells the
ResXResourceReader how to depersist the object. This is currently not
extensible. For a given mimetype the value must be set accordingly:
Note - application/x-microsoft.net.object.binary.base64 is the format
that the ResXResourceWriter will generate, however the reader can
read any of the formats listed below.
mimetype: application/x-microsoft.net.object.binary.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.soap.base64
value : The object must be serialized with
: System.Runtime.Serialization.Formatters.Soap.SoapFormatter
: and then encoded with base64 encoding.
mimetype: application/x-microsoft.net.object.bytearray.base64
value : The object must be serialized into a byte array
: using a System.ComponentModel.TypeConverter
: and then encoded with base64 encoding.
-->
<xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
<xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
<xsd:element name="root" msdata:IsDataSet="true">
<xsd:complexType>
<xsd:choice maxOccurs="unbounded">
<xsd:element name="metadata">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" />
</xsd:sequence>
<xsd:attribute name="name" use="required" type="xsd:string" />
<xsd:attribute name="type" type="xsd:string" />
<xsd:attribute name="mimetype" type="xsd:string" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="assembly">
<xsd:complexType>
<xsd:attribute name="alias" type="xsd:string" />
<xsd:attribute name="name" type="xsd:string" />
</xsd:complexType>
</xsd:element>
<xsd:element name="data">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
<xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" msdata:Ordinal="1" />
<xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
<xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
<xsd:attribute ref="xml:space" />
</xsd:complexType>
</xsd:element>
<xsd:element name="resheader">
<xsd:complexType>
<xsd:sequence>
<xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
</xsd:sequence>
<xsd:attribute name="name" type="xsd:string" use="required" />
</xsd:complexType>
</xsd:element>
</xsd:choice>
</xsd:complexType>
</xsd:element>
</xsd:schema>
<resheader name="resmimetype">
<value>text/microsoft-resx</value>
</resheader>
<resheader name="version">
<value>2.0</value>
</resheader>
<resheader name="reader">
<value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<resheader name="writer">
<value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
</resheader>
<data name="Campus" xml:space="preserve">
<value>campus_159.png</value>
</data>
<data name="Departments" xml:space="preserve">
<value>departments_159.png</value>
</data>
<data name="Homework" xml:space="preserve">
<value>homework_159.png</value>
</data>
<data name="Lectures" xml:space="preserve">
<value>lectures_159.png</value>
</data>
<data name="Link" xml:space="preserve">
<value>link_159.png</value>
</data>
<data name="Mensa" xml:space="preserve">
<value>mensa_159.png</value>
</data>
<data name="News" xml:space="preserve">
<value>news_159.png</value>
</data>
<data name="Openhours" xml:space="preserve">
<value>openhours_159.png</value>
</data>
<data name="Phone" xml:space="preserve">
<value>phone_159.png</value>
</data>
<data name="Schedule" xml:space="preserve">
<value>schedule_159.png</value>
</data>
<data name="Search" xml:space="preserve">
<value>search_159.png</value>
</data>
<data name="StudentCouncil" xml:space="preserve">
<value>student_council_159.png</value>
</data>
<data name="WebMail" xml:space="preserve">
<value>webmail_159.png</value>
</data>
</root>

View File

@@ -0,0 +1,33 @@
//-----------------------------------------------------------------------
// <copyright file="ThemelizedIcons.cs" company="BTU/IIT">
// Company copyright tag.
// </copyright>
// <author>fiedlchr</author>
// <sience>24.06.2013</sience>
//----------------------------------------------------------------------
namespace CampusAppWP8
{
using CampusAppWP8.Resources;
/// <summary>
/// Theme icons.
/// </summary>
public class ThemelizedIcons
{
/// <summary>
/// Resource object.
/// </summary>
private static Icons themelized = new Icons();
/// <summary>
/// Gets the resource object.
/// </summary>
public Icons ThemelizedIcon
{
get
{
return themelized;
}
}
}
}

Some files were not shown because too many files have changed in this diff Show More