Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Contribute to GitLab
Sign in / Register
Toggle navigation
M
meser
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Muhammad Suryono
meser
Commits
53a73c15
Commit
53a73c15
authored
Aug 25, 2020
by
Muhammad Suryono
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Update data cart
parent
de66a03d
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
83 additions
and
36 deletions
+83
-36
FormProductActivity.java
...rc/main/java/com/yono/messeripos/FormProductActivity.java
+11
-11
MainActivity.java
app/src/main/java/com/yono/messeripos/MainActivity.java
+50
-0
ProductAdapter.java
...main/java/com/yono/messeripos/adapter/ProductAdapter.java
+12
-23
CartDaos.java
app/src/main/java/com/yono/messeripos/daos/CartDaos.java
+1
-1
MainViewModelsCart.java
...n/java/com/yono/messeripos/models/MainViewModelsCart.java
+4
-0
CartRepositories.java
...va/com/yono/messeripos/repositories/CartRepositories.java
+4
-0
item_cart.xml
app/src/main/res/layout/item_cart.xml
+1
-1
No files found.
app/src/main/java/com/yono/messeripos/FormProductActivity.java
View file @
53a73c15
...
...
@@ -59,7 +59,7 @@ public class FormProductActivity extends AppCompatActivity {
getSupportActionBar
().
setTitle
(
"Add Product"
);
toolbars
.
setNavigationOnClickListener
(
view
->
onBackPressed
());
binding
.
cvProduct
.
setOnClickListener
(
view
->
takePhoto
());
binding
.
cvProduct
.
setOnClickListener
(
view
->
openFile
());
binding
.
btnAdd
.
setOnClickListener
(
view
->
saveProduct
());
...
...
@@ -114,18 +114,18 @@ public class FormProductActivity extends AppCompatActivity {
@Override
protected
void
onActivityResult
(
int
requestCode
,
int
resultCode
,
@Nullable
Intent
data
)
{
super
.
onActivityResult
(
requestCode
,
resultCode
,
data
);
// if (requestCode == 100 && resultCode == RESULT_OK && data != null) {
// Uri selectedImage = data.getData();
//
// Log.d("Get filepath photo", "" + getRealPathFromURI(selectedImage));
// binding.setPhoto(getRealPathFromURI(selectedImage));
// }
if
(
requestCode
==
100
&&
resultCode
==
RESULT_OK
&&
data
!=
null
)
{
Uri
selectedImage
=
data
.
getData
();
if
(
requestCode
==
REQUEST_IMAGE_CAPTURE
&&
resultCode
==
RESULT_OK
)
{
Log
.
d
(
"Get filepath photo"
,
""
+
file
.
getName
());
binding
.
setPhoto
(
file
.
getAbsolutePath
());
productModels
.
setImageProduct
(
file
.
getName
());
Log
.
d
(
"Get filepath photo"
,
""
+
getRealPathFromURI
(
selectedImage
));
binding
.
setPhoto
(
getRealPathFromURI
(
selectedImage
));
}
// if (requestCode == REQUEST_IMAGE_CAPTURE && resultCode == RESULT_OK) {
// Log.d("Get filepath photo", "" + file.getName());
// binding.setPhoto(file.getAbsolutePath());
// productModels.setImageProduct(file.getName());
// }
}
@Override
...
...
app/src/main/java/com/yono/messeripos/MainActivity.java
View file @
53a73c15
...
...
@@ -14,6 +14,7 @@ import android.widget.ImageView;
import
android.widget.TextView
;
import
android.widget.Toast
;
import
androidx.annotation.RequiresApi
;
import
androidx.appcompat.app.AppCompatActivity
;
import
androidx.appcompat.widget.Toolbar
;
import
androidx.databinding.DataBindingUtil
;
...
...
@@ -44,6 +45,8 @@ import com.yono.messeripos.response.DataResponse;
import
java.util.ArrayList
;
import
java.util.List
;
import
java.util.stream.Collector
;
import
java.util.stream.Collectors
;
public
class
MainActivity
extends
AppCompatActivity
{
MaterialToolbar
toolbar
;
...
...
@@ -134,6 +137,53 @@ public class MainActivity extends AppCompatActivity {
Log
.
d
(
"Get data from products"
,
"Response "
+
js
);
}
});
productAdapter
.
setListener
(
new
ProductAdapter
.
ProductListener
()
{
@Override
public
void
onUpdate
(
ProductModels
product
)
{
}
@Override
public
void
onDelete
(
ProductModels
product
)
{
}
@Override
public
void
onAddCart
(
ProductModels
product
)
{
mainViewModelsCart
.
getCartById
(
product
.
getIdProduct
()).
observe
(
MainActivity
.
this
,
new
Observer
<
List
<
ProductCartModels
>>()
{
@RequiresApi
(
api
=
Build
.
VERSION_CODES
.
N
)
@Override
public
void
onChanged
(
List
<
ProductCartModels
>
productCartModels
)
{
String
s
=
new
Gson
().
toJson
(
productCartModels
);
if
(
productCartModels
.
isEmpty
()){
mainViewModelsCart
.
insertCart
(
new
ProductCartModels
(
1233
,
1
,
product
.
getIdProduct
(),
product
.
getProductName
(),
product
.
getPriceProduct
(),
0
));
Log
.
i
(
"Add data cart"
,
"onChanged: Berhasil ditambahkan"
);
}
else
{
// ProductCartModels productCartModels2 = (ProductCartModels) productCartModels.stream().map(productCartModels1 -> {
// productCartModels1.setQuantity_orders(productCartModels1.getQuantity_orders()+1);
// return productCartModels1;
// });
productCartModels
.
stream
().
map
(
productCartModels1
->
{
Log
.
d
(
"click cart"
,
"onChanged: "
+
s
);
productCartModels1
.
setQuantity_orders
(
productCartModels1
.
getQuantity_orders
()+
1
);
// mainViewModelsCart.updateCart(productCartModels1);
return
productCartModels1
;
}).
collect
(
Collectors
.
toList
());
}
}
});
}
});
}
@Override
...
...
app/src/main/java/com/yono/messeripos/adapter/ProductAdapter.java
View file @
53a73c15
...
...
@@ -38,20 +38,22 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
Context
context
;
MainViewModelsCart
mainViewModelsCart
;
public
interface
Car
tListener
{
void
onUpdate
(
Product
Cart
Models
product
);
public
interface
Produc
tListener
{
void
onUpdate
(
ProductModels
product
);
void
onDelete
(
ProductCartModels
product
);
void
onDelete
(
ProductModels
product
);
void
onAddCart
(
ProductModels
product
);
}
private
Car
tListener
listener
;
private
Produc
tListener
listener
;
public
void
setListener
(
Car
tListener
listener
)
{
public
void
setListener
(
Produc
tListener
listener
)
{
this
.
listener
=
listener
;
}
public
void
setProduct
(
Context
context
,
ArrayList
<
ProductModels
>
productModels
){
public
void
setProduct
(
Context
context
,
ArrayList
<
ProductModels
>
productModels
)
{
this
.
productModels
=
productModels
;
this
.
context
=
context
;
mainViewModelsCart
=
ViewModelProviders
.
of
((
FragmentActivity
)
context
).
get
(
MainViewModelsCart
.
class
);
...
...
@@ -107,35 +109,22 @@ public class ProductAdapter extends RecyclerView.Adapter<ProductAdapter.MyViewHo
binding
.
setPrice
(
rupiah
.
format
(
products
.
getPriceProduct
()));
binding
.
setImage
(
products
.
getImageProduct
());
if
(!
MainActivity
.
status_update
){
if
(!
MainActivity
.
status_update
)
{
binding
.
btnDelete
.
setVisibility
(
View
.
GONE
);
binding
.
btnEdit
.
setVisibility
(
View
.
GONE
);
}
if
(
products
.
getStockProduct
()
==
0
){
if
(
products
.
getStockProduct
()
==
0
)
{
statusProduct
=
"Not Available"
;
binding
.
status
.
setBackgroundColor
(
0x55FF0000
);
binding
.
setStatus
(
statusProduct
);
}
else
{
}
else
{
statusProduct
=
"Available"
;
binding
.
status
.
setBackgroundColor
(
0xFF12FF45
);
binding
.
setStatus
(
statusProduct
);
}
binding
.
materialBtnAddCart
.
setOnClickListener
(
new
View
.
OnClickListener
()
{
@Override
public
void
onClick
(
View
view
)
{
Toast
.
makeText
(
context
,
binding
.
titleProduct
.
getText
()
+
" adding to cart"
,
Toast
.
LENGTH_LONG
).
show
();
mainViewModelsCart
.
insertCart
(
new
ProductCartModels
(
2
,
1
,
products
.
getIdProduct
(),
products
.
getProductName
(),
products
.
getPriceProduct
(),
0
));
}
});
binding
.
materialBtnAddCart
.
setOnClickListener
(
view
->
listener
.
onAddCart
(
products
));
}
}
}
app/src/main/java/com/yono/messeripos/daos/CartDaos.java
View file @
53a73c15
...
...
@@ -18,7 +18,7 @@ public interface CartDaos {
@Query
(
"SELECT * FROM carts ORDER BY id DESC"
)
public
LiveData
<
List
<
ProductCartModels
>>
getCart
();
@Query
(
"SELECT * FROM carts WHERE id = :idCart"
)
@Query
(
"SELECT * FROM carts WHERE id
_product_orders
= :idCart"
)
public
LiveData
<
List
<
ProductCartModels
>>
getCartById
(
long
idCart
);
...
...
app/src/main/java/com/yono/messeripos/models/MainViewModelsCart.java
View file @
53a73c15
...
...
@@ -42,6 +42,10 @@ public class MainViewModelsCart extends AndroidViewModel {
public
void
deleteCart
(
ProductCartModels
productCartModels
){
cartRepositories
.
delete
(
productCartModels
);}
public
LiveData
<
List
<
ProductCartModels
>>
getCartById
(
long
id
){
return
cartRepositories
.
getDataById
(
id
);
}
public
MutableLiveData
<
ProductCartModels
>
getCart
(){
// String js = new Gson().toJson(cartRepositories.getDataCart());
// Log.d("Get data cart", "Response "+js);
...
...
app/src/main/java/com/yono/messeripos/repositories/CartRepositories.java
View file @
53a73c15
...
...
@@ -35,6 +35,10 @@ public class CartRepositories {
LocalDatabase
.
databaseWriterExecutor
.
execute
(()
->
cartDaos
.
deleteProduct
(
productCartModels
));
}
public
LiveData
<
List
<
ProductCartModels
>>
getDataById
(
long
id
){
return
cartDaos
.
getCartById
(
id
);
}
public
LiveData
<
List
<
ProductCartModels
>>
getDataCart
(){
return
products
;
}
...
...
app/src/main/res/layout/item_cart.xml
View file @
53a73c15
...
...
@@ -78,7 +78,7 @@
android:layout_height=
"wrap_content"
android:layout_marginStart=
"10dp"
android:fontFamily=
"@font/roboto"
android:text=
"
1
"
android:text=
"
@{carts.quantity_orders+``}
"
android:textSize=
"16sp"
app:layout_constraintBottom_toBottomOf=
"@id/cross"
app:layout_constraintStart_toEndOf=
"@id/cross"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment