alpha 0.0.1
[DHBWCampusApp.git] / app / src / main / java / de / dhbwloe / campusapp / vorlesungen / CourseGroup.java
1 package de.dhbwloe.campusapp.vorlesungen;
2
3 import android.os.Bundle;
4 import android.provider.ContactsContract;
5
6 import java.lang.reflect.Array;
7 import java.util.ArrayList;
8 import java.util.Arrays;
9 import java.util.regex.Matcher;
10 import java.util.regex.Pattern;
11
12 import de.dhbwloe.campusapp.database.DatabaseManager;
13
14 /**
15  * Created by pk910 on 21.01.2016.
16  */
17 public class CourseGroup {
18     private static ArrayList<CourseGroup> CourseGroups = new ArrayList<CourseGroup>();
19     private int iCourseGroupId;
20     private String sCourseGroupName;
21     private String sCourseName;
22     private boolean bIsNew = false;
23     private ArrayList<CourseEvent> events = new ArrayList<CourseEvent>();
24
25     private Bundle extraData = new Bundle();
26
27     public static CourseGroup GetCourseGroupById(DatabaseManager dbm, int id) {
28         for(CourseGroup group : CourseGroups) {
29             if(group.iCourseGroupId == id)
30                 return group;
31         }
32         return dbm.getCourseGroup(id);
33     }
34
35     public static CourseGroup GetCourseGroupByName(DatabaseManager dbm, String coursename, String groupname) {
36         for(CourseGroup group : CourseGroups) {
37             if(group.sCourseName.equalsIgnoreCase(coursename) && group.sCourseGroupName.equalsIgnoreCase(groupname))
38                 return group;
39         }
40         CourseGroup group = dbm.getCourseGroup(coursename, groupname);
41         if(group == null) {
42             group = dbm.addCourseGroup(coursename, groupname);
43             group.bIsNew = true;
44         }
45         return group;
46     }
47
48     public static void ResetEventGroups() {
49         for(CourseGroup group : CourseGroups) {
50             group.events.clear();
51         }
52     }
53
54
55     public CourseGroup(int id, String coursename, String groupname) {
56         iCourseGroupId = id;
57         sCourseGroupName = groupname;
58         sCourseName = coursename;
59
60         CourseGroups.add(this);
61     }
62
63     public void addCourseEvent(CourseEvent event) {
64         this.events.add(event);
65     }
66
67     public CourseEvent[] getCourseEvents() {
68         return (CourseEvent[])this.events.toArray();
69     }
70
71     public CourseEvent[] getOrderedCourseEvents() {
72         CourseEvent[] events = getCourseEvents();
73
74         Arrays.sort(events);
75
76         return events;
77     }
78
79     public int getGroupId() {
80         return iCourseGroupId;
81     }
82
83     public boolean isNewGroup(boolean reset) {
84         boolean ret = bIsNew;
85         if(reset)
86             bIsNew = false;
87         return ret;
88     }
89
90     public Bundle getExtraData() {
91         return extraData;
92     }
93
94     public String getGroupName() {
95         return sCourseGroupName;
96     }
97
98 }