added timespan-from-today relative appointment loading

This commit is contained in:
Christian Fiedler
2013-11-11 15:15:40 +01:00
parent d89b544cf0
commit 6197a4cc12
5 changed files with 65 additions and 4 deletions

View File

@@ -8,6 +8,7 @@
//-----------------------------------------------------------------------
namespace CampusAppWP8.Feed.TimeTable
{
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;
@@ -23,6 +24,8 @@ namespace CampusAppWP8.Feed.TimeTable
/// <seealso cref="T:CampusAppWP8.Model.XmlModel{CampusAppWP8.Model.TimeTable.AppointmentListModel}"/>
public class AppointmentFeed : XmlModel<AppointmentListModel>
{
private TimeSpan span = TimeSpan.Zero;
/// <summary> Initializes a new instance of the AppointmentFeed class. </summary>
/// <remarks> Fiedler, 06.11.2013. </remarks>
/// <param name="autoLoad"> (Optional) the automatic load. </param>
@@ -39,6 +42,21 @@ namespace CampusAppWP8.Feed.TimeTable
}
}
public AppointmentFeed(TimeSpan span, bool autoLoad = true)
: base(ModelType.File, Constants.FileAppointments_Name)
{
this.span = span;
this.IsFileUpToDateOnLoad += new IsFileUpToDate(this.CheckIsFileUpToDateOnLoad);
this.IsFileUpToDateOnSave += new IsFileUpToDate(this.CheckIsFileUpToDateOnSave);
this.IsModelUpToDateOnLoad += new IsModelUpToDate(this.CheckIsModelUpToDate);
if (autoLoad == true)
{
this.LoadData();
}
}
/// <summary> Check is model up to date. </summary>
/// <remarks> Fiedler, 06.11.2013. </remarks>
/// <param name="model"> The model. </param>
@@ -113,7 +131,17 @@ namespace CampusAppWP8.Feed.TimeTable
AppointmentModel newAppModel = new AppointmentModel(appStr[i]);
this.Model.Appointments.Add(newAppModel);
if (this.span.Equals(TimeSpan.Zero))
{
this.Model.Appointments.Add(newAppModel);
}
else
{
if (newAppModel.IsDate(DateTime.Today, this.span.Days) >= 0)
{
this.Model.Appointments.Add(newAppModel);
}
}
}
}

View File

@@ -276,6 +276,7 @@
<shell:ApplicationBarMenuItem Text="Setting3" Click="ApplicationBarMenuItem3_Click"/>
<shell:ApplicationBarMenuItem Text="Setting4" Click="ApplicationBarMenuItem4_Click"/>
<shell:ApplicationBarMenuItem Text="Setting4" Click="ApplicationBarMenuItem5_Click"/>
<shell:ApplicationBarMenuItem Text="Setting5" Click="ApplicationBarMenuItem_Click_1"/>
</shell:ApplicationBar.MenuItems>
</shell:ApplicationBar>
</phone:PhoneApplicationPage.ApplicationBar>

View File

@@ -17,6 +17,7 @@ namespace CampusAppWP8.Pages
using CampusAppWP8.Feed.Utility;
using CampusAppWP8.File.Places;
using CampusAppWP8.Model.Setting;
using CampusAppWP8.Pages.TimeTable;
using CampusAppWP8.Resources;
using CampusAppWP8.Utility;
using CampusAppWP8.Utility.Lui.MessageBoxes;
@@ -58,6 +59,7 @@ namespace CampusAppWP8.Pages
ApplicationBarMenuItem menuItem3 = ApplicationBar.MenuItems[2] as ApplicationBarMenuItem;
ApplicationBarMenuItem menuItem4 = ApplicationBar.MenuItems[3] as ApplicationBarMenuItem;
ApplicationBarMenuItem menuItem5 = ApplicationBar.MenuItems[4] as ApplicationBarMenuItem;
ApplicationBarMenuItem menuItem6 = ApplicationBar.MenuItems[5] as ApplicationBarMenuItem;
if (menuItem1 != null)
{
@@ -85,10 +87,22 @@ namespace CampusAppWP8.Pages
}
else
{
/*
ApplicationBar.MenuItems.RemoveAt(ApplicationBar.MenuItems.Count - 1);
ApplicationBar.MenuItems.RemoveAt(ApplicationBar.MenuItems.Count - 1);
*/
ApplicationBar.MenuItems.Remove(menuItem3);
ApplicationBar.MenuItems.Remove(menuItem4);
}
if (menuItem6 != null)
{
menuItem6.Text = AppResources.TimeTableApp_Title;
}
TimeTable.TimeTable.InitFeed();
if (!Settings.AppSetting.InitApp)
{
this.InitPlaceFile();
@@ -462,6 +476,12 @@ namespace CampusAppWP8.Pages
#endregion
private void ApplicationBarMenuItem_Click_1(object sender, EventArgs e)
{
Uri url = new Uri(Constants.PathTimeTable_Day, UriKind.Relative);
NavigationService.Navigate(url);
}
#endregion
}
}

View File

@@ -68,9 +68,21 @@ namespace CampusAppWP8.Pages.TimeTable
/// <remarks> Fiedler, 06.11.2013. </remarks>
public static void InitFeed()
{
if(TimeTable.feed == null)
TimeTable.InitFeed(TimeSpan.Zero);
}
public static void InitFeed(TimeSpan span)
{
if (TimeTable.feed == null)
{
TimeTable.feed = new AppointmentFeed(false);
if (span.Equals(TimeSpan.Zero))
{
TimeTable.feed = new AppointmentFeed(false);
}
else
{
TimeTable.feed = new AppointmentFeed(span, false);
}
TimeTable.feed.OnFailedFile += new CampusAppWPortalLib8.Model.AbstractMainModel<AppointmentListModel>.OnFailed(TimeTable.OnLoadFailed);
TimeTable.feed.LoadData();
}

View File

@@ -13,7 +13,7 @@
<Capability Name="ID_CAP_SPEECH_RECOGNITION" />
</Capabilities>
<Tasks>
<DefaultTask Name="_default" NavigationPage="Pages/TimeTable/TimeTableWeek.xaml" />
<DefaultTask Name="_default" NavigationPage="Pages/StartPage.xaml" />
</Tasks>
<Tokens>
<PrimaryToken TokenID="CampusAppWP8Token" TaskName="_default">