package com.openerp.addons.idea;
import java.util.Arrays;
import java.util.List;
import android.content.Context;
import android.util.Log;
import com.openerp.orm.OEDataRow;
import com.openerp.orm.OEM2MIds;
import com.openerp.orm.OEM2MIds.Operation;
import com.openerp.orm.OEValues;
import com.openerp.util.logger.OELog;
public class IdeaDemoRecords {
IdeaDBHelper ideaDb = null;
Context mContext = null;
public IdeaDemoRecords(Context context) {
mContext = context;
ideaDb = new IdeaDBHelper(mContext);
}
public void createDemoRecords() {
createIdeaUserTypes();
createIdeaUsers();
createIdeaCategory();
createIdea();
int count = updateRecords();
OELog.log("Row updated : " + count);
}
private void createIdeaUserTypes() {
IdeaDBHelper.IdeaUserType userType = ideaDb.new IdeaUserType(mContext);
userType.truncateTable();
for (int i = 1; i <= 3; i++) {
OEValues values = new OEValues();
values.put("id", i);
values.put("type", "Type " + i);
long newId = userType.create(values);
Log.d("IdeaDemoRecords", newId
+ " Record created for idea.user.type");
}
}
private void createIdeaUsers() {
IdeaDBHelper.IdeaUsers ideaUsers = ideaDb.new IdeaUsers(mContext);
ideaUsers.truncateTable();
for (int i = 1; i <= 5; i++) {
OEValues values = new OEValues();
values.put("id", i);
values.put("name", "User " + i);
values.put("city", "City " + i);
values.put("user_type", i); // many to one field
long newId = ideaUsers.create(values);
Log.d("IdeaDemoRecords", newId + " Record created for idea.users");
}
}
private void createIdeaCategory() {
IdeaDBHelper.IdeaCategory ideaCategory = ideaDb.new IdeaCategory(
mContext);
ideaCategory.truncateTable();
for (int i = 1; i <= 3; i++) {
OEValues values = new OEValues();
values.put("id", i);
values.put("name", "Category " + i);
long newId = ideaCategory.create(values);
Log.d("IdeaDemoRecords", newId
+ " Record created for idea.category");
}
}
private void createIdea() {
ideaDb.truncateTable();
for (int i = 1; i <= 3; i++) {
OEValues values = new OEValues();
values.put("id", i);
values.put("name", "Idea " + i);
values.put("description", "Description " + i);
values.put("category_id", i);
Integer[] ids = new Integer[] { 1, 2 };
List<Integer> user_ids = Arrays.asList(ids);
values.put("user_ids", user_ids);
long newId = ideaDb.create(values);
Log.d("IdeaDemoRecords", newId + " Record created for idea.idea");
}
}
public void selectAll() {
for (OEDataRow row : ideaDb.select()) {
OELog.log("RECORD :::::::::::::::::::::::: " + row.getString("id"));
OELog.log("name : " + row.getString("name"));
OELog.log("category : "
+ row.getM2ORecord("category_id").browse()
.getString("name"));
OELog.log("user_ids : "
+ row.getM2MRecord("user_ids").browseEach().get(0)
.getM2ORecord("user_type").browse()
.getString("type"));
}
}
public int updateRecords() {
int count = 0;
OEValues values = new OEValues();
values.put("description", "Updated Description");
values.put("category_id", 3);
Integer[] ids = new Integer[] { 3, 4 };
List<Integer> user_ids = Arrays.asList(ids);
values.put("user_ids", new OEM2MIds(Operation.APPEND, user_ids));
count = ideaDb.update(values, "id = ?", new String[] { "2" });
return count;
}
}