debugging changes

mirza_development
Faiz Hashmi 2 years ago
parent dc145661c8
commit d029656866

@ -973,7 +973,7 @@ class AppointmentsVM extends BaseVM {
Utils.showToast("${genericRespModel.message.toString()}"); Utils.showToast("${genericRespModel.message.toString()}");
return; return;
} }
if (genericRespModel.data == 1) { if (genericRespModel.messageStatus == 1) {
context.read<DashboardVmCustomer>().onNavbarTapped(1); context.read<DashboardVmCustomer>().onNavbarTapped(1);
applyFilterOnAppointmentsVM( applyFilterOnAppointmentsVM(
appointmentStatusEnum: AppointmentStatusEnum.cancelled); appointmentStatusEnum: AppointmentStatusEnum.cancelled);

@ -94,10 +94,9 @@ class ChatVM extends ChangeNotifier {
} }
Future<void> onNewMessageReceived({required List<ChatMessageModel> messages, required BuildContext context}) async { Future<void> onNewMessageReceived({required List<ChatMessageModel> messages, required BuildContext context}) async {
log("message I received in onNewMessageReceived ${messages.first.toString()}");
if (AppState().currentAppType == AppType.customer) { if (AppState().currentAppType == AppType.customer) {
for (var msg in messages) { for (var msg in messages) {
log("printing senderUserID: ${msg.senderUserID}");
log("printing providerUserId: ${serviceProviderOffersList.first.providerUserId}");
int providerIndex = serviceProviderOffersList.indexWhere((element) => element.providerUserId == msg.senderUserID); int providerIndex = serviceProviderOffersList.indexWhere((element) => element.providerUserId == msg.senderUserID);
if (providerIndex != -1) { if (providerIndex != -1) {
serviceProviderOffersList[providerIndex].chatMessages!.add(msg); serviceProviderOffersList[providerIndex].chatMessages!.add(msg);
@ -105,9 +104,11 @@ class ChatVM extends ChangeNotifier {
} }
} else { } else {
for (var msg in messages) { for (var msg in messages) {
int providerIndex = context.read<RequestsVM>().myFilteredRequests.indexWhere((element) => element.customerUserID == msg.receiverUserID); int providerIndex = context.read<RequestsVM>().myFilteredRequests.indexWhere(
(element) => element.customerUserID == msg.receiverUserID,
); // Where we need to call this function for saving a message in chat we will use receiverUserID and in those cases where received ID is null , it means it is a signal R call
log("here is it: $providerIndex"); log("here is it: $providerIndex");
log("here is it: ${msg.senderUserID}"); log("here is it: ${msg.receiverUserID}");
log("here is it: ${context.read<RequestsVM>().myFilteredRequests.first.customerUserID.toString()}"); log("here is it: ${context.read<RequestsVM>().myFilteredRequests.first.customerUserID.toString()}");
if (providerIndex != -1) { if (providerIndex != -1) {
context.read<RequestsVM>().addChatMessagesInRequestsModel(msg: msg, index: providerIndex); context.read<RequestsVM>().addChatMessagesInRequestsModel(msg: msg, index: providerIndex);
@ -222,6 +223,8 @@ class ChatVM extends ChangeNotifier {
requestID: requestId, requestID: requestId,
senderName: name, senderName: name,
senderUserID: userId, senderUserID: userId,
chatMessageTypeEnum: ChatMessageTypeEnum.freeText,
receiverUserID: receiverId,
); );
if (AppState().currentAppType == AppType.customer) { if (AppState().currentAppType == AppType.customer) {
@ -230,7 +233,7 @@ class ChatVM extends ChangeNotifier {
serviceProviderOffersList[providerIndex].chatMessages!.add(chatMessageModel); serviceProviderOffersList[providerIndex].chatMessages!.add(chatMessageModel);
} }
} else { } else {
int providerIndex = context.read<RequestsVM>().myFilteredRequests.indexWhere((element) => element.customerID == receiverId); int providerIndex = context.read<RequestsVM>().myFilteredRequests.indexWhere((element) => element.customerUserID == receiverId);
if (providerIndex != -1) { if (providerIndex != -1) {
context.read<RequestsVM>().addChatMessagesInRequestsModel(msg: chatMessageModel, index: providerIndex); context.read<RequestsVM>().addChatMessagesInRequestsModel(msg: chatMessageModel, index: providerIndex);
} }

@ -241,8 +241,7 @@ class RequestsVM extends BaseVM {
} }
//Request Management //Request Management
String price = "", String price = "", description = "";
description = "";
updatePrice(String v) { updatePrice(String v) {
price = v; price = v;
@ -255,9 +254,7 @@ class RequestsVM extends BaseVM {
Future<VehiclePostingImages> convertFileToRequestPostingImages({required File file}) async { Future<VehiclePostingImages> convertFileToRequestPostingImages({required File file}) async {
List<int> imageBytes = await file.readAsBytes(); List<int> imageBytes = await file.readAsBytes();
String image = base64Encode(imageBytes); String image = base64Encode(imageBytes);
String fileName = file.path String fileName = file.path.split('/').last;
.split('/')
.last;
VehiclePostingImages vehiclePostingImages = VehiclePostingImages( VehiclePostingImages vehiclePostingImages = VehiclePostingImages(
imageName: fileName, imageName: fileName,
imageStr: image, imageStr: image,
@ -404,7 +401,7 @@ class RequestsVM extends BaseVM {
notifyListeners(); notifyListeners();
} }
Future<void> onSendOfferPressed({ Future<void> onSendOfferPressed({
required BuildContext context, required BuildContext context,
required String receiverId, required String receiverId,
required String message, required String message,
@ -425,20 +422,29 @@ class RequestsVM extends BaseVM {
context: context, context: context,
); );
if (status) { if (status) {
final senderName = AppState().getUser.data!.userInfo!.firstName; final senderName = AppState().getUser.data!.userInfo!.firstName;
final senderId = AppState().getUser.data!.userInfo!.userId; final senderId = AppState().getUser.data!.userInfo!.userId;
// resetSendOfferBottomSheet(); // resetSendOfferBottomSheet();
Navigator.pop(context); Navigator.pop(context);
ChatMessageModel chatMessageModel = ChatMessageModel( ChatMessageModel chatMessageModel = ChatMessageModel(
isMyMessage: true, isMyMessage: true,
chatText: message, chatText: message,
messageType: ChatMessageTypeEnum.freeText.getIdFromChatMessageTypeEnum(), messageType: ChatMessageTypeEnum.offer.getIdFromChatMessageTypeEnum(),
senderName: senderName, senderName: senderName,
senderUserID: senderId, senderUserID: senderId,
receiverUserID: receiverId receiverUserID: receiverId,
); chatMessageTypeEnum: ChatMessageTypeEnum.offer,
requestID: requestModel.id,
offerStatus: RequestOfferStatusEnum.offer.getIdFromRequestOfferStatusEnum(),
reqOffer: ReqOffer(
offerStatus: RequestOfferStatusEnum.offer.getIdFromRequestOfferStatusEnum(),
requestID: requestModel.id,
price: double.parse(offerPrice),
requestOfferStatusEnum: RequestOfferStatusEnum.offer,
comment: message,
offerStatusText: "",
));
context.read<ChatVM>().onNewMessageReceived(messages: [chatMessageModel], context: context); context.read<ChatVM>().onNewMessageReceived(messages: [chatMessageModel], context: context);
if (!isFromChatScreen) { if (!isFromChatScreen) {
ChatViewArguments chatViewArguments = ChatViewArguments( ChatViewArguments chatViewArguments = ChatViewArguments(

@ -146,12 +146,12 @@ class ChatView extends StatelessWidget {
size: 30, size: 30,
).onPress( ).onPress(
() async { () async {
log("chatViewArguments.receiverId:${chatViewArguments.receiverId}"); log("chatViewArguments.requestId:${chatViewArguments.requestId}");
final status = await chatVM.onTextMessageSend( final status = await chatVM.onTextMessageSend(
context: context, context: context,
receiverId: chatViewArguments.receiverId, receiverId: chatViewArguments.receiverId,
message: chatVM.chatMessageText, message: chatVM.chatMessageText,
requestId: chatViewArguments.chatTypeEnum == ChatTypeEnum.requestOffer ? chatViewArguments.requestId ?? 0 : 0, requestId: chatViewArguments.requestId ?? 0,
offerPrice: "0.0", offerPrice: "0.0",
chatMessageType: ChatMessageTypeEnum.freeText, chatMessageType: ChatMessageTypeEnum.freeText,
); );
@ -253,7 +253,7 @@ class _ChatMessageCustomWidgetState extends State<ChatMessageCustomWidget> {
Row( Row(
crossAxisAlignment: CrossAxisAlignment.end, crossAxisAlignment: CrossAxisAlignment.end,
children: [ children: [
"${chatMessageModel.reqOffer!.price}".toText(fontSize: 19, isBold: true, color: MyColors.white), "${chatMessageModel.reqOffer!.price}".toText(fontSize: 19, isBold: true, color: AppState().currentAppType == AppType.provider ? MyColors.white : MyColors.darkTextColor),
5.width, 5.width,
"SAR".toText(color: MyColors.lightTextColor, height: 2.2, fontSize: 10, isBold: true), "SAR".toText(color: MyColors.lightTextColor, height: 2.2, fontSize: 10, isBold: true),
], ],
@ -361,6 +361,9 @@ class _ChatMessageCustomWidgetState extends State<ChatMessageCustomWidget> {
@override @override
Widget build(BuildContext context) { Widget build(BuildContext context) {
log("here message type : ${widget.chatMessageModel.chatMessageTypeEnum}");
log("here message type : ${widget.chatMessageModel.chatText}");
return Directionality( return Directionality(
textDirection: (widget.chatMessageModel.isMyMessage ?? false) ? TextDirection.rtl : TextDirection.ltr, textDirection: (widget.chatMessageModel.isMyMessage ?? false) ? TextDirection.rtl : TextDirection.ltr,
// textDirection: (widget.chatMessageModel.isMyMessage ?? false) ? TextDirection.rtl : TextDirection.ltr, // textDirection: (widget.chatMessageModel.isMyMessage ?? false) ? TextDirection.rtl : TextDirection.ltr,

Loading…
Cancel
Save