77 lines
2.3 KiB
C#
77 lines
2.3 KiB
C#
//-----------------------------------------------------------------------
|
|
// <copyright file="LectureList.cs" company="BTU/IIT">
|
|
// Company copyright tag.
|
|
// </copyright>
|
|
// <author>stubbfel</author>
|
|
// <sience>10.06.2013</sience>
|
|
//----------------------------------------------------------------------
|
|
namespace CampusAppWPortalLib8.Model.Lecture
|
|
{
|
|
using System.Collections.ObjectModel;
|
|
using System.Linq;
|
|
using System.Xml.Serialization;
|
|
|
|
/// <summary>
|
|
/// Model for a List of LectureActivity
|
|
/// </summary>
|
|
/// <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>
|
|
public LectureList()
|
|
{
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region Proberty
|
|
|
|
/// <summary>
|
|
/// Gets or sets List of the activities
|
|
/// </summary>
|
|
[XmlArray("veranstaltungsliste")]
|
|
[XmlArrayItem("veranstaltung")]
|
|
public ObservableCollection<T> Activities { get; set; }
|
|
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
/// <summary>
|
|
/// Method return a certain activity
|
|
/// </summary>
|
|
/// <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
|
|
}
|
|
}
|