422 lines
15 KiB
C#
422 lines
15 KiB
C#
//-----------------------------------------------------------------------
|
|
// <copyright file="LecturePageModel.cs" company="BTU/IIT">
|
|
// Company copyright tag.
|
|
// </copyright>
|
|
// <author>stubbfel</author>
|
|
// <sience>18.06.2013</sience>
|
|
//----------------------------------------------------------------------
|
|
namespace CampusAppWP8.Model.Lecture
|
|
{
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using System.Runtime.Serialization;
|
|
using CampusAppWP8.Model.Utility;
|
|
using CampusAppWP8.Resources;
|
|
|
|
/// <summary>
|
|
/// Model for the LecturePage
|
|
/// </summary>
|
|
[DataContract]
|
|
public class LecturePageModel
|
|
{
|
|
#region Members
|
|
|
|
/// <summary>
|
|
/// List for the courses of the BTU
|
|
/// </summary>
|
|
/// <remarks>
|
|
/// need to be extend to full list
|
|
/// </remarks>
|
|
private List<ListPickerItemModel> courseList;
|
|
|
|
/// <summary>
|
|
/// List of the degrees
|
|
/// </summary>
|
|
private List<ListPickerItemModel> degreeList;
|
|
|
|
/// <summary>
|
|
/// List of the semester
|
|
/// </summary>
|
|
private List<ListPickerItemModel> semesterList;
|
|
|
|
/// <summary>
|
|
/// List for the number of semester (from)
|
|
/// </summary>
|
|
private List<ListPickerItemModel> fromNumberList;
|
|
|
|
/// <summary>
|
|
/// List for the number of semester (to)
|
|
/// </summary>
|
|
private List<ListPickerItemModel> toNumberList;
|
|
|
|
/// <summary>
|
|
/// Variable for the courseIndex
|
|
/// </summary>
|
|
[DataMember]
|
|
public int selectCourseIndex;
|
|
|
|
/// <summary>
|
|
/// Variable for the degreeIndex
|
|
/// </summary>
|
|
[DataMember]
|
|
public int selectDegreeIndex;
|
|
|
|
/// <summary>
|
|
/// Variable for the semesterIndex
|
|
/// </summary>
|
|
[DataMember]
|
|
public int selectSemesterIndex;
|
|
|
|
/// <summary>
|
|
/// Variable for the fromIndex
|
|
/// </summary>
|
|
[DataMember]
|
|
public int selectFromIndex;
|
|
|
|
/// <summary>
|
|
/// Variable for the toIndex
|
|
/// </summary>
|
|
[DataMember]
|
|
public int selectToIndex;
|
|
|
|
#endregion
|
|
|
|
#region Constructor
|
|
|
|
/// <summary>
|
|
/// Initializes a new instance of the <see cref="LecturePageModel" /> class.
|
|
/// </summary>
|
|
public LecturePageModel()
|
|
{
|
|
}
|
|
#endregion
|
|
|
|
#region Proberty
|
|
|
|
/// <summary>
|
|
/// Gets or sets the selected course index
|
|
/// </summary>
|
|
public int SelectCourseIndex
|
|
{
|
|
get
|
|
{
|
|
return this.selectCourseIndex;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (value != this.selectCourseIndex && this.courseList != null && value < this.courseList.Count)
|
|
{
|
|
this.selectCourseIndex = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the selected degree index
|
|
/// </summary>
|
|
public int SelectDegreeIndex
|
|
{
|
|
get
|
|
{
|
|
return this.selectDegreeIndex;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (value != this.selectDegreeIndex && this.degreeList != null && value < this.degreeList.Count)
|
|
{
|
|
this.selectDegreeIndex = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the selected semester-index
|
|
/// </summary>
|
|
public int SelectSemesterIndex
|
|
{
|
|
get
|
|
{
|
|
return this.selectSemesterIndex;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (value != this.selectSemesterIndex && this.semesterList != null && value < this.semesterList.Count)
|
|
{
|
|
this.selectSemesterIndex = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the selected from-index
|
|
/// </summary>
|
|
public int SelectFromIndex
|
|
{
|
|
get
|
|
{
|
|
return this.selectFromIndex;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (value != this.selectFromIndex && this.fromNumberList != null && value < this.fromNumberList.Count)
|
|
{
|
|
this.selectFromIndex = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets or sets the selected to-index
|
|
/// </summary>
|
|
public int SelectToIndex
|
|
{
|
|
get
|
|
{
|
|
return this.selectToIndex;
|
|
}
|
|
|
|
set
|
|
{
|
|
if (value != this.selectToIndex && this.toNumberList != null && value < this.toNumberList.Count)
|
|
{
|
|
this.selectToIndex = value;
|
|
}
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets List for the courses of the BTU
|
|
/// </summary>
|
|
public List<ListPickerItemModel> CourseList
|
|
{
|
|
get
|
|
{
|
|
return this.courseList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets List of the degrees
|
|
/// </summary>
|
|
public List<ListPickerItemModel> DegreeList
|
|
{
|
|
get
|
|
{
|
|
return this.degreeList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets List of the semester
|
|
/// </summary>
|
|
public List<ListPickerItemModel> SemesterList
|
|
{
|
|
get
|
|
{
|
|
return this.semesterList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets List for the number of semester
|
|
/// </summary>
|
|
public List<ListPickerItemModel> FromNumberList
|
|
{
|
|
get
|
|
{
|
|
return this.fromNumberList;
|
|
}
|
|
}
|
|
|
|
/// <summary>
|
|
/// Gets the NumberList
|
|
/// </summary>
|
|
public List<ListPickerItemModel> ToNumberList
|
|
{
|
|
get
|
|
{
|
|
return this.toNumberList;
|
|
}
|
|
}
|
|
#endregion
|
|
|
|
#region Methods
|
|
|
|
#region public
|
|
|
|
/// <summary>
|
|
/// Load all ListPickerLists
|
|
/// </summary>
|
|
public void LoadLists()
|
|
{
|
|
this.LoadCourseList();
|
|
this.LoadDegreeList();
|
|
this.LoadFromNumberList();
|
|
this.LoadToNumberList();
|
|
this.LoadSemesterList();
|
|
}
|
|
|
|
#endregion
|
|
|
|
#region private
|
|
|
|
/// <summary>
|
|
/// Load the NumberList
|
|
/// </summary>
|
|
public void LoadFromNumberList()
|
|
{
|
|
string selectValue = null;
|
|
if (this.fromNumberList != null)
|
|
{
|
|
selectValue = this.fromNumberList[this.SelectFromIndex].Value;
|
|
}
|
|
|
|
this.fromNumberList = this.CreateNumberList(1, 10);
|
|
this.SelectFromIndex = this.GetIndexOrDefault(this.fromNumberList, selectValue);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Load the NumberList
|
|
/// </summary>
|
|
public void LoadToNumberList()
|
|
{
|
|
string selectValue = null;
|
|
if (this.toNumberList != null)
|
|
{
|
|
selectValue = this.toNumberList[this.SelectToIndex].Value;
|
|
}
|
|
|
|
this.toNumberList = this.CreateNumberList(this.SelectFromIndex + 1, 10);
|
|
this.SelectToIndex = this.GetIndexOrDefault(this.toNumberList, selectValue);
|
|
}
|
|
|
|
/// <summary>
|
|
/// Method create a NumberList
|
|
/// </summary>
|
|
/// <param name="startvalue">startValue of the list</param>
|
|
/// <param name="endvalue">endValue of the list</param>
|
|
/// <returns>return list</returns>
|
|
private List<ListPickerItemModel> CreateNumberList(int startvalue, int endvalue)
|
|
{
|
|
List<ListPickerItemModel> list = new List<ListPickerItemModel>();
|
|
string degree = this.DegreeList[this.SelectDegreeIndex].Value;
|
|
|
|
for (int i = startvalue; i <= endvalue; i++)
|
|
{
|
|
if ((i > 4 && "88".Equals(degree)) || (i > 6 && "82".Equals(degree)))
|
|
{
|
|
break;
|
|
}
|
|
|
|
list.Add(new ListPickerItemModel() { Text = i.ToString(), Value = i.ToString() });
|
|
}
|
|
|
|
return list;
|
|
}
|
|
|
|
/// <summary>
|
|
/// Load the SemesterList
|
|
/// </summary>
|
|
private void LoadSemesterList()
|
|
{
|
|
this.semesterList = new List<ListPickerItemModel>();
|
|
this.semesterList.Add(new ListPickerItemModel() { Text = "SoSe 13", Value = "20131" });
|
|
this.semesterList.Add(new ListPickerItemModel() { Text = "WiSe 13/14", Value = "20132" });
|
|
this.semesterList.Add(new ListPickerItemModel() { Text = "SoSe 14", Value = "20131" });
|
|
}
|
|
|
|
/// <summary>
|
|
/// Load the DegreeList
|
|
/// </summary>
|
|
private void LoadDegreeList()
|
|
{
|
|
this.degreeList = new List<ListPickerItemModel>();
|
|
this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Bachelor, Value = "82" });
|
|
this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Master, Value = "88" });
|
|
this.degreeList.Add(new ListPickerItemModel() { Text = AppResources.Degree_Diploma, Value = "11" });
|
|
}
|
|
|
|
/// <summary>
|
|
/// Load the DegreeList
|
|
/// </summary>
|
|
private void LoadCourseList()
|
|
{
|
|
this.courseList = new List<ListPickerItemModel>();
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Architektur", Value = "013" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Bauingenieurwesen", Value = "017" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Betriebswirtschaftslehre", Value = "021" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsrecht für Technologieunternehmen", Value = "042" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Elektrotechnik", Value = "048" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Informatik ", Value = "079" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Maschinenbau", Value = "104" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Mathematik", Value = "105" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Physik ", Value = "128" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsingenieurwesen", Value = "179" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftswissenschaften ", Value = "184" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Biomedizinische Gerätetechnik ", Value = "215" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Verfahrenstechnik", Value = "226" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Wirtschaftsmathematik ", Value = "276" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Kultur und Technik ", Value = "711" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Physik der Halbleiter-Technologie", Value = "744" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Angewandte Mathematik ", Value = "749" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Technologie- und Innovationsmanagement", Value = "764" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Stadt- und Regionalplanung", Value = "766" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Informations- und Medientechnik ", Value = "767" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "World Heritage Studies", Value = "768" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Umweltingenieurwesen und Verfahrenstechnik", Value = "770" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Environmental and Resource Management", Value = "771" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Landnutzung und Wasserbewirtschaftung", Value = "772" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Bauen und Erhalten", Value = "773" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Umweltingenieurwesen", Value = "774" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "eBusiness", Value = "794" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Civil Engineering", Value = "798" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Structural Engineering", Value = "799" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Electrical Power Engineering ", Value = "800" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Euro Hydroinformatics and Water Management", Value = "841" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Technologien Biogener Rohstoffe", Value = "842" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Environmental Technologies", Value = "843" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Process Engineering and Plant Design", Value = "844" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Architekturvermittlung", Value = "845" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Nachwachsende Rohstoffe und Erneuerbare Energien", Value = "851" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Energieträger aus Biomasse und Abfällen", Value = "852" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Power Engineering", Value = "853" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Verfahrenstechnik - Prozess- und Anlagentechnik", Value = "857" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Architektur.Studium.Generale", Value = "858" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Verarbeitungstechnologien der Werkstoffe", Value = "860" });
|
|
this.courseList.Add(new ListPickerItemModel() { Text = "Forensic Sciences and Engineering", Value = "871" });
|
|
this.courseList = this.courseList.OrderBy(o => o.Text).ToList();
|
|
}
|
|
|
|
/// <summary>
|
|
/// Method return a the Index of an item which has a certain value
|
|
/// </summary>
|
|
/// <param name="list">list for items</param>
|
|
/// <param name="value">a certain value</param>
|
|
/// <returns>return index of value or default(0)</returns>
|
|
private int GetIndexOrDefault(List<ListPickerItemModel> list, string value)
|
|
{
|
|
int index = 0;
|
|
int i = 0;
|
|
foreach (ListPickerItemModel item in list)
|
|
{
|
|
if (item.Value.Equals(value))
|
|
{
|
|
index = i;
|
|
break;
|
|
}
|
|
|
|
i++;
|
|
}
|
|
|
|
return index;
|
|
}
|
|
#endregion
|
|
|
|
#endregion
|
|
}
|
|
}
|