Updated Code

pull/3/head
FaizHashmiCS22 3 years ago
parent 6acbcc7e1d
commit 23ebbcb74b

@ -1,5 +1,5 @@
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/models/services/branch_service_model.dart';
class BranchDetailModel {
final int? id;
@ -16,7 +16,7 @@ class BranchDetailModel {
final String? closeTime;
final int? status;
final dynamic statusText;
final List<ServiceModel>? branchServices;
final List<BranchServiceModel>? branchServices;
List<CategoryData>? categories;
bool isExpanded;
@ -55,7 +55,7 @@ class BranchDetailModel {
closeTime: json["closeTime"],
status: json["status"],
statusText: json["statusText"],
branchServices: json["serviceProviderServices"] == null ? [] : List<ServiceModel>.from(json["serviceProviderServices"]!.map((x) => ServiceModel.fromJson(x))),
branchServices: json["serviceProviderServices"] == null ? [] : List<BranchServiceModel>.from(json["serviceProviderServices"]!.map((x) => BranchServiceModel.fromJson(x))),
categories: [],
isExpanded: false,
);

@ -6,7 +6,7 @@ import 'dart:convert';
import 'package:equatable/equatable.dart';
import 'package:mc_common_app/models/provider_branches_models/provider_profile_model.dart';
import 'package:mc_common_app/models/services/service_model.dart';
import 'package:mc_common_app/models/services/branch_service_model.dart';
Category categoryFromJson(String str) => Category.fromJson(json.decode(str));
@ -60,7 +60,7 @@ class CategoryData extends Equatable {
dynamic? serviceCategoryImageUrl;
String? branchId;
String? branchName;
List<ServiceModel>? services;
List<BranchServiceModel>? services;
factory CategoryData.fromJson(Map<String, dynamic> json) => CategoryData(
id: json["id"] == null ? null : json["id"],

@ -1,32 +1,32 @@
class ProviderCategoryModel {
int? id;
String? categoryName;
String? categoryNameN;
String? serviceCategoryIconUrl;
String? serviceCategoryImageUrl;
bool? isActive;
bool? isSelected;
ProviderCategoryModel({this.id, this.categoryName, this.categoryNameN, this.serviceCategoryIconUrl, this.serviceCategoryImageUrl, this.isActive, this.isSelected = false});
ProviderCategoryModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
categoryName = json['categoryName'];
categoryNameN = json['categoryNameN'];
serviceCategoryIconUrl = json['serviceCategoryIconUrl'];
serviceCategoryImageUrl = json['serviceCategoryImageUrl'];
isActive = json['isActive'];
isSelected = false;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['categoryName'] = categoryName;
data['categoryNameN'] = categoryNameN;
data['serviceCategoryIconUrl'] = serviceCategoryIconUrl;
data['serviceCategoryImageUrl'] = serviceCategoryImageUrl;
data['isActive'] = isActive;
return data;
}
}
// class ProviderCategoryModel {
// int? id;
// String? categoryName;
// String? categoryNameN;
// String? serviceCategoryIconUrl;
// String? serviceCategoryImageUrl;
// bool? isActive;
// bool? isSelected;
//
// ProviderCategoryModel({this.id, this.categoryName, this.categoryNameN, this.serviceCategoryIconUrl, this.serviceCategoryImageUrl, this.isActive, this.isSelected = false});
//
// ProviderCategoryModel.fromJson(Map<String, dynamic> json) {
// id = json['id'];
// categoryName = json['categoryName'];
// categoryNameN = json['categoryNameN'];
// serviceCategoryIconUrl = json['serviceCategoryIconUrl'];
// serviceCategoryImageUrl = json['serviceCategoryImageUrl'];
// isActive = json['isActive'];
// isSelected = false;
// }
//
// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = <String, dynamic>{};
// data['id'] = id;
// data['categoryName'] = categoryName;
// data['categoryNameN'] = categoryNameN;
// data['serviceCategoryIconUrl'] = serviceCategoryIconUrl;
// data['serviceCategoryImageUrl'] = serviceCategoryImageUrl;
// data['isActive'] = isActive;
// return data;
// }
// }

@ -1,65 +1,65 @@
class ProviderServiceModel {
int? id;
String? description;
String? descriptionN;
String? serviceIconUrl;
String? serviceImageUrl;
int? serviceCategoryID;
bool? isActive;
String? categoryName;
bool? ispartial;
int? appointmentPricePercentage;
int? refundAmountPercentage;
bool? isSelected;
ProviderServiceModel(
{this.id,
this.description,
this.descriptionN,
this.serviceIconUrl,
this.serviceImageUrl,
this.serviceCategoryID,
this.isActive,
this.categoryName,
this.ispartial,
this.appointmentPricePercentage,
this.refundAmountPercentage,
this.isSelected = false,
});
ProviderServiceModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
description = json['description'];
descriptionN = json['descriptionN'];
serviceIconUrl = json['serviceIconUrl'];
serviceImageUrl = json['serviceImageUrl'];
serviceCategoryID = json['serviceCategoryID'];
isActive = json['isActive'];
categoryName = json['categoryName'];
ispartial = json['ispartial'];
appointmentPricePercentage = json['appointmentPricePercentage'];
refundAmountPercentage = json['refundAmountPercentage'];
isSelected = false;
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = <String, dynamic>{};
data['id'] = id;
data['description'] = description;
data['descriptionN'] = descriptionN;
data['serviceIconUrl'] = serviceIconUrl;
data['serviceImageUrl'] = serviceImageUrl;
data['serviceCategoryID'] = serviceCategoryID;
data['isActive'] = isActive;
data['categoryName'] = categoryName;
data['ispartial'] = ispartial;
data['appointmentPricePercentage'] = appointmentPricePercentage;
data['refundAmountPercentage'] = refundAmountPercentage;
return data;
}
@override
String toString() {
return 'ProviderServiceModel{id: $id, description: $description, descriptionN: $descriptionN, serviceIconUrl: $serviceIconUrl, serviceImageUrl: $serviceImageUrl, serviceCategoryID: $serviceCategoryID, isActive: $isActive, categoryName: $categoryName, ispartial: $ispartial, appointmentPricePercentage: $appointmentPricePercentage, refundAmountPercentage: $refundAmountPercentage, isSelected: $isSelected}';
}
}
// class ProviderServiceModel {
// int? id;
// String? description;
// String? descriptionN;
// String? serviceIconUrl;
// String? serviceImageUrl;
// int? serviceCategoryID;
// bool? isActive;
// String? categoryName;
// bool? ispartial;
// int? appointmentPricePercentage;
// int? refundAmountPercentage;
// bool? isSelected;
//
// ProviderServiceModel(
// {this.id,
// this.description,
// this.descriptionN,
// this.serviceIconUrl,
// this.serviceImageUrl,
// this.serviceCategoryID,
// this.isActive,
// this.categoryName,
// this.ispartial,
// this.appointmentPricePercentage,
// this.refundAmountPercentage,
// this.isSelected = false,
// });
//
// ProviderServiceModel.fromJson(Map<String, dynamic> json) {
// id = json['id'];
// description = json['description'];
// descriptionN = json['descriptionN'];
// serviceIconUrl = json['serviceIconUrl'];
// serviceImageUrl = json['serviceImageUrl'];
// serviceCategoryID = json['serviceCategoryID'];
// isActive = json['isActive'];
// categoryName = json['categoryName'];
// ispartial = json['ispartial'];
// appointmentPricePercentage = json['appointmentPricePercentage'];
// refundAmountPercentage = json['refundAmountPercentage'];
// isSelected = false;
// }
//
// Map<String, dynamic> toJson() {
// final Map<String, dynamic> data = <String, dynamic>{};
// data['id'] = id;
// data['description'] = description;
// data['descriptionN'] = descriptionN;
// data['serviceIconUrl'] = serviceIconUrl;
// data['serviceImageUrl'] = serviceImageUrl;
// data['serviceCategoryID'] = serviceCategoryID;
// data['isActive'] = isActive;
// data['categoryName'] = categoryName;
// data['ispartial'] = ispartial;
// data['appointmentPricePercentage'] = appointmentPricePercentage;
// data['refundAmountPercentage'] = refundAmountPercentage;
// return data;
// }
//
// @override
// String toString() {
// return 'ProviderServiceModel{id: $id, description: $description, descriptionN: $descriptionN, serviceIconUrl: $serviceIconUrl, serviceImageUrl: $serviceImageUrl, serviceCategoryID: $serviceCategoryID, isActive: $isActive, categoryName: $categoryName, ispartial: $ispartial, appointmentPricePercentage: $appointmentPricePercentage, refundAmountPercentage: $refundAmountPercentage, isSelected: $isSelected}';
// }
// }

@ -1,4 +1,4 @@
class ServiceModel {
class BranchServiceModel {
final int? serviceProviderServiceId;
final dynamic providerServiceDescription;
final int? categoryId;
@ -15,7 +15,7 @@ class ServiceModel {
final int? itemsCount;
bool isExpanded;
ServiceModel({
BranchServiceModel({
this.serviceProviderServiceId,
this.providerServiceDescription,
this.categoryId,
@ -33,7 +33,7 @@ class ServiceModel {
required this.isExpanded,
});
factory ServiceModel.fromJson(Map<String, dynamic> json) => ServiceModel(
factory BranchServiceModel.fromJson(Map<String, dynamic> json) => BranchServiceModel(
serviceProviderServiceId: json["serviceProviderServiceID"],
providerServiceDescription: json["providerServiceDescription"],
categoryId: json["categoryID"],

@ -1,42 +1,6 @@
// To parse this JSON data, do
//
// final itemModel = itemModelFromJson(jsonString);
import 'dart:convert';
ItemModel itemModelFromJson(String str) => ItemModel.fromJson(json.decode(str));
String itemModelToJson(ItemModel data) => json.encode(data.toJson());
class ItemModel {
final int? messageStatus;
final int? totalItemsCount;
final List<ItemData>? data;
final String? message;
ItemModel({
this.messageStatus,
this.totalItemsCount,
this.data,
this.message,
});
factory ItemModel.fromJson(Map<String, dynamic> json) => ItemModel(
messageStatus: json["messageStatus"],
totalItemsCount: json["totalItemsCount"],
data: json["data"] == null ? [] : List<ItemData>.from(json["data"]!.map((x) => ItemData.fromJson(x))),
message: json["message"],
);
Map<String, dynamic> toJson() => {
"messageStatus": messageStatus,
"totalItemsCount": totalItemsCount,
"data": data == null ? [] : List<dynamic>.from(data!.map((x) => x.toJson())),
"message": message,
};
}
class ItemData {
class ServiceItemModel {
final int? id;
final String? name;
final String? price;
@ -51,7 +15,7 @@ class ItemData {
final bool? isAppointmentCustomerLoc;
bool? isUpdate;
ItemData({
ServiceItemModel({
this.id,
this.name,
this.price,
@ -67,7 +31,7 @@ class ItemData {
this.isUpdate,
});
factory ItemData.fromJson(Map<String, dynamic> json) => ItemData(
factory ServiceItemModel.fromJson(Map<String, dynamic> json) => ServiceItemModel(
id: json["id"],
name: json["name"],
price: json["price"].toString(),

@ -2,16 +2,10 @@ 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/advertisment_models/ad_details_model.dart';
import 'package:mc_common_app/models/advertisment_models/ads_duration_model.dart';
import 'package:mc_common_app/models/advertisment_models/special_service_model.dart';
import 'package:mc_common_app/models/advertisment_models/ss_car_check_schedule_model.dart';
import 'package:mc_common_app/models/advertisment_models/ss_photo_schedule_model.dart';
import 'package:mc_common_app/models/advertisment_models/vehicle_details_models.dart';
import 'package:mc_common_app/models/appointments_models/appointment_list_model.dart';
import 'package:mc_common_app/models/generic_resp_model.dart';
import 'package:mc_common_app/models/provider_category_model.dart';
import 'package:mc_common_app/models/provider_service_model.dart';
import 'package:mc_common_app/models/user/cities.dart';
import 'package:mc_common_app/models/user/country.dart';
import 'package:mc_common_app/models/user/role.dart';
@ -23,16 +17,15 @@ abstract class CommonRepo {
Future<Role> getRoles();
Future<List<AppointmentListModel>> getMyAppointments();
Future<SSCarCheckScheduleModel> getCarCheckServiceScheduleDetails({required double lat, required double long});
Future<SSPhotoScheduleModel> getPhotographyServiceScheduleDetails({required double lat, required double long});
Future<List<ProviderCategoryModel>> getProviderServiceCategories();
// Future<List<ProviderCategoryModel>> getProviderServiceCategories();
Future<List<ProviderServiceModel>> getProviderServices({required int categoryId});
// Future<List<ProviderServiceModel>> getProviderServices({required int categoryId});
}
class CommonRepoImp implements CommonRepo {
@ -57,7 +50,6 @@ class CommonRepoImp implements CommonRepo {
return await apiClient.getJsonForObject((json) => Role.fromJson(json), ApiConsts.GetProviderRoles);
}
@override
Future<List<AppointmentListModel>> getMyAppointments() async {
var params = {
@ -104,22 +96,22 @@ class CommonRepoImp implements CommonRepo {
SSPhotoScheduleModel ssPhotoScheduleModel = SSPhotoScheduleModel.fromJson(genericRespModel.data[0]);
return ssPhotoScheduleModel;
}
@override
Future<List<ProviderCategoryModel>> getProviderServiceCategories() async {
GenericRespModel adsGenericModel = await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet);
List<ProviderCategoryModel> providerCategories = List.generate(adsGenericModel.data.length, (index) => ProviderCategoryModel.fromJson(adsGenericModel.data[index]));
return providerCategories;
}
@override
Future<List<ProviderServiceModel>> getProviderServices({required int categoryId}) async {
var postParams = {
"ServiceCategoryID": categoryId.toString(),
};
GenericRespModel adsGenericModel =
await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet, queryParameters: postParams);
List<ProviderServiceModel> providerServices = List.generate(adsGenericModel.data.length, (index) => ProviderServiceModel.fromJson(adsGenericModel.data[index]));
return providerServices;
}
//
// @override
// Future<List<ProviderCategoryModel>> getProviderServiceCategories() async {
// GenericRespModel adsGenericModel = await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet);
// List<ProviderCategoryModel> providerCategories = List.generate(adsGenericModel.data.length, (index) => ProviderCategoryModel.fromJson(adsGenericModel.data[index]));
// return providerCategories;
// }
// @override
// Future<List<ProviderServiceModel>> getProviderServices({required int categoryId}) async {
// var postParams = {
// "ServiceCategoryID": categoryId.toString(),
// };
// GenericRespModel adsGenericModel =
// await apiClient.getJsonForObject(token: appState.getUser.data!.accessToken, (json) => GenericRespModel.fromJson(json), ApiConsts.serviceCategoryGet, queryParameters: postParams);
// List<ProviderServiceModel> providerServices = List.generate(adsGenericModel.data.length, (index) => ProviderServiceModel.fromJson(adsGenericModel.data[index]));
// return providerServices;
// }
}

@ -4,7 +4,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/service_model.dart';
import 'package:mc_common_app/models/services/branch_service_model.dart';
import 'package:mc_common_app/theme/colors.dart';
import 'package:mc_common_app/widgets/extensions/extensions_widget.dart';
@ -16,7 +16,7 @@ class ProviderDetailsCard extends StatelessWidget {
final String providerRatings;
//TODO: items can be make a generaic, so we can add services/items in the future
final List<ServiceModel>? items;
final List<BranchServiceModel>? items;
final Function() onCardTapped;
const ProviderDetailsCard({

Loading…
Cancel
Save