Search in sources :

Example 11 with Course

use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.

the class AddPresenter method updateCourse.

@Override
public void updateCourse(Course course) {
    LogUtil.d(this, course.toString());
    if (TextUtils.isEmpty(course.getName())) {
        mView.showAddFail("请填写课程名称");
        return;
    }
    if (0 == course.getWeek()) {
        mView.showAddFail("请选择上课时间");
        return;
    }
    if (0 == course.getStartWeek()) {
        mView.showAddFail("请选择课程开始周");
        return;
    }
    CourseDbDao dao = CourseDbDao.newInstance();
    Course course1 = dao.updateCourse(course);
    if (course1 != null) {
        mView.showAddFail("和课程 【" + course1.getName() + "-星期" + course1.getWeek() + "第" + course1.getNodes().get(0) + "节】 " + "时间冲突");
        return;
    }
    mView.onUpdateSucceed(course);
}
Also used : CourseDbDao(com.mnnyang.gzuclassschedule.data.db.CourseDbDao) Course(com.mnnyang.gzuclassschedule.data.bean.Course)

Example 12 with Course

use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.

the class AddActivity method initDefaultValues.

private void initDefaultValues() {
    Intent intent = getIntent();
    Course course = (Course) intent.getSerializableExtra(Constant.INTENT_COURSE);
    if (course != null) {
        // set toolbar title
        if (getSupportActionBar() != null) {
            getSupportActionBar().setTitle(getString(R.string.edit_course));
        }
        mCourse = course;
        mCourseId = course.getCourseId();
        LogUtil.i(TAG, "id====" + mCourseId);
        mEtName.setText(course.getName());
        mEtlClassroom.setText(course.getClassRoom());
        mEtlTeacher.setText(course.getTeacher());
        mSelectedWeek = course.getWeek();
        mSelectedStartWeek = course.getStartWeek();
        mSelectedEndWeek = course.getEndWeek();
        mSelectedNodeStart = course.getNodes().get(0);
        mSelectedNodeEnd = course.getNodes().get(course.getNodes().size() - 1);
        mWeekType = course.getWeekType();
        mBtnRemove.setVisibility(View.VISIBLE);
        isEditMode = true;
    }
    updateWeekNode();
    updateWeekRange();
}
Also used : Intent(android.content.Intent) Course(com.mnnyang.gzuclassschedule.data.bean.Course)

Example 13 with Course

use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.

the class AddActivity method add.

private void add() {
    Course course = new Course();
    int currentCsNameId = Preferences.getInt(getString(R.string.app_preference_current_sd_name_id), 0);
    String csName = CourseDbDao.newInstance().getCsName(currentCsNameId);
    LogUtil.i(this, "当前课表-->" + currentCsNameId);
    course.setName(mEtName.getText().toString().trim()).setCsName(csName).setCsNameId(currentCsNameId).setClassRoom(mEtlClassroom.getText().trim()).setTeacher(mEtlTeacher.getText().trim()).setStartWeek(mSelectedStartWeek).setEndWeek(mSelectedEndWeek).setWeekType(mWeekType).setWeek(mSelectedWeek);
    for (int i = mSelectedNodeStart; i <= mSelectedNodeEnd; i++) {
        course.addNode(i);
    }
    if (isEditMode) {
        course.setCourseId(mCourseId);
        mPresenter.updateCourse(course);
        return;
    }
    mPresenter.addCourse(course);
}
Also used : Course(com.mnnyang.gzuclassschedule.data.bean.Course)

Example 14 with Course

use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.

the class CourseDbDao method parse.

private Course parse(Cursor cursor) {
    Course course = new Course();
    course.setName(cursor.getString(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_NAME))).setClassRoom(cursor.getString(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_CLASS_ROOM))).setTeacher(cursor.getString(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_TEACHER))).setWeek(cursor.getInt(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_WEEK))).setStartWeek(cursor.getInt(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_START_WEEK))).setEndWeek(cursor.getInt(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_END_WEEK))).setSource(cursor.getString(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_SOURCE))).setCsNameId(cursor.getInt(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_CS_NAME_ID))).setWeekType(cursor.getInt(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_WEEK_TYPE))).setCourseId(cursor.getInt(cursor.getColumnIndex(CoursesPsc.CourseEntry.COLUMN_NAME_COURSE_ID)));
    return course;
}
Also used : Course(com.mnnyang.gzuclassschedule.data.bean.Course)

Example 15 with Course

use of com.mnnyang.gzuclassschedule.data.bean.Course in project GzuClassSchedule by mnnyang.

the class AppUtils method migrateData.

/**
 * 迁移旧数据
 */
private static void migrateData(Context context) {
    MyOpenHelper myOpenHelper = new MyOpenHelper(context, "coursev2.db", null);
    DaoMaster daoMaster = new DaoMaster(myOpenHelper.getWritableDatabase());
    DaoSession daoSession = daoMaster.newSession();
    CourseGroupDao courseGroupDao = daoSession.getCourseGroupDao();
    CourseV2Dao courseV2Dao = daoSession.getCourseV2Dao();
    ArrayList<CsItem> csItems = CourseDbDao.instance().loadCsNameList();
    for (CsItem csItem : csItems) {
        ArrayList<Course> courses = CourseDbDao.instance().loadCourses(csItem.getCsName().getCsNameId());
        CourseGroup group = new CourseGroup();
        group.setCgName(csItem.getCsName().getName());
        long insert1 = courseGroupDao.insert(group);
        for (Course course : courses) {
            if (course.getNodes() == null || course.getNodes().size() == 0 || course.getEndWeek() == 0) {
                continue;
            }
            CourseV2 courseV2 = new CourseV2().setCouOnlyId(AppUtils.createUUID());
            courseV2.setCouName(course.getName());
            courseV2.setCouTeacher(course.getTeacher());
            courseV2.setCouLocation(course.getClassRoom());
            // node
            courseV2.setCouStartNode(course.getNodes().get(0));
            courseV2.setCouNodeCount(course.getNodes().size());
            // day
            courseV2.setCouWeek(course.getWeek());
            // week
            String couAllWeek = getAllWeek(course);
            if (couAllWeek.length() > 0) {
                couAllWeek = couAllWeek.substring(0, couAllWeek.length() - 1);
            }
            courseV2.setCouAllWeek(couAllWeek);
            courseV2.setCouCgId(insert1);
            courseV2Dao.insert(courseV2);
        }
    }
}
Also used : MyOpenHelper(com.mnnyang.gzuclassschedule.data.greendao.MyOpenHelper) CourseV2Dao(com.mnnyang.gzuclassschedule.data.greendao.CourseV2Dao) CourseGroupDao(com.mnnyang.gzuclassschedule.data.greendao.CourseGroupDao) CourseGroup(com.mnnyang.gzuclassschedule.data.beanv2.CourseGroup) CsItem(com.mnnyang.gzuclassschedule.data.bean.CsItem) DaoMaster(com.mnnyang.gzuclassschedule.data.greendao.DaoMaster) CourseV2(com.mnnyang.gzuclassschedule.data.beanv2.CourseV2) Course(com.mnnyang.gzuclassschedule.data.bean.Course) DaoSession(com.mnnyang.gzuclassschedule.data.greendao.DaoSession)

Aggregations

Course (com.mnnyang.gzuclassschedule.data.bean.Course)15 SQLiteDatabase (android.database.sqlite.SQLiteDatabase)4 CourseDbDao (com.mnnyang.gzuclassschedule.data.db.CourseDbDao)3 ContentValues (android.content.ContentValues)2 Cursor (android.database.Cursor)2 ArrayList (java.util.ArrayList)2 Subscriber (rx.Subscriber)2 Intent (android.content.Intent)1 StateListDrawable (android.graphics.drawable.StateListDrawable)1 NonNull (android.support.annotation.NonNull)1 TextView (android.widget.TextView)1 CsItem (com.mnnyang.gzuclassschedule.data.bean.CsItem)1 CourseGroup (com.mnnyang.gzuclassschedule.data.beanv2.CourseGroup)1 CourseV2 (com.mnnyang.gzuclassschedule.data.beanv2.CourseV2)1 CourseGroupDao (com.mnnyang.gzuclassschedule.data.greendao.CourseGroupDao)1 CourseV2Dao (com.mnnyang.gzuclassschedule.data.greendao.CourseV2Dao)1 DaoMaster (com.mnnyang.gzuclassschedule.data.greendao.DaoMaster)1 DaoSession (com.mnnyang.gzuclassschedule.data.greendao.DaoSession)1 MyOpenHelper (com.mnnyang.gzuclassschedule.data.greendao.MyOpenHelper)1 ParseCourse (com.mnnyang.gzuclassschedule.utils.spec.ParseCourse)1