Files
win8phoneApp/CampusAppWP8/CampusAppWPortalLib8/Model/Lecture/LectureList.cs
2013-10-15 13:10:29 +02:00

74 lines
2.5 KiB
C#

//-----------------------------------------------------------------------
// <copyright file="LectureList.cs" company="BTU/IIT">
// The MIT License (MIT). Copyright (c) 2013 BTU/IIT.
// </copyright>
// <author>Stubbfel</author>
// <date>15.10.2013</date>
// <summary>Implements the lecture list class</summary>
//-----------------------------------------------------------------------
namespace CampusAppWPortalLib8.Model.Lecture
{
using System.Collections.ObjectModel;
using System.Linq;
using System.Xml.Serialization;
/// <summary> Model for a List of LectureActivity. </summary>
/// <remarks> Stubbfel, 15.10.2013. </remarks>
/// <typeparam name="T"> T : LectureActivity. </typeparam>
[XmlRoot("lsf_auszug")]
public class LectureList<T> where T : LectureActivity
{
#region Constructor
/// <summary> Initializes a new instance of the <see cref="LectureList {T}" /> class. </summary>
/// <remarks> Stubbfel, 15.10.2013. </remarks>
public LectureList()
{
}
#endregion
#region Proberty
/// <summary> Gets or sets List of the activities. </summary>
/// <value> The activities. </value>
[XmlArray("veranstaltungsliste")]
[XmlArrayItem("veranstaltung")]
public ObservableCollection<T> Activities { get; set; }
#endregion
#region Methods
/// <summary> Method return a certain activity. </summary>
/// <remarks> Stubbfel, 15.10.2013. </remarks>
/// <param name="id"> id of the activity. </param>
/// <returns> the activity (FirstOrDefault) </returns>
public T GetActivity(int id)
{
T activity = this.Activities.Where(p => p.Id == id).FirstOrDefault();
return activity;
}
/// <summary> Filter by course string. </summary>
/// <remarks> Stubbfel, 10.09.2013. </remarks>
/// <param name="filter"> Specifies the filter. </param>
public void FilterByCourseTitle(string filter)
{
ObservableCollection<T> filteredCollection = new ObservableCollection<T>();
filter = filter.Trim().ToLower();
foreach (T activity in this.Activities)
{
activity.CreateCourseString();
if (activity.Title.ToLower().Contains(filter))
{
filteredCollection.Add(activity);
}
}
this.Activities = filteredCollection;
}
#endregion
}
}