package net.basilwang.dao;
import java.util.ArrayList;
import java.util.List;
import net.basilwang.entity.Semester;
import android.content.Context;
import android.database.Cursor;
public class SemesterService implements IDAOService {
private DAOHelper daoHelper;
public SemesterService(Context context) {
daoHelper = new DAOHelper(context);
}
public void saveSemesterList(List<Semester> semesters) {
String sql = "INSERT INTO semesters(semestername, accountid) VALUES(?,?)";
for (int i = 0; i < semesters.size(); i++) {
Object bindArgs[] = { semesters.get(i).getName(),
semesters.get(i).getAccountId() };
daoHelper.insert(sql, bindArgs);
}
}
public void updateBeginAndEndDataOfSemester(Semester semester) {
Object[] bindArgs = { semester.getBeginDate(), semester.getEndDate(),
semester.getName() };
String sql = "UPDATE semesters SET beginningdate = ?,endingdate = ? "
+ "WHERE semestername = ?";
daoHelper.update(sql, bindArgs);
}
public void updateBeginDataOfSemester(Semester semester) {
Object[] bindArgs = { semester.getBeginDate()};
String sql = "UPDATE semesters SET beginningdate = ?";
daoHelper.update(sql, bindArgs);
}
public List<Semester> getSemestersByAccountId(int accountId) {
String sql = "SELECT * FROM semesters WHERE accountid = ?";
String[] bindArgs = { String.valueOf(accountId) };
Cursor result = daoHelper.query(sql, bindArgs);
List<Semester> semesters = null;
if (result.getCount() > 0) {
semesters = new ArrayList<Semester>(result.getCount());
}
while (result.moveToNext()) {
Semester semester = new Semester();
semester.setName(result.getString(result
.getColumnIndex("semestername")));
semester.setAccountId(accountId);
semesters.add(semester);
}
daoHelper.closeDB();
return semesters;
}
public List<Semester> getSemesters() {
String sql = "SELECT * FROM semesters";
Cursor result = daoHelper.query(sql, null);
List<Semester> semesters = new ArrayList<Semester>();
while (result.moveToNext()) {
Semester semester = new Semester();
semester.setName(result.getString(result
.getColumnIndex("semestername")));
semesters.add(semester);
}
daoHelper.closeDB();
return semesters;
}
public void deleteSemestersByAccountId(int accountId) {
String sql = "DELETE FROM semesters WHERE accountid = ?";
daoHelper.deleteListByAccountId(sql, accountId);
}
@Override
public void deleteAccount() {
String sql = "DELETE FROM semesters";
daoHelper.delete(sql);
}
public Semester getSemesterByName(String semesterName) {
String sql = "SELECT * FROM semesters WHERE semestername = ?";
String[] bingArgs = { semesterName };
Cursor result = daoHelper.query(sql, bingArgs);
Semester semester = new Semester();
while (result.moveToNext()) {
semester.setName(result.getString(result
.getColumnIndex("semestername")));
semester.setBeginDate(result.getString(result
.getColumnIndex("beginningdate")));
semester.setEndDate(result.getString(result
.getColumnIndex("endingdate")));
}
daoHelper.closeDB();
return semester;
}
}