Commit 9e266a4a by Mobile : Art

update

parents b724f529 baadf91b
...@@ -39,6 +39,7 @@ class MyApp extends StatelessWidget { ...@@ -39,6 +39,7 @@ class MyApp extends StatelessWidget {
//home: EditProfile(), //home: EditProfile(),
); );
......
class AddfavModel {
String message;
AddfavModel({this.message});
AddfavModel.fromJson(Map<String, dynamic> json) {
message = json['message'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['message'] = this.message;
return data;
}
}
...@@ -5,6 +5,7 @@ import 'package:feelverapp/model/Login/login_model.dart'; ...@@ -5,6 +5,7 @@ import 'package:feelverapp/model/Login/login_model.dart';
import 'package:feelverapp/model/base/base.dart'; import 'package:feelverapp/model/base/base.dart';
import 'package:feelverapp/model/editprofile/getprofilemodel.dart'; import 'package:feelverapp/model/editprofile/getprofilemodel.dart';
import 'package:feelverapp/model/favorite/addfav_model.dart';
import 'package:feelverapp/model/favorite/delete_favorite_Model.dart'; import 'package:feelverapp/model/favorite/delete_favorite_Model.dart';
import 'package:feelverapp/model/favorite/favorite_Model.dart'; import 'package:feelverapp/model/favorite/favorite_Model.dart';
...@@ -17,6 +18,7 @@ import 'package:feelverapp/model/home_search/searchhomepage_model.dart'; ...@@ -17,6 +18,7 @@ import 'package:feelverapp/model/home_search/searchhomepage_model.dart';
import 'package:feelverapp/model/register/register_model.dart'; import 'package:feelverapp/model/register/register_model.dart';
import 'package:feelverapp/model/category/category_model.dart'; import 'package:feelverapp/model/category/category_model.dart';
import 'package:feelverapp/model/reviewshop/reviewshop_Model.dart';
import 'package:feelverapp/model/shoplist/shoplist_Model.dart'; import 'package:feelverapp/model/shoplist/shoplist_Model.dart';
import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart'; import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart';
import 'package:feelverapp/model/shopservice/shop_service_Model.dart'; import 'package:feelverapp/model/shopservice/shop_service_Model.dart';
...@@ -36,7 +38,31 @@ class Api<T> { ...@@ -36,7 +38,31 @@ class Api<T> {
static final String baseApi = "https://backend-uat.feelver.com/api"; static final String baseApi = "https://backend-uat.feelver.com/api";
<<<<<<< HEAD
static final String baseApiforimage = "https://backend.feelver.com/storage/"; static final String baseApiforimage = "https://backend.feelver.com/storage/";
=======
static final String baseApiforimage = "https://backend-uat.feelver.com/api/storage/";
Future<Response<T>> reviewshop(Object body) async {
var _model;
var _fail;
var result;
print("this is body" + body.toString());
await _httpConnection("${this._baseApi}/store/detail", this._headerApi, body).then((response){
print("ผลลัพท์ เท่ากับ" + "${response.body}");
if(response.statusCode == 200){
_model = ReviewShopModel.fromJson(json.decode(response.body));
}else{
_fail = FailModel.fromJson(json.decode(response.body));
}
result = new Response<T>(_model, _fail);
});
return result;
}
>>>>>>> baadf91b2b909230e56f29edefbed7cfd2f5e949
Future<Response<T>> deletefavorite(Object body) async { Future<Response<T>> deletefavorite(Object body) async {
...@@ -337,6 +363,28 @@ class Api<T> { ...@@ -337,6 +363,28 @@ class Api<T> {
return result; return result;
} }
Future<Response<T>> addfav(Object body) async {
var _model;
var _fail;
var result;
await _httpConnection(
"${this._baseApi}/wish-list/add", this._headerApi, body)
.then((response) {
print("ผลลัพท์ เท่ากับ " "${response.body}");
if (response.statusCode == 200) {
_model = AddfavModel.fromJson(json.decode(response.body));
} else {
_fail = FailModel.fromJson(json.decode(response.body));
}
result = new Response<T>(_model, _fail);
});
return result;
}
///api environment ///api environment
Future<http.Response> _httpConnection( Future<http.Response> _httpConnection(
String url, Map<String, String> headers, Object body) async { String url, Map<String, String> headers, Object body) async {
......
import 'package:feelverapp/ui/review_shop/review_shop_presenter.dart';
import 'package:feelverapp/util/SizeConfig.dart'; import 'package:feelverapp/util/SizeConfig.dart';
import 'package:feelverapp/util/rating_star.dart'; import 'package:feelverapp/util/rating_star.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
...@@ -10,6 +11,23 @@ class ReviewShopPage extends StatefulWidget { ...@@ -10,6 +11,23 @@ class ReviewShopPage extends StatefulWidget {
class _ReviewShopPageState extends State<ReviewShopPage> { class _ReviewShopPageState extends State<ReviewShopPage> {
double rate1 = 0; double rate1 = 0;
ReviewshopPresenter presenter;
@override
void initState() {
super.initState();
presenter = ReviewshopPresenter(this);
presenter.Commentlist();
}
@override
void dispose() {
super.dispose();
}
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
SizeConfig(context); SizeConfig(context);
...@@ -26,6 +44,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> { ...@@ -26,6 +44,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
fontFamily: "SF_Pro_Text", fontFamily: "SF_Pro_Text",
fontWeight: FontWeight.w500), fontWeight: FontWeight.w500),
), ),
), ),
body: _setupView(), body: _setupView(),
); );
...@@ -46,10 +65,10 @@ class _ReviewShopPageState extends State<ReviewShopPage> { ...@@ -46,10 +65,10 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
Widget containt() { Widget containt() {
return Expanded( return Expanded(
child: Container( child: Container(
child: ListView.builder( child: presenter.reviewShopModel == null ? Container():ListView.builder(
itemCount: 3, itemCount: presenter.reviewShopModel.result[0].comment.length,
itemBuilder: (context, i) { itemBuilder: (context, i) {
return list(); return list(presenter.reviewShopModel.result[i].comment[i].infoCustomer.name);
}), }),
), ),
); );
...@@ -227,7 +246,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> { ...@@ -227,7 +246,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
); );
} }
Widget list() { Widget list(String name,) {
return Card( return Card(
child: Container( child: Container(
// color: Colors.deepPurpleAccent, // color: Colors.deepPurpleAccent,
...@@ -263,7 +282,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> { ...@@ -263,7 +282,7 @@ class _ReviewShopPageState extends State<ReviewShopPage> {
child: Row( child: Row(
children: <Widget>[ children: <Widget>[
Text( Text(
'Rattaya Pratumkan', name,
style: TextStyle( style: TextStyle(
fontSize: SizeConfig.getFontSize(20), fontSize: SizeConfig.getFontSize(20),
color: Colors.black), color: Colors.black),
......
import 'package:feelverapp/model/reviewshop/reviewshop_Model.dart';
import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/review_shop/review_shop_page.dart';
import 'package:flutter/material.dart';
class ReviewshopPresenter extends BasePresenter<ReviewShopPage>{
Api _api;
final formkey = GlobalKey<FormState>();
ReviewShopModel reviewShopModel;
ReviewshopPresenter(State<ReviewShopPage> state) : super(state);
Commentlist() async{
_api = Api<ReviewShopModel>();
var res = await _api.reviewshop({
"id": "284",
});
if(res.fail == null){
setState(() {
reviewShopModel = res.success;
});
}else{
print('res Fail');
}
}
}
\ No newline at end of file
...@@ -222,7 +222,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage> ...@@ -222,7 +222,7 @@ class _ShopNearbyPlacesPageState extends State<ShopNearbyPlacesPage>
context, context,
CupertinoPageRoute( CupertinoPageRoute(
builder: (context) => ShopListDetail( builder: (context) => ShopListDetail(
id: id, // id: id,
), ),
), ),
); );
......
...@@ -24,6 +24,7 @@ class _ShopListDetailState extends State<ShopListDetail> { ...@@ -24,6 +24,7 @@ class _ShopListDetailState extends State<ShopListDetail> {
print(widget.id); print(widget.id);
presenter = ShoplistdetailPresenter(this); presenter = ShoplistdetailPresenter(this);
presenter.Detai(widget.id); presenter.Detai(widget.id);
presenter.getid();
// List values = presenter.model.result[0].location.split(","); // split() will split from . and gives new List with separated elements. // List values = presenter.model.result[0].location.split(","); // split() will split from . and gives new List with separated elements.
//values.forEach(print); //values.forEach(print);
...@@ -142,32 +143,23 @@ class _ShopListDetailState extends State<ShopListDetail> { ...@@ -142,32 +143,23 @@ class _ShopListDetailState extends State<ShopListDetail> {
focusColor:Color(0xFFDD175F), focusColor:Color(0xFFDD175F),
splashColor: Color(0xFFDD175F), splashColor: Color(0xFFDD175F),
onTap: () { onTap: () {
print("add fav");
setState(() { setState(() {
fav?fav=false:fav=true; presenter.fav?presenter.fav=false:
});
showDialog( presenter.Addfav(widget.id);
context: context,
builder: (context) {
Future.delayed(Duration(seconds: 1), () {
Navigator.of(context).pop(true);
});
return AlertDialog(
content:ImageIcon(
AssetImage('assets/images/ic_fav_list.png'),
color:fav?Color(0xFFDD175F): Colors.grey,
size: SizeConfig.getFontSize(30),
) ,
title:Center(child: Text('บันทึกสำเร็จ')),
);
}); });
}, },
child:ImageIcon( child:ImageIcon(
AssetImage('assets/images/ic_fav_list.png'), AssetImage('assets/images/ic_fav_list.png'),
color:fav?Color(0xFFDD175F): Colors.white, color:presenter.fav?Color(0xFFDD175F): Colors.white,
size: SizeConfig.getFontSize(30), size: SizeConfig.getFontSize(30),
), ),
),), ),),
...@@ -307,6 +299,7 @@ class _ShopListDetailState extends State<ShopListDetail> { ...@@ -307,6 +299,7 @@ class _ShopListDetailState extends State<ShopListDetail> {
), ),
_detail(), _detail(),
_servicelist(), _servicelist(),
], ],
), ),
); );
...@@ -314,8 +307,16 @@ class _ShopListDetailState extends State<ShopListDetail> { ...@@ -314,8 +307,16 @@ class _ShopListDetailState extends State<ShopListDetail> {
_servicelist() { _servicelist() {
return Column( return Container(
padding: EdgeInsets.only(left:10,right:10),
child:
Column(
children: <Widget>[ children: <Widget>[
Container( Container(
padding: EdgeInsets.only( padding: EdgeInsets.only(
top: SizeConfig.getPadding(15), top: SizeConfig.getPadding(15),
...@@ -335,19 +336,10 @@ class _ShopListDetailState extends State<ShopListDetail> { ...@@ -335,19 +336,10 @@ class _ShopListDetailState extends State<ShopListDetail> {
), ),
), ),
Column(
children:
List.generate( presenter.model.result[0].openHour.length,(i) {
Container(
height: 600,
padding: EdgeInsets.only(
top: SizeConfig.getPadding(0),
left: SizeConfig.getPadding(24),
right: SizeConfig.getPadding(24),
bottom: SizeConfig.getPadding(5),
),
alignment: Alignment.topLeft,
child:ListView.builder(
itemCount: presenter.model.result[0].openHour.length,
itemBuilder: (context, i) {
return Column(children: [ return Column(children: [
SizedBox(height: 30,), SizedBox(height: 30,),
Align( Align(
...@@ -503,7 +495,9 @@ class _ShopListDetailState extends State<ShopListDetail> { ...@@ -503,7 +495,9 @@ class _ShopListDetailState extends State<ShopListDetail> {
width: MediaQuery.of(context).size.width - 40, width: MediaQuery.of(context).size.width - 40,
color: Colors.grey, color: Colors.grey,
), ),
], ],
),
); );
} }
......
import 'package:feelverapp/model/favorite/addfav_model.dart';
import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart'; import 'package:feelverapp/model/shoplistdetail/shoplistdetail_Model.dart';
import 'package:feelverapp/service/Loading.dart'; import 'package:feelverapp/service/Loading.dart';
import 'package:feelverapp/service/api.dart'; import 'package:feelverapp/service/api.dart';
import 'package:feelverapp/service/base_presenter.dart'; import 'package:feelverapp/service/base_presenter.dart';
import 'package:feelverapp/ui/shop/shop_list_detail.dart'; import 'package:feelverapp/ui/shop/shop_list_detail.dart';
import 'package:feelverapp/util/SizeConfig.dart';
import 'package:flutter/material.dart'; import 'package:flutter/material.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:url_launcher/url_launcher.dart'; import 'package:url_launcher/url_launcher.dart';
...@@ -11,7 +14,13 @@ class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{ ...@@ -11,7 +14,13 @@ class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{
Api _api; Api _api;
final formkey = GlobalKey<FormState>(); final formkey = GlobalKey<FormState>();
shoplistdetailModel model; shoplistdetailModel model;
AddfavModel addmodel;
bool fav=false;
ShoplistdetailPresenter(State<ShopListDetail> state) : super(state); ShoplistdetailPresenter(State<ShopListDetail> state) : super(state);
String uid;
Detai(String id) async{ Detai(String id) async{
...@@ -33,6 +42,54 @@ class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{ ...@@ -33,6 +42,54 @@ class ShoplistdetailPresenter extends BasePresenter<ShopListDetail>{
print('res Fail'); print('res Fail');
} }
} }
getid() async {
SharedPreferences pref = await SharedPreferences.getInstance();
setState(() {
uid = pref.getString('Id');
});
return uid;
}
Addfav(String id) async{
LoadingView(state.context).show();
_api = Api<AddfavModel>();
var res = await _api.addfav({
"customer_id": uid,
"store_id":id,
"vendor_id":id,
"product_id":id,
});
LoadingView(state.context).hide();
if (res.fail == null) {
setState(() {
addmodel = res.success;
print("complete");
fav=true;
});
showDialog(
context: state.context,
builder: (context) {
Future.delayed(Duration(seconds: 1), () {
Navigator.of(context).pop(true);
});
return AlertDialog(
content:ImageIcon(
AssetImage('assets/images/ic_fav_list.png'),
color:fav?Color(0xFFDD175F): Colors.grey,
size: SizeConfig.getFontSize(30),
) ,
title:Center(child: Text('บันทึกสำเร็จ')),
);
});
} else {
print('res Fail');
}
}
gotoDirection(String lat,String lng){ gotoDirection(String lat,String lng){
print("debug"); print("debug");
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment