use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.
the class CourseDbDao method updateCourse.
/**
* 更新
*/
public Course updateCourse(Course course) {
Course conflictCourse = hasConflictCourse(course);
if (null != conflictCourse) {
return conflictCourse;
}
SQLiteDatabase db = new CourseDbHelper(app.mContext).getWritableDatabase();
db.beginTransaction();
try {
// course.setCsNameId()
ContentValues values = new ContentValues();
putAllNotId(course, values);
db.update(CoursesPsc.CourseEntry.TABLE_NAME, values, CoursesPsc.CourseEntry.COLUMN_NAME_COURSE_ID + "=?", new String[] { course.getCourseId() + "" });
deleteNodeByCourseId(course.getCourseId(), db);
for (Integer integer : course.getNodes()) {
values.clear();
values.put(CoursesPsc.NodeEntry.COLUMN_NAME_COURSE_ID, course.getCourseId());
values.put(CoursesPsc.NodeEntry.COLUMN_NAME_NODE_NUM, integer);
db.insert(CoursesPsc.NodeEntry.TABLE_NAME, null, values);
}
db.setTransactionSuccessful();
} catch (Exception e) {
e.printStackTrace();
} finally {
db.endTransaction();
db.close();
}
return null;
}
use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.
the class CourseDbDao method addCourse.
/**
* 添加课程<br>
* 应检查课程信息的准确性后再调用该方法 <br>
*
* @return success return null or return conflict object
*/
public Course addCourse(Course course) {
Course conflictCourse = hasConflictCourse(course);
if (null != conflictCourse) {
LogUtil.e(this, "有冲突");
return conflictCourse;
}
SQLiteDatabase db = new CourseDbHelper(app.mContext).getWritableDatabase();
ContentValues values = new ContentValues();
putAllNotId(course, values);
db.beginTransaction();
try {
long courseId = db.insert(CoursesPsc.CourseEntry.TABLE_NAME, null, values);
for (Integer integer : course.getNodes()) {
values.clear();
values.put(CoursesPsc.NodeEntry.COLUMN_NAME_COURSE_ID, courseId);
values.put(CoursesPsc.NodeEntry.COLUMN_NAME_NODE_NUM, integer);
db.insert(CoursesPsc.NodeEntry.TABLE_NAME, null, values);
}
db.setTransactionSuccessful();
} catch (Exception e) {
e.printStackTrace();
} finally {
db.endTransaction();
}
db.close();
return null;
}
use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.
the class ImptPresenter method parseCoursesHtmlToDb.
private void parseCoursesHtmlToDb(final String html, final String courseTimeTerm) {
try {
Observable.create(new Observable.OnSubscribe<String>() {
@Override
public void call(Subscriber<? super String> subscriber) {
final ArrayList<Course> courses = ParseCourse.parse(html);
// 删除旧数据
CourseDbDao.newInstance().removeByCsName(courseTimeTerm);
// 添加新数据
for (Course c : courses) {
c.setCsName(courseTimeTerm);
CourseDbDao.newInstance().addCourse(c);
}
subscriber.onNext("导入成功");
subscriber.onCompleted();
}
}).subscribeOn(Schedulers.io()).observeOn(AndroidSchedulers.mainThread()).subscribe(new Observer<String>() {
@Override
public void onCompleted() {
LogUtil.d(this, "完成");
}
@Override
public void onError(Throwable e) {
mImptView.hideImpting();
mImptView.showErrToast("插入数据库失败", true);
}
@Override
public void onNext(String s) {
System.out.println("导入成功:" + courseTimeTerm);
Preferences.putInt(app.mContext.getString(R.string.app_preference_current_sd_name_id), CourseDbDao.newInstance().getCsNameId(courseTimeTerm));
mImptView.hideImpting();
mImptView.showSucceed();
}
});
} catch (Exception e) {
e.printStackTrace();
mImptView.hideImpting();
mImptView.showErrToast("导入错误", true);
}
}
use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.
the class CourseTableView method setNoCurBgAndVisible.
private void setNoCurBgAndVisible(LinearLayout itemView) {
StateListDrawable drawable;
drawable = getShowBgDrawable(mColors[mColors.length - 2], mColors[mColors.length - 1]);
itemView.setBackground(drawable);
TextView tv = (TextView) itemView.getChildAt(0);
tv.setTextColor(Utils.getColor(getResources(), R.color.color_text_not_current));
tv.setText("[非本周]" + tv.getText());
if (((Course) itemView.getTag()).isShowOverlap()) {
itemView.setVisibility(VISIBLE);
} else {
itemView.setVisibility(GONE);
}
}
use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.
the class CourseTableView method setCourseData.
public CourseTableView setCourseData(ArrayList<Course> courseData) {
mCourses.clear();
mNameColorMap.clear();
// 没有插入时候,导致页面没有刷新
resetView();
for (Course course : courseData) {
addCourse(course);
}
return this;
}
Aggregations