diff --git a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs index 4b0c232c..200a646c 100644 --- a/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs +++ b/CampusAppWP8/CampusAppWP8/Feed/Mensa/MensaFeed.cs @@ -66,22 +66,6 @@ namespace CampusAppWP8.Pages.Mensa #region Private - /// - /// Method calculate this day of the week, which its gets new menus - /// - /// Date of NewMenuWeekDay - private DateTime CalcNewMenuWeekDay() - { - DateTime now = DateTime.Now; - while (now.DayOfWeek != DayOfWeek.Monday) - { - now = now.Subtract(new TimeSpan(1, 0, 0, 0)); - } - - DateTime monday = new DateTime(now.Year, now.Month, now.Day); - return monday; - } - /// /// Method check if the last modification was later as the NewMenuWeekDay /// @@ -89,7 +73,7 @@ namespace CampusAppWP8.Pages.Mensa /// true, if is up-to-date, otherwise false private bool CheckIsUpToDate(DateTime lastModified) { - int diff = lastModified.CompareTo(this.CalcNewMenuWeekDay()); + int diff = lastModified.CompareTo(MenuWeekModel.CalcFirstWeekDay()); if (diff < 0) { diff --git a/CampusAppWP8/CampusAppWP8/model/mensa/MenuModel.cs b/CampusAppWP8/CampusAppWP8/model/mensa/MenuModel.cs index ca53c12b..eece367a 100644 --- a/CampusAppWP8/CampusAppWP8/model/mensa/MenuModel.cs +++ b/CampusAppWP8/CampusAppWP8/model/mensa/MenuModel.cs @@ -23,22 +23,22 @@ namespace CampusAppWP8.Model.Mensa /// Name for bio dinner /// private string bio = AppResources.MensaApp_NotToday; - + /// /// Name for 1. dinner /// private string dinner1 = AppResources.MensaApp_NotToday; - + /// /// Name for 2. dinner /// private string dinner2 = AppResources.MensaApp_NotToday; - + /// /// Name for 3. dinner /// private string dinner3 = AppResources.MensaApp_NotToday; - + /// /// Name for 4. dinner /// @@ -49,6 +49,21 @@ namespace CampusAppWP8.Model.Mensa /// private string action = AppResources.MensaApp_NotToday; + /// + /// Name of the day + /// + private string dayName; + + /// + /// DateTime of the day + /// + private DateTime date; + + /// + /// DateTime of the monday + /// + private DateTime monday; + #endregion #region Constructor @@ -58,6 +73,7 @@ namespace CampusAppWP8.Model.Mensa /// public MenuModel() { + this.monday = MenuWeekModel.CalcFirstWeekDay(); } #endregion @@ -68,7 +84,38 @@ namespace CampusAppWP8.Model.Mensa /// Gets or sets the WeekDay /// [XmlElement("Wochentag")] - public string Day { get; set; } + public string Day + { + get + { + return this.dayName; + } + + set + { + this.SetValue(value, ref this.dayName); + this.CalcDateOfDay(); + } + } + + /// + /// Gets or sets of Date + /// + public DateTime Date + { + get + { + return this.date; + } + + set + { + if (value != this.date) + { + this.date = value; + } + } + } /// /// Gets or sets dinner 1 @@ -189,6 +236,34 @@ namespace CampusAppWP8.Model.Mensa property = StringManager.StripHTML(value); } } + + /// + /// Method calculate the DateTime of the MenuDay + /// + private void CalcDateOfDay() + { + switch (this.dayName) + { + case "Montag": + this.date = this.monday; + break; + case "Diensttag": + this.date = this.monday.AddDays(1); + break; + case "Mittwoch": + this.date = this.monday.AddDays(2); + break; + case "Donnerstag": + this.date = this.monday.AddDays(3); + break; + case "Freitag": + this.date = this.monday.AddDays(4); + break; + default: + this.date = this.monday; + break; + } + } #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/model/mensa/MenuWeekModel.cs b/CampusAppWP8/CampusAppWP8/model/mensa/MenuWeekModel.cs index 08ff248b..4093eae8 100644 --- a/CampusAppWP8/CampusAppWP8/model/mensa/MenuWeekModel.cs +++ b/CampusAppWP8/CampusAppWP8/model/mensa/MenuWeekModel.cs @@ -17,6 +17,7 @@ namespace CampusAppWP8.Model.Mensa [XmlRoot("root")] public class MenuWeekModel { + #region Members /// /// Time when the model was created /// @@ -30,6 +31,10 @@ namespace CampusAppWP8.Model.Mensa this.createTime = DateTime.Now; } + #endregion + + #region Constructor + /// /// Gets or sets the menus for the week /// @@ -37,6 +42,9 @@ namespace CampusAppWP8.Model.Mensa [XmlArrayItem("Tagesmenu")] public ObservableCollection Menus { get; set; } + #endregion + + #region Proberty /// /// Gets the creation time of the model /// @@ -47,5 +55,27 @@ namespace CampusAppWP8.Model.Mensa return this.createTime; } } + + #endregion + + #region Methods + + /// + /// Method calculate this day of the week, which its gets new menus + /// + /// Date of NewMenuWeekDay + public static DateTime CalcFirstWeekDay() + { + DateTime now = DateTime.Now; + while (now.DayOfWeek != DayOfWeek.Monday) + { + now = now.Subtract(new TimeSpan(1, 0, 0, 0)); + } + + DateTime monday = new DateTime(now.Year, now.Month, now.Day); + return monday; + } + + #endregion } } diff --git a/CampusAppWP8/CampusAppWP8/pages/mensa/MensaPage.xaml b/CampusAppWP8/CampusAppWP8/pages/mensa/MensaPage.xaml index 88e6dfa9..ab90cff2 100644 --- a/CampusAppWP8/CampusAppWP8/pages/mensa/MensaPage.xaml +++ b/CampusAppWP8/CampusAppWP8/pages/mensa/MensaPage.xaml @@ -24,7 +24,7 @@ - +