//-----------------------------------------------------------------------
//
// Company copyright tag.
//
// stubbfel
// 10.06.2013
//----------------------------------------------------------------------
namespace CampusAppWPortalLib8.Model.Lecture
{
using System.Collections.ObjectModel;
using System.Linq;
using System.Xml.Serialization;
///
/// Model for a List of LectureActivity
///
/// T : LectureActivity
[XmlRoot("lsf_auszug")]
public class LectureList where T : LectureActivity
{
#region Constructor
///
/// Initializes a new instance of the class.
///
public LectureList()
{
}
#endregion
#region Proberty
///
/// Gets or sets List of the activities
///
[XmlArray("veranstaltungsliste")]
[XmlArrayItem("veranstaltung")]
public ObservableCollection Activities { get; set; }
#endregion
#region Methods
///
/// Method return a certain activity
///
/// id of the activity
/// the activity (FirstOrDefault)
public T GetActivity(int id)
{
T activity = this.Activities.Where(p => p.Id == id).FirstOrDefault();
return activity;
}
/// Filter by course string.
/// Stubbfel, 10.09.2013.
/// Specifies the filter.
public void FilterByCourseTitle(string filter)
{
ObservableCollection filteredCollection = new ObservableCollection();
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
}
}