request management and merge conflicts fixed

mirza_dev
devshafique 2 years ago
parent 5727836f3a
commit 1df4800f2d

@ -25,7 +25,7 @@ import 'package:mc_common_app/models/advertisment_models/ad_details_model.dart';
import 'package:flutter/material.dart';
import 'package:mc_common_app/models/model/provider_model.dart';
import 'package:mc_common_app/models/services/branch_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/views/advertisement/ads_detail_view.dart';
import 'package:mc_common_app/views/advertisement/create_ad_view.dart';
@ -73,8 +73,8 @@ class ProviderAppRoutes {
defineLicense: (context) => DefineLicensePage(),
dealershipSetting: (context) => DealershipPage(),
// branchList: (context) => BranchListPage(),
defineBranch: (context) => DefineBranchPage((ModalRoute.of(context)!.settings.arguments) == null ? null : (ModalRoute.of(context)!.settings.arguments as BranchModel)),
branchDetail: (context) => BranchDetailPage(ModalRoute.of(context)!.settings.arguments as BranchModel),
defineBranch: (context) => DefineBranchPage((ModalRoute.of(context)!.settings.arguments) == null ? null : (ModalRoute.of(context)!.settings.arguments as BranchDetailModel)),
branchDetail: (context) => BranchDetailPage(ModalRoute.of(context)!.settings.arguments as BranchDetailModel),
//Appointments
appointmentDetailList: (context) => const AppointmentDetailListPage(),

@ -18,12 +18,14 @@ import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/models/post_params_model.dart';
import 'package:mc_common_app/repositories/ads_repo.dart';
import 'package:mc_common_app/repositories/common_repo.dart';
import 'package:mc_common_app/repositories/request_repo.dart';
import 'package:mc_common_app/repositories/user_repo.dart';
import 'package:mc_common_app/services/common_services.dart';
import 'package:mc_common_app/theme/app_theme.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/view_models/base_view_model.dart';
import 'package:mc_common_app/view_models/requests_view_model.dart';
import 'package:mc_common_app/view_models/user_view_model.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:provider/provider.dart';
@ -86,6 +88,13 @@ Future<void> main() async {
commonRepo: injector.get<CommonRepo>(),
),
),
ChangeNotifierProvider<RequestsVM>(
create: (_) => RequestsVM(
commonServices: injector.get<CommonAppServices>(),
commonRepo: injector.get<CommonRepo>(),
requestRepo: injector.get<RequestRepo>(),
),
),
],
child: const MyApp(),
).setupLocale());

@ -11,11 +11,11 @@ import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/models/m_response.dart';
import 'package:mc_common_app/models/model/provider_model.dart';
import 'package:mc_common_app/models/profile/branch.dart';
import 'package:mc_common_app/models/profile/categroy.dart';
import 'package:mc_common_app/models/profile/document.dart';
import 'package:mc_common_app/models/profile/services.dart';
import 'package:flutter/cupertino.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/branch.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/categroy.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/document.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/services.dart';
abstract class BranchRepo {
Future<MResponse> createBranch(String branchName, String branchDescription, String cityId, String address, String latitude, String longitude);

@ -1,10 +1,10 @@
import 'package:mc_common_app/models/provider_branches_models/profile/services.dart';
import 'package:mc_common_app/models/schedule_model.dart';
import 'package:mc_common_app/api/api_client.dart';
import 'package:mc_common_app/classes/app_state.dart';
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/config/dependencies.dart';
import 'package:mc_common_app/models/m_response.dart';
import 'package:mc_common_app/models/profile/services.dart';
abstract class ScheduleRepo {
Future<Services> getAllServices(String branchId);

@ -1,8 +1,9 @@
import 'package:mc_common_app/models/provider_branches_models/profile/services.dart';
import 'package:mc_common_app/models/schedule_model.dart';
import 'package:car_provider_app/repositories/schedule_repo.dart';
import 'package:car_provider_app/views/settings/schedule/widgets/chips_picker_item.dart';
import 'package:mc_common_app/models/m_response.dart';
import 'package:mc_common_app/models/profile/services.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/view_models/base_view_model.dart';

@ -242,10 +242,10 @@ import 'package:car_provider_app/repositories/branch_repo.dart';
import 'package:file_picker/file_picker.dart';
import 'package:mc_common_app/models/m_response.dart';
import 'package:mc_common_app/models/model/provider_model.dart';
import 'package:mc_common_app/models/profile/categroy.dart';
import 'package:mc_common_app/models/profile/document.dart';
import 'package:mc_common_app/models/profile/services.dart';
import 'package:mc_common_app/models/services/branch_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/categroy.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/document.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/services.dart';
import 'package:mc_common_app/models/services/item_model.dart';
import 'package:mc_common_app/models/services/service_model.dart';
import 'package:mc_common_app/models/user/cities.dart';
@ -344,7 +344,7 @@ class ServiceVM extends BaseVM {
setState(ViewState.idle);
}
Future<void> getAllCountriesList(BranchModel? branchData, String countryCode) async {
Future<void> getAllCountriesList(BranchDetailModel? branchData, String countryCode) async {
setState(ViewState.busy);
resetValues();
country = await commonRepo.getAllCountries();
@ -372,7 +372,7 @@ class ServiceVM extends BaseVM {
setState(ViewState.idle);
}
Future<void> getAllCities(BranchModel? branchData, String countryCode) async {
Future<void> getAllCities(BranchDetailModel? branchData, String countryCode) async {
setState(ViewState.busy);
citiesDropList.clear();
cities = null;

@ -15,6 +15,7 @@ import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/view_models/ad_view_model.dart';
import 'package:mc_common_app/view_models/requests_view_model.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/bottom_nav_bar.dart';
import 'package:provider/provider.dart';
@ -37,6 +38,7 @@ class _DashboardPageState extends State<DashboardPage> {
super.initState();
dashboardVM = Provider.of<DashboardVM>(context, listen: false);
scheduleMicrotask(() {
context.read<RequestsVM>().populateRequestsFilterList();
_onRefresh();
});
}

@ -42,55 +42,55 @@ class AdsFragment extends StatelessWidget {
child: Column(
children: [
16.height,
Consumer(
builder: (BuildContext context, AdVM adVM, Widget? child) {
return Column(
children: [
Row(
children: [
Expanded(
child: ShowFillButton(
isFilled: adVM.isExploreAdsTapped,
maxHeight: 55,
title: "Explore Ads",
txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
onPressed: () {
print("ads: ${AppState().getUser.data!.accessToken}");
adVM.updateIsExploreAds(true);
},
),
),
12.width,
Expanded(
child: ShowFillButton(
isFilled: !adVM.isExploreAdsTapped,
txtColor: !adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
maxHeight: 55,
title: "My Ads",
onPressed: () {
adVM.updateIsExploreAds(false);
},
),
),
],
).horPaddingMain(),
if (adVM.isExploreAdsTapped && adVM.exploreAds.isNotEmpty) ...[
16.height,
FiltersList(filterList: adVM.exploreAdsFilterOptions, onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(index: index), needLeftPadding: false)
.paddingOnly(left: 21),
],
if (!adVM.isExploreAdsTapped && adVM.myAds.isNotEmpty) ...[
16.height,
FiltersList(
filterList: adVM.myAdsFilterOptions,
onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(index: index, selectedFilterId: selectedFilterId),
needLeftPadding: false)
.paddingOnly(left: 21),
],
],
);
},
),
// Consumer(
// builder: (BuildContext context, AdVM adVM, Widget? child) {
// return Column(
// children: [
// Row(
// children: [
// Expanded(
// child: ShowFillButton(
// isFilled: adVM.isExploreAdsTapped,
// maxHeight: 55,
// title: "Explore Ads",
// txtColor: adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
// onPressed: () {
// print("ads: ${AppState().getUser.data!.accessToken}");
// adVM.updateIsExploreAds(true);
// },
// ),
// ),
// 12.width,
// Expanded(
// child: ShowFillButton(
// isFilled: !adVM.isExploreAdsTapped,
// txtColor: !adVM.isExploreAdsTapped ? MyColors.white : MyColors.darkTextColor,
// maxHeight: 55,
// title: "My Ads",
// onPressed: () {
// adVM.updateIsExploreAds(false);
// },
// ),
// ),
// ],
// ).horPaddingMain(),
// if (adVM.isExploreAdsTapped && adVM.exploreAds.isNotEmpty) ...[
// 16.height,
// FiltersList(filterList: adVM.exploreAdsFilterOptions, onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnExploreAds(index: index), needLeftPadding: false)
// .paddingOnly(left: 21),
// ],
// if (!adVM.isExploreAdsTapped && adVM.myAds.isNotEmpty) ...[
// 16.height,
// FiltersList(
// filterList: adVM.myAdsFilterOptions,
// onFilterTapped: (index, selectedFilterId) => adVM.applyFilterOnMyAds(index: index, selectedFilterId: selectedFilterId),
// needLeftPadding: false)
// .paddingOnly(left: 21),
// ],
// ],
// );
// },
// ),
16.height,
Expanded(
child: RefreshIndicator(

@ -4,14 +4,17 @@ import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/view_models/requests_view_model.dart';
import 'package:mc_common_app/views/requests/widget/request_item.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:mc_common_app/widgets/common_widgets/categories_list.dart';
import 'package:mc_common_app/widgets/dropdown/dropdow_field.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
import 'package:mc_common_app/widgets/tab/menu_tabs.dart';
import 'package:mc_common_app/widgets/tab/role_type_tab.dart';
import '../widget/request_list_card_widget.dart';
import 'package:provider/provider.dart';
class RequestListFragment extends StatelessWidget {
VoidCallback onBackButtonTapped;
@ -36,37 +39,70 @@ class RequestListFragment extends StatelessWidget {
body: SizedBox(
width: double.infinity,
height: double.infinity,
child: SingleChildScrollView(
child: Column(
children: [
21.height,
MenuTabs(
0,
[
DropValue(0, "Special Request", ""),
DropValue(1, "My Offers", ""),
],
onSelect: (DropValue dropValue) {},
selectedColor: MyColors.darkPrimaryColor,
),
12.height,
MenuTabs(
0,
[
DropValue(0, "Cars", ""),
DropValue(1, "Spare Parts", ""),
],
onSelect: (DropValue dropValue) {},
),
12.height,
const Padding(
padding: EdgeInsets.symmetric(horizontal: 21),
child: RequestListCardWidget(
count: 12,
),
)
],
),
child: Column(
children: [
21.height,
MenuTabs(
0,
[
DropValue(0, "Special Request", ""),
DropValue(1, "My Offers", ""),
],
onSelect: (DropValue dropValue) {},
selectedColor: MyColors.darkPrimaryColor,
),
12.height,
Expanded(
child: Consumer(builder: (BuildContext context, RequestsVM requestsVM, Widget? child) {
return Column(
children: [
ShowFillButton(
title: "title",
onPressed: () {
context.read<RequestsVM>().getRequests();
}),
16.height,
FiltersList(
filterList: requestsVM.requestsFilterOptions,
onFilterTapped: (index, selectedFilterId) => requestsVM.applyFilterOnRequestsVM(index: index),
),
8.height,
Expanded(
child: requestsVM.isRequestLoading
? const Center(child: CircularProgressIndicator())
: requestsVM.requests.isEmpty
? Center(
child: "No Request Available".toText(
isBold: true,
),
)
: ListView.separated(
itemBuilder: (context, index) {
return RequestItem(requestsVM.requests[index]);
},
separatorBuilder: (context, index) {
return 16.height;
},
itemCount: requestsVM.requests.length,
padding: const EdgeInsets.only(
left: 16,
right: 16,
bottom: 16,
top: 8,
),
),
)
],
);
}),
),
// const Padding(
// padding: EdgeInsets.symmetric(horizontal: 21),
// child: RequestListCardWidget(
// count: 12,
// ),
// )
],
),
),
);

@ -2,7 +2,7 @@ import 'dart:async';
import 'package:easy_localization/src/public_ext.dart';
import 'package:flutter/material.dart';
import 'package:geocoding/geocoding.dart';
import 'package:geolocator/geolocator.dart';
import 'package:google_maps_flutter/google_maps_flutter.dart';
import 'package:car_provider_app/generated/locale_keys.g.dart';
@ -10,7 +10,6 @@ import 'package:mc_common_app/utils/navigator.dart';
import 'package:mc_common_app/widgets/button/show_fill_button.dart';
import 'package:mc_common_app/widgets/common_widgets/app_bar.dart';
import 'package:permission_handler/permission_handler.dart';
import 'map_selection_widget.dart';
@ -118,8 +117,8 @@ class _PickLocationPageState extends State<PickLocationPage> {
Future<void> _updatePosition(CameraPosition _position) async {
latitude = _position.target.latitude;
longitude = _position.target.longitude;
List<Placemark> placemarks = await placemarkFromCoordinates(latitude, longitude);
_counter.value = '${placemarks.first.street}, ${placemarks.first.subLocality}, ${placemarks.first.locality}, ${placemarks.first.postalCode}, ${placemarks.first.country}';
// List<Placemark> placemarks = await placemarkFromCoordinates(latitude, longitude);
// _counter.value = '${placemarks.first.street}, ${placemarks.first.subLocality}, ${placemarks.first.locality}, ${placemarks.first.postalCode}, ${placemarks.first.country}';
print("Address121: " + _counter.value);
// _counter.value = (placemarks.first.name) ?? "" + " " + (placemarks.first.street ?? "") + " " + (placemarks.first.country ?? "");
}
@ -157,8 +156,9 @@ class _PickLocationPageState extends State<PickLocationPage> {
}
Future<String> getCurrentAddress() async {
List<Placemark> placemarks = await placemarkFromCoordinates(latitude, longitude);
return placemarks.first.name ?? "";
// List<Placemark> placemarks = await placemarkFromCoordinates(latitude, longitude);
// return placemarks.first.name ?? "";
return "";
}
}

@ -15,8 +15,8 @@ import 'package:mc_common_app/config/routes.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/model/provider_model.dart';
import 'package:mc_common_app/models/profile/categroy.dart';
import 'package:mc_common_app/models/services/branch_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/categroy.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
@ -29,7 +29,7 @@ import 'package:provider/provider.dart';
import '../../../generated/locale_keys.g.dart';
class BranchDetailPage extends StatelessWidget {
BranchModel branchData;
BranchDetailModel branchData;
BranchDetailPage(this.branchData);

@ -12,7 +12,7 @@ import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/m_response.dart';
import 'package:mc_common_app/models/services/branch_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
@ -72,7 +72,7 @@ class BranchListPage extends StatelessWidget {
if (model.state == ViewState.busy) {
return const Center(child: CircularProgressIndicator());
} else {
List<BranchModel> branches = [];
List<BranchDetailModel> branches = [];
if (model.branches!.data != null) {
branches = model.branches!.data!.serviceProviderBranch!.where((element) => model.selectedBranchStatus == element.statusId).toList();
}

@ -9,7 +9,7 @@ import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/m_response.dart';
import 'package:mc_common_app/models/model/provider_model.dart';
import 'package:mc_common_app/models/services/branch_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
@ -22,7 +22,7 @@ import 'package:mc_common_app/widgets/txt_field.dart';
import 'package:provider/provider.dart';
class DefineBranchPage extends StatelessWidget {
BranchModel? branchData;
BranchDetailModel? branchData;
DefineBranchPage(this.branchData);

@ -6,7 +6,7 @@ import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/int_extensions.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/generated/locale_keys.g.dart';
import 'package:mc_common_app/models/services/branch_model.dart';
import 'package:mc_common_app/models/provider_branches_models/branch_detail_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';
import 'package:mc_common_app/utils/navigator.dart';
@ -48,7 +48,7 @@ class ApprovedBranchesListSheet extends StatelessWidget {
if (model.state == ViewState.busy) {
return const Center(child: CircularProgressIndicator());
} else {
List<BranchModel> branches = [];
List<BranchDetailModel> branches = [];
if (model.branches!.data != null) {
branches = model.branches!.data!.serviceProviderBranch!.where((element) => model.selectedBranchStatus == element.statusId).toList();
}

@ -4,7 +4,7 @@ import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:mc_common_app/classes/consts.dart';
import 'package:mc_common_app/extensions/string_extensions.dart';
import 'package:mc_common_app/models/profile/categroy.dart';
import 'package:mc_common_app/models/provider_branches_models/profile/categroy.dart';
import 'package:mc_common_app/models/services/service_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/utils/enums.dart';

@ -97,6 +97,14 @@ packages:
url: "https://pub.dev"
source: hosted
version: "1.17.1"
country_code_picker:
dependency: transitive
description:
name: country_code_picker
sha256: "92818885f0e47486539f80463b66f649970506a91dd3c0731ca3ba5308324a4d"
url: "https://pub.dev"
source: hosted
version: "3.0.0"
cross_file:
dependency: transitive
description:
@ -261,38 +269,6 @@ packages:
url: "https://pub.dev"
source: hosted
version: "8.2.2"
geocoding:
dependency: transitive
description:
name: geocoding
sha256: b34c0501bbbaf3190b85bef3078b27cf66c28a8915c6d3af50d67f356aa7da31
url: "https://pub.dev"
source: hosted
version: "2.1.0"
geocoding_android:
dependency: transitive
description:
name: geocoding_android
sha256: "5a1fc0cec9b0497b44ca31c1fa8d1c891f3aded1053e6bb2eac075d3bd1bf046"
url: "https://pub.dev"
source: hosted
version: "2.1.0"
geocoding_ios:
dependency: transitive
description:
name: geocoding_ios
sha256: c85495ce8fb34e4fbd2dd8fc5f79263d622d9f88c4af948c965daf6b27a7f3a1
url: "https://pub.dev"
source: hosted
version: "2.1.0"
geocoding_platform_interface:
dependency: transitive
description:
name: geocoding_platform_interface
sha256: "8848605d307d844d89937cdb4b8ad7dfa880552078f310fa24d8a460f6dddab4"
url: "https://pub.dev"
source: hosted
version: "2.0.1"
geolocator:
dependency: transitive
description:
@ -377,10 +353,10 @@ packages:
dependency: transitive
description:
name: hexcolor
sha256: e572c3346f4b26422a281dc4c10f83022131f56f7364837671b50f53c7adc5e7
sha256: c07f4bbb9095df87eeca87e7c69e8c3d60f70c66102d7b8d61c4af0453add3f6
url: "https://pub.dev"
source: hosted
version: "2.0.7"
version: "3.0.1"
http:
dependency: transitive
description:

Loading…
Cancel
Save