-
Notifications
You must be signed in to change notification settings - Fork 0
/
AttributeDataSource.java
103 lines (99 loc) · 3.47 KB
/
AttributeDataSource.java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
package com.puz.salestakingorder.datasources;
import java.util.ArrayList;
import android.content.ContentValues;
import android.content.Context;
import android.database.Cursor;
import android.database.SQLException;
import android.database.sqlite.SQLiteDatabase;
import com.puz.salestakingorder.models.AttributesItem;
import com.puz.salestakingorder.utils.MySQLiteHelper;
public class AttributeDataSource {
private SQLiteDatabase database;
private MySQLiteHelper dbHelper;
private String[] column={
MySQLiteHelper.ATTRIBUTE_ID,
MySQLiteHelper.ATTRIBUTE_NAME,
MySQLiteHelper.ATTRIBUTE_STATUS,
MySQLiteHelper.ATTRIBUTE_TYPE,
MySQLiteHelper.ATTRIBUTE_DESCRIPTION};
public AttributeDataSource(Context context){
dbHelper=new MySQLiteHelper(context);
}
public void open() throws SQLException{
database=dbHelper.getWritableDatabase();
}
public void close(){
dbHelper.close();
}
public void createAttribute(
long id,
String name,
String type,
String status,
String description
){
ContentValues values=new ContentValues();
values.put(MySQLiteHelper.ATTRIBUTE_ID,id);
values.put(MySQLiteHelper.ATTRIBUTE_NAME,name);
values.put(MySQLiteHelper.ATTRIBUTE_TYPE,type);
values.put(MySQLiteHelper.ATTRIBUTE_STATUS,status);
values.put(MySQLiteHelper.ATTRIBUTE_DESCRIPTION,description);
database.insert(MySQLiteHelper.TABLE_ATTRIBUTE, null, values);
}
public void deleteAttribute (AttributesItem attribute){
long id=attribute.getId();
database.delete(MySQLiteHelper.TABLE_ATTRIBUTE, MySQLiteHelper.ATTRIBUTE_ID+ "="+id, null);
}
public void deleteAllAttribute (){
database.delete(MySQLiteHelper.TABLE_ATTRIBUTE, null, null);
}
public void editAttribute (long id,ContentValues values){
database.update(MySQLiteHelper.TABLE_ATTRIBUTE, values, MySQLiteHelper.ATTRIBUTE_ID+"="+id, null);
}
public ArrayList<AttributesItem> getAllAttribute(){
ArrayList<AttributesItem> attribute=new ArrayList<AttributesItem>();
Cursor cursor=database.query(MySQLiteHelper.TABLE_ATTRIBUTE,column,null,null,null,null,null);
cursor.moveToFirst();
while(!cursor.isAfterLast()){
AttributesItem attributeItem=cursorToAttribute(cursor);
attribute.add(attributeItem);
cursor.moveToNext();
}
cursor.close();
return attribute;
}
public AttributesItem getAttributeById(long id){
AttributesItem attribute=new AttributesItem();
Cursor cursor=database.query(MySQLiteHelper.TABLE_ATTRIBUTE,column,
MySQLiteHelper.ATTRIBUTE_ID+"="+id,null,null,null,null);
cursor.moveToFirst();
while(!cursor.isAfterLast()){
attribute=cursorToAttribute(cursor);
cursor.moveToNext();
}
cursor.close();
return attribute;
}
public ArrayList<AttributesItem> getAttributeByType(String type){
ArrayList<AttributesItem> attribute=new ArrayList<AttributesItem>();
Cursor cursor=database.query(MySQLiteHelper.TABLE_ATTRIBUTE,column,
MySQLiteHelper.ATTRIBUTE_TYPE+"='"+type+"'",null,null,null,null);
cursor.moveToFirst();
while(!cursor.isAfterLast()){
AttributesItem attributeItem=cursorToAttribute(cursor);
attribute.add(attributeItem);
cursor.moveToNext();
}
cursor.close();
return attribute;
}
private AttributesItem cursorToAttribute(Cursor cursor){
AttributesItem attributeItem=new AttributesItem();
attributeItem.setId(cursor.getLong(0));
attributeItem.setName(cursor.getString(1));
attributeItem.setStatus(cursor.getString(2));
attributeItem.setType(cursor.getString(3));
attributeItem.setDescription(cursor.getString(3));
return attributeItem;
}
}