//----------------------------------------------------------------------- // // 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 } }