Merge branch 'development_sikander' into 'master'

Development sikander

See merge request mirza.shafique/mohem_flutter_app!44
faiz_marathon_signalR_critical
Sikander Saleem 2 years ago
commit c92cd5c20c

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.3 KiB

@ -1,7 +1,6 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 161.9 115.9" style="enable-background:new 0 0 161.9 115.9;" xml:space="preserve">
<?xml version="1.0" encoding="utf-8"?><!-- Generator: Adobe Illustrator 26.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" x="0px" y="0px"
viewBox="0 0 161.9 115.9" style="enable-background:new 0 0 161.9 115.9;" xml:space="preserve">
<style type="text/css">
.st0{fill-rule:evenodd;clip-rule:evenodd;fill:#FFFFFF;}
.st1{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_1_);}
@ -9,54 +8,51 @@
.st3{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000167385588366204257280000005677836094560819131_);}
.st4{fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000030484853887028042530000009742356117098638990_);}
</style>
<g id="Layer_2_00000008146416357898561640000016925561153751568014_">
<g id="Layer_2_00000008146416357898561640000016925561153751568014_">
<g id="Cover_Page">
<path class="st0" d="M23.5,110.2h4.3v-27h-5L14,95.9L5,83.2H0v27h4.3V89.5l9.1,12.8h0.9l9.2-12.8V110.2z"/>
<path class="st0" d="M41.2,90.8c-5.5,0-9.9,4.4-9.9,9.9c0,5.5,4.4,9.9,9.9,9.9c5.2,0.2,9.7-3.8,9.9-9c0-0.3,0-0.6,0-0.9
c0.2-5.3-4-9.7-9.3-9.9C41.6,90.8,41.4,90.8,41.2,90.8z M41.2,94.4c3.3,0.1,5.9,2.8,5.9,6.1c0,0.1,0,0.1,0,0.2
c0.2,3.2-2.3,6-5.6,6.1c-3.2,0.2-6-2.3-6.1-5.6c0-0.2,0-0.4,0-0.6c-0.2-3.2,2.2-6,5.4-6.2C40.9,94.4,41,94.4,41.2,94.4z"/>
<path class="st0" d="M54.2,83.1v27.1h4v-9.9c-0.2-3,2.1-5.5,5-5.7c0.1,0,0.2,0,0.2,0c2.9,0,4.8,1.8,4.8,5.4v10.2h4V99.9
c0-5.5-2.5-9.1-7.8-9.1c-2.5-0.1-4.8,1.1-6.2,3.1V83.1H54.2z"/>
<path class="st0" d="M94.8,102.2c0.7-7.8-3.4-11.5-9.6-11.5c-5.3-0.2-9.8,3.9-10,9.2c0,0.3,0,0.5,0,0.8c0,6.1,4,10.1,10.3,10.1
c3.1,0.1,6-1.1,8.2-3.3l-2.6-2.5c-1.5,1.4-3.5,2.1-5.5,2.1c-3.5,0-5.9-1.9-6.2-4.8L94.8,102.2z M79.4,98.8
c0.5-2.8,3.1-4.8,5.9-4.6c3.2,0,5.4,1.6,5.7,4.6H79.4z"/>
<path class="st0" d="M114.9,110.2V99.8c-0.2-2.6,1.7-4.9,4.3-5.1c0.1,0,0.2,0,0.3,0c2.8,0,4.2,2.2,4.2,5.1v10.5h4V99.7
c0-5.5-2.8-8.8-8.1-8.8c-2.7-0.1-5.3,1.3-6.5,3.8c-0.9-2.5-3.4-4-6-3.8c-2.2-0.1-4.2,1-5.3,2.9l-0.3-2.6h-3.7v19.1h4V99.8
c0-2.8,1.8-5.2,4.6-5.2c2.8,0,4.4,2.4,4.4,5.2v10.5H114.9z"/>
<path class="st0" d="M149,110.2V99.8c-0.2-2.6,1.7-4.9,4.4-5.1c0.1,0,0.2,0,0.3,0c2.8,0,4.2,2.2,4.2,5.1v10.5h4V99.7
c0-5.5-2.8-8.8-8.1-8.8c-2.7-0.1-5.3,1.3-6.5,3.8c-0.9-2.4-3.3-4-6-3.8c-2.2-0.1-4.2,1-5.3,2.9l-0.3-2.6h-3.8v19.1h4V99.8
c0-2.8,1.8-5.2,4.6-5.2c2.8,0,4.4,2.4,4.4,5.2v10.5H149z"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="55.98" y1="-10.0986" x2="163.1928" y2="72.1628" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8"/>
<stop offset="1" style="stop-color:#C1D967"/>
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="55.98" y1="-10.0986"
x2="163.1928" y2="72.1628" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient>
<path class="st1" d="M117.4,20.5c-4.2,0-7.6-3.4-7.6-7.6c0-4.2,3.4-7.6,7.6-7.6c4.2,0,7.6,3.4,7.6,7.6c0,0,0,0,0,0
C125,17.1,121.6,20.5,117.4,20.5z"/>
<linearGradient id="SVGID_00000026872133431724139420000015295225800217450885_" gradientUnits="userSpaceOnUse" x1="72.1783" y1="-15.2775" x2="150.1874" y2="44.584" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8"/>
<stop offset="1" style="stop-color:#C1D967"/>
<path class="st1" d="M117.4,20.5c-4.2,0-7.6-3.4-7.6-7.6c0-4.2,3.4-7.6,7.6-7.6c4.2,0,7.6,3.4,7.6,7.6c0,0,0,0,0,0
C125,17.1,121.6,20.5,117.4,20.5z" />
<linearGradient id="SVGID_00000026872133431724139420000015295225800217450885_"
gradientUnits="userSpaceOnUse" x1="72.1783" y1="-15.2775" x2="150.1874" y2="44.584"
gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient>
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000026872133431724139420000015295225800217450885_);" d="
<path
style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000026872133431724139420000015295225800217450885_);"
d="
M99.2,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.5c0,0.1,0,0.1,0,0.2v8.6C100.7,61,109,64,114.4,64h1.8V30.8
C107.1,30.8,99.6,21.8,99.2,12.7z"/>
<linearGradient id="SVGID_00000029033238716987721520000004689211043976606898_" gradientUnits="userSpaceOnUse" x1="54.3473" y1="-8.6399" x2="132.3564" y2="51.2215" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8"/>
<stop offset="1" style="stop-color:#C1D967"/>
C107.1,30.8,99.6,21.8,99.2,12.7z" />
<linearGradient id="SVGID_00000029033238716987721520000004689211043976606898_"
gradientUnits="userSpaceOnUse" x1="54.3473" y1="-8.6399" x2="132.3564" y2="51.2215"
gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient>
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000029033238716987721520000004689211043976606898_);" d="
<path
style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000029033238716987721520000004689211043976606898_);"
d="
M72.8,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.4c0,0.1,0,0.1,0,0.2v8.6C74.2,61,82.5,64,87.9,64h1.8V30.8
C80.6,30.8,73.1,21.8,72.8,12.7z"/>
<linearGradient id="SVGID_00000113332780290425602090000015103686907198383032_" gradientUnits="userSpaceOnUse" x1="36.5148" y1="-2.0006" x2="114.524" y2="57.8471" gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8"/>
<stop offset="1" style="stop-color:#C1D967"/>
C80.6,30.8,73.1,21.8,72.8,12.7z" />
<linearGradient id="SVGID_00000113332780290425602090000015103686907198383032_"
gradientUnits="userSpaceOnUse" x1="36.5148" y1="-2.0006" x2="114.524" y2="57.8471"
gradientTransform="matrix(1 0 0 -1 0 49.8898)">
<stop offset="0" style="stop-color:#0086C8" />
<stop offset="1" style="stop-color:#C1D967" />
</linearGradient>
<path style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000113332780290425602090000015103686907198383032_);" d="
<path
style="fill-rule:evenodd;clip-rule:evenodd;fill:url(#SVGID_00000113332780290425602090000015103686907198383032_);"
d="
M46.3,12.7c-5.7,1.8-9.5,7.1-9.5,13.1v5.1h2.4c4.7,0,8.5,3.8,8.5,8.4c0,0.1,0,0.1,0,0.2v8.6C47.7,61,56,64,61.4,64h1.8V30.8
C54.1,30.8,46.6,21.8,46.3,12.7z"/>
C54.1,30.8,46.6,21.8,46.3,12.7z" />
</g>
</g>
</svg>

Before

Width:  |  Height:  |  Size: 4.7 KiB

After

Width:  |  Height:  |  Size: 3.4 KiB

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:mohem_flutter_app/api/api_client.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/consts.dart';
import 'package:mohem_flutter_app/models/basic_member_information_model.dart';
@ -8,8 +9,6 @@ import 'package:mohem_flutter_app/models/generic_response_model.dart';
import 'package:mohem_flutter_app/models/get_mobile_login_info_list_model.dart';
import 'package:mohem_flutter_app/models/member_login_list_model.dart';
import 'package:mohem_flutter_app/api/api_client.dart';
class LoginApiClient {
static final LoginApiClient _instance = LoginApiClient._internal();

@ -1,5 +1,6 @@
import 'dart:async';
import 'package:mohem_flutter_app/api/api_client.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/consts.dart';
import 'package:mohem_flutter_app/models/generic_response_model.dart';
@ -9,8 +10,6 @@ import 'package:mohem_flutter_app/models/get_eit_transaction_list_model.dart';
import 'package:mohem_flutter_app/models/start_eit_approval_process_model.dart';
import 'package:mohem_flutter_app/models/submit_eit_transaction_list_model.dart';
import 'package:mohem_flutter_app/api/api_client.dart';
class MyAttendanceApiClient {
static final MyAttendanceApiClient _instance = MyAttendanceApiClient._internal();
@ -83,12 +82,8 @@ class MyAttendanceApiClient {
"P_MENU_TYPE": "E",
"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode,
"P_FUNCTION_NAME": pFunctionName,
// "EITTransactionTBL": list,
"EITTransactionTBL": list,
};
print(postParams);
postParams["EITTransactionTBL"] =list;
postParams.addAll(AppState().postParamsJson);
return await ApiClient().postJsonForObject((json) {
GenericResponseModel? responseData = GenericResponseModel.fromJson(json);
@ -103,13 +98,10 @@ class MyAttendanceApiClient {
"P_MENU_TYPE": "E",
"P_DESC_FLEX_CONTEXT_CODE": pDescFlexContextCode,
"P_FUNCTION_NAME": pFunctionName,
//"EITTransactionTBL": list,
// "EITTransactionTBLModel": list,
"EITTransactionTBL": list,
"EITTransactionTBLModel": list,
};
postParams.addAll(AppState().postParamsJson);
print("postParams:$postParams");
postParams["EITTransactionTBL"] = list;
postParams["EITTransactionTBLModel"] = list;
return await ApiClient().postJsonForObject((json) {
GenericResponseModel responseData = GenericResponseModel.fromJson(json);
return responseData.submitEITTransactionList!; //ESERVICESDV.fromJson(responseData.getDefaultValueList!.toJson());

@ -11,6 +11,8 @@ extension WidgetExtensions on Widget {
Widget get center => Center(child: this);
Widget circle(double _value) => ClipRRect(borderRadius: BorderRadius.circular(_value), child: this);
Widget paddingAll(double _value) => Padding(padding: EdgeInsets.all(_value), child: this);
Widget paddingOnly({double left = 0.0, double right = 0.0, double top = 0.0, double bottom = 0.0}) =>

@ -37,7 +37,7 @@ class PostParamsModel {
languageID = json['LanguageID'];
mobileType = json['MobileType'];
logInTokenID = json['LogInTokenID'];
payrollCodeStr = json['payrollCodeStr'];
payrollCodeStr = json['PayrollCodeStr'];
pLegislationCode = json['LegislationCodeStr'];
tokenID = json['TokenID'];
}
@ -49,7 +49,7 @@ class PostParamsModel {
data['LanguageID'] = this.languageID;
data['MobileType'] = this.mobileType;
data['LogInTokenID'] = this.logInTokenID;
data['payrollCodeStr'] = this.payrollCodeStr;
data['PayrollCodeStr'] = this.payrollCodeStr;
data['LegislationCodeStr'] = this.pLegislationCode;
data['TokenID'] = this.tokenID;
return data;
@ -67,7 +67,7 @@ class PostParamsModel {
data['UserName'] = this.userName;
data['P_EMAIL_ADDRESS'] = this.pEmailAddress;
data['P_SESSION_ID'] = this.pSessionId;
data['payrollCodeStr'] = this.payrollCodeStr;
data['PayrollCodeStr'] = this.payrollCodeStr;
data['LegislationCodeStr'] = this.pLegislationCode;
data['P_SELECTED_EMPLOYEE_NUMBER'] = this.pSelectedEmployeeNumber;
data['P_USER_NAME'] = this.pUserName;

@ -3,7 +3,9 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_countdown_timer/flutter_countdown_timer.dart';
import 'package:flutter_svg/flutter_svg.dart';
import 'package:mohem_flutter_app/app_state/app_state.dart';
import 'package:mohem_flutter_app/classes/colors.dart';
import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
@ -13,7 +15,6 @@ import 'package:mohem_flutter_app/provider/dashboard_provider_model.dart';
import 'package:mohem_flutter_app/ui/landing/widget/app_drawer.dart';
import 'package:mohem_flutter_app/ui/landing/widget/menus_widget.dart';
import 'package:mohem_flutter_app/ui/landing/widget/services_widget.dart';
import 'package:mohem_flutter_app/widgets/circular_avatar.dart';
import 'package:mohem_flutter_app/widgets/shimmer/dashboard_shimmer_widget.dart';
import 'package:provider/provider.dart';
@ -30,6 +31,8 @@ class _DashboardScreenState extends State<DashboardScreen> {
late DashboardProviderModel data;
final GlobalKey<ScaffoldState> _scaffoldState = GlobalKey();
int currentIndex = 0;
@override
void initState() {
super.initState();
@ -60,11 +63,19 @@ class _DashboardScreenState extends State<DashboardScreen> {
return Row(
mainAxisSize: MainAxisSize.min,
children: [
CircularAvatar(
Image.memory(
Utils.getPostBytes(
AppState().memberInformationList!.eMPLOYEEIMAGE ?? "",
),
width: 34,
height: 34,
url: "https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png",
),
fit: BoxFit.cover,
).circle(50),
// CircularAvatar(
// width: 34,
// height: 34,
// url: "https://cdn4.iconfinder.com/data/icons/professions-2-2/151/89-512.png",
// ),
8.width,
SvgPicture.asset("assets/images/side_nav.svg"),
],
@ -72,18 +83,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
_scaffoldState.currentState!.openDrawer();
});
}),
Expanded(
child: Row(
crossAxisAlignment: CrossAxisAlignment.center,
mainAxisAlignment: MainAxisAlignment.center,
mainAxisSize: MainAxisSize.min,
children: [
//AppLogo(),
8.width,
LocaleKeys.mohemm.tr().toText14()
],
),
),
Image.asset("assets/images/logos/main_mohemm_logo.png", width: 134, height: 28).expanded,
SizedBox(
width: 36,
height: 36,
@ -104,7 +104,6 @@ class _DashboardScreenState extends State<DashboardScreen> {
),
).onPress(() async {
await Navigator.pushNamed(context, AppRoutes.announcements);
})
],
).paddingOnly(left: 21, right: 21, top: 48, bottom: 7),
@ -116,7 +115,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
crossAxisAlignment: CrossAxisAlignment.start,
children: [
LocaleKeys.goodMorning.tr().toText14(color: MyColors.grey77Color),
"Mahmoud Shrouf".toText24(isBold: true),
(AppState().memberInformationList!.eMPLOYEENAME ?? "").toText24(isBold: true),
16.height,
Row(
children: [
@ -371,7 +370,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
label: LocaleKeys.itemsForSale.tr(),
),
],
currentIndex: 0,
currentIndex: currentIndex,
selectedLabelStyle: TextStyle(
fontSize: 8,
color: Color(0xff989898),
@ -385,7 +384,7 @@ class _DashboardScreenState extends State<DashboardScreen> {
type: BottomNavigationBarType.fixed,
selectedItemColor: Colors.black,
backgroundColor: Color(0xffF8F8F8),
onTap: (v) {},
onTap: (index) {},
),
);
}

@ -7,7 +7,6 @@ import 'package:mohem_flutter_app/api/my_attendance_api_client.dart';
import 'package:mohem_flutter_app/classes/utils.dart';
import 'package:mohem_flutter_app/config/routes.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/extensions/widget_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
import 'package:mohem_flutter_app/models/dyanmic_forms/get_set_values_request_model.dart';
@ -63,21 +62,33 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
String tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? "";
if (e.fORMATTYPE == "X") {
// for date format type, date format is changed
tempVar = e.eSERVICESDV?.pVALUECOLUMNNAME ?? "";
tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? "";
if (tempVar.isNotEmpty) {
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
if (!tempVar.contains("/")) {
DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
}
}
}
// else if (e.fORMATTYPE == "N") {
// // for date format type, date format is changed
// tempVar = e.eSERVICESDV?.pIDCOLUMNNAME ?? "";
// print("------------------------sEGMENTNAME:${e.sEGMENTNAME}");
// print("------------------------tempVar:$tempVar");
// if (tempVar.isNotEmpty) {
// if (!tempVar.contains("/")) {
// DateTime date = DateFormat('yyyy-MM-dd').parse(tempVar);
// tempVar = DateFormat('yyyy/MM/dd HH:mm:ss').format(date);
// }
// }
// }
return ValidateEitTransactionModel(dATEVALUE: null, nAME: e.aPPLICATIONCOLUMNNAME, nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: tempVar.toString()).toJson();
}).toList();
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_ACTION", nUMBERVALUE: null, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: "NEW_ROW").toJson());
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_EXTRA_INFO_ID", nUMBERVALUE: -1, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
values.add(ValidateEitTransactionModel(dATEVALUE: null, nAME: "PEI_OBJECT_VERSION_NUMBER", nUMBERVALUE: 0, tRANSACTIONNUMBER: 1, vARCHAR2VALUE: null).toJson());
values.forEach((element) {
print(element);
});
genericResponseModel = await MyAttendanceApiClient().validateEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
SubmitEITTransactionList submitEITTransactionList = await MyAttendanceApiClient().submitEitTransaction(dESCFLEXCONTEXTCODE, dynamicParams!.dynamicId, values);
Utils.hideLoading(context);
@ -91,7 +102,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
String dESCFLEXCONTEXTCODE = "";
String descFlexConTextTitle = "";
void calGetValueSetValues(GetEITDFFStructureList structureList) async {
Future calGetValueSetValues(GetEITDFFStructureList structureList) async {
try {
Utils.showLoading(context);
String segmentId = structureList.cHILDSEGMENTSVS!;
@ -119,39 +130,255 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
}
}
void getDefaultValues(GetEITDFFStructureList structureList) async {
Future getDefaultValues(GetEITDFFStructureList structureList) async {
try {
Utils.showLoading(context);
Utils.showLoading(context);
for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
print("segmentId:$segmentId");
print("segmentName:${structureList.sEGMENTNAME}");
GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
List<PARENTSEGMENTSDVSplited> parentRequired = parent.pARENTSEGMENTSDVSplited ?? [];
List<PARENTSEGMENTSDVSplited> parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? [];
List<PARENTSEGMENTSVSSplitedVS> parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? [];
List<GetEITDFFStructureList> filteredList =
getEitDffStructureList!.where((outerElement) => parentRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
List<Map<String, dynamic>> values = filteredList
.map((e) => GetSetValuesRequestModel(
sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
.toJson())
.toList();
print("values:$values");
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
getEitDffStructureList![index].eSERVICESDV = defaultValue;
List<Map<String, dynamic>> getSetList = getDefaultValuesIonicLogic(parent);
if (getSetList.isNotEmpty) {
ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, getSetList);
int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
getEitDffStructureList![index].eSERVICESDV = defaultValue;
}
}
Utils.hideLoading(context);
setState(() {});
await Future.delayed(const Duration(seconds: 1));
Utils.hideLoading(context);
setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
}
}
// List<Map<String, dynamic>> calGetValueSetValuesIonicLogic(GetEITDFFStructureList structureElement) {
// let descFlexName: any = "";
// let descFlexContextCode: any = "";
// let parentValue: any = [];
// let ParentsList: any = [];
// let parentVal: any = null;
// let dependenciesList: any = [];
// let validationType: string = "";
// }
List<Map<String, dynamic>> getDefaultValuesIonicLogic(GetEITDFFStructureList structureElement) {
try {
Utils.showLoading(context);
List<PARENTSEGMENTSVSSplitedVS> parentValue = structureElement.pARENTSEGMENTSVSSplitedVS ?? [];
List<PARENTSEGMENTSDVSplited> parentsList = structureElement.pARENTSEGMENTSDVSplited ?? [];
List<Map<String, dynamic>> dependenciesList = [];
String? parentVal;
bool isStandardDate = false;
bool isStandardTimeDate = false;
bool isStandardTime = false;
bool isHidden = false;
bool isReadOnlyList = false;
bool isSelectElement = false;
// isStandardDate = this.isStandardDate(obj);
// isStandardTimeDate = this.isStandardDateTime(obj);
// isStandardTime = this.isStandardTime(obj);
if (structureElement.dISPLAYFLAG == "N") isHidden = true;
if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "Y") {
isReadOnlyList = true;
}
if (structureElement.vALIDATIONTYPE != "N" && structureElement.rEADONLY == "N") {
isSelectElement = true;
}
if (parentValue.isNotEmpty && (structureElement.vALIDATIONTYPE == "D" || structureElement.vALIDATIONTYPE == "Y")) {
List parValue = getDependenciesParams(parentValue);
if (parValue.isNotEmpty) {
parentVal = parValue.first.ID_COLUMN_NAME;
}
if (parentVal == null) {
return [];
}
}
if (parentsList.isNotEmpty) {
if (parentValue.isNotEmpty) {
parentsList = parentsList + parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson())).toList();
// parentsList.addAll(parentValue.map((e) => PARENTSEGMENTSDVSplited.fromJson(e.toJson())));
// parentsList.concat(parentValue);
}
dependenciesList = getDependenciesParams(parentsList);
}
return dependenciesList;
// for (int i = 0; i < (structureList.cHILDSEGMENTSDVSplited?.length ?? 0); i++) {
// String segmentId = structureList.cHILDSEGMENTSDVSplited![i];
// print("segmentId:$segmentId");
// print("segmentName:${structureList.sEGMENTNAME}");
// GetEITDFFStructureList? parent = getEitDffStructureList!.firstWhere((element) => element.sEGMENTNAME == segmentId);
// List<PARENTSEGMENTSDVSplited> parentDvRequired = parent.pARENTSEGMENTSDVSplited ?? [];
// List<PARENTSEGMENTSVSSplitedVS> parentVsRequired = parent.pARENTSEGMENTSVSSplitedVS ?? [];
//
// List<GetEITDFFStructureList> filteredList =
// getEitDffStructureList!.where((outerElement) => parentDvRequired.any((element) => outerElement.sEGMENTNAME == element.name && element.isRequired == "REQUIRED")).toList();
//
// List<Map<String, dynamic>> values = filteredList
// .map((e) => GetSetValuesRequestModel(
// sEGMENTNAME: e.sEGMENTNAME, vALUECOLUMNNAME: e.eSERVICESDV!.pVALUECOLUMNNAME, dESCRIPTION: "", iDCOLUMNNAME: e.eSERVICESDV!.pIDCOLUMNNAME, fLEXVALUESETNAME: e.fLEXVALUESETNAME)
// .toJson())
// .toList();
// print("values:$values");
//
// ESERVICESDV defaultValue = await MyAttendanceApiClient().getDefaultValue(segmentId, structureList.dESCFLEXCONTEXTCODE!, structureList.dESCFLEXNAME!, values);
// int index = getEitDffStructureList!.indexWhere((element) => element.sEGMENTNAME == segmentId);
// getEitDffStructureList![index].eSERVICESDV = defaultValue;
// }
// Utils.hideLoading(context);
// setState(() {});
} catch (ex) {
Utils.hideLoading(context);
Utils.handleException(ex, context, null);
return [];
}
}
List<Map<String, dynamic>> getDependenciesParams(parentsList) {
List<Map<String, dynamic>> parentArr = [];
for (int i = 0; i < parentsList.length; i++) {
for (int j = 0; j < (getEitDffStructureList?.length ?? 0); j++) {
if (getEitDffStructureList![j].sEGMENTNAME == parentsList[i].name) {
if (getEitDffStructureList![j].dISPLAYFLAG != "N") {
if (getEitDffStructureList![j].vALIDATIONTYPE == "N") {
String? idColName;
String? val;
if (getEitDffStructureList![j].fORMATTYPE == "Y" || getEitDffStructureList![j].fORMATTYPE == "I") {
//standard date time or //time
val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME;
// val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME;
// var elem = document.getElementById(getEitDffStructureList![j].aPPLICATIONCOLUMNNAME) as HTMLDivElement;
if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") {
//alert(parentsList[i].Name +" Is required");
return [];
// return false;
}
idColName = val;
if (getEitDffStructureList![j].fORMATTYPE == "Y") {
// if (idColName!.contains("/")) {
// DateTime date = DateFormat('yyyy/MM/dd').parse(idColName);
// idColName = DateFormat('yyyy/MM/dd HH:mm:ss').format(DateTime(date.year, date.month, date.day));
// } else {
// DateTime date = DateFormat('yyyy-MM-dd').parse(idColName);
// idColName = DateFormat('yyyy/MM/dd HH:mm:ss').format(DateTime(date.year, date.month, date.day));
// }
idColName = formatStandardDate(idColName!);
}
} else {
val = getEitDffStructureList![j].eSERVICESDV?.pVALUECOLUMNNAME;
// val = (document.getElementById(getEitDffStructureList![j].aPPLICATIONCOLUMNNAME) as HTMLInputElement).value;
if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") {
//alert(parentsList[i].Name +" Is required");
return [];
}
idColName = val;
if (getEitDffStructureList![j].fORMATTYPE == "X") {
idColName = formatDateNew(idColName!);
// commenting to test
// DateTime date = DateFormat('yyyy-MM-dd').parse(idColName!);
// idColName = DateFormat('yyyy-MM-dd HH:mm:ss').format(date);
}
}
parentArr.add(GetSetValuesRequestModel(
sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME,
vALUECOLUMNNAME: val,
dESCRIPTION: "",
iDCOLUMNNAME: idColName,
fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME,
).toJson());
break;
} else {
if (getEitDffStructureList![j].rEADONLY != "Y") {
var data = getEitDffStructureList![j].eSERVICESDV;
// let x = document.getElementById(getEitDffStructureList![j].aPPLICATIONCOLUMNNAME) as HTMLSelectElement;
String? text = data?.pIDCOLUMNNAME; //x.options[x.selectedIndex] ? x.options[x.selectedIndex].text : "";
String? val = data?.pVALUECOLUMNNAME; //x.options[x.selectedIndex] ? x.options[x.selectedIndex].value : null;
if ((val ?? "").isEmpty && parentsList[i].isRequired == "REQUIRED") {
//alert(parentsList[i].Name +" Is required");
return [];
} else {}
text ??= "";
parentArr.add(GetSetValuesRequestModel(
sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME,
vALUECOLUMNNAME: val,
dESCRIPTION: "",
iDCOLUMNNAME: text,
fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME,
).toJson());
break;
} else {
var data = getEitDffStructureList![j].eSERVICESDV;
String? text = data?.pVALUECOLUMNNAME;
String? val = data?.pIDCOLUMNNAME;
if ((val ?? "").isEmpty && parentsList[i].IsRequired == "REQUIRED") {
//alert(parentsList[i].Name +" Is required");
return [];
} else {}
text ??= "";
parentArr.add(GetSetValuesRequestModel(
sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME,
vALUECOLUMNNAME: text,
dESCRIPTION: "",
iDCOLUMNNAME: val,
fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME,
).toJson());
//break;
}
}
} else {
var data = getEitDffStructureList![j].eSERVICESDV;
String? text = data?.pVALUECOLUMNNAME;
String? val = data?.pIDCOLUMNNAME;
if ((val ?? "").isEmpty && parentsList[i].IsRequired == "REQUIRED") {
//alert(parentsList[i].Name +" Is required");
return [];
} else {}
text ??= "";
parentArr.add(GetSetValuesRequestModel(
sEGMENTNAME: getEitDffStructureList![j].sEGMENTNAME,
vALUECOLUMNNAME: text,
dESCRIPTION: "",
iDCOLUMNNAME: val,
fLEXVALUESETNAME: getEitDffStructureList![j].fLEXVALUESETNAME,
).toJson());
// break;
}
}
}
}
return parentArr;
}
@override
void dispose() {
super.dispose();
@ -249,41 +476,43 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
}
}
DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day);
String dateString = date.toString().split(' ').first;
// DateTime date1 = DateTime(date.year, date.month, date.day);
// getEitDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv;
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy/MM/dd HH:MM:SS').format(date1),
pIDCOLUMNNAME: formatDate(dateString),
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy/MM/dd HH:MM:SS').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
} else {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd hh:mm:ss').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
}
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
await calGetValueSetValues(model);
}
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
await getDefaultValues(model);
}
},
).paddingOnly(bottom: 12);
} else if (model.fORMATTYPE == "Y") {
String displayText = model.eSERVICESDV?.pIDCOLUMNNAME ?? (getEitDffStructureList![index].fieldAnswer ?? "");
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
if (displayText.contains(" 00:00:00")) {
displayText = displayText.replaceAll(" 00:00:00", "");
}
if (!displayText.contains("-")) {
displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
}
displayText = reverseFormatDate(displayText);
// if (displayText.contains(" 00:00:00")) {
// displayText = displayText.replaceAll(" 00:00:00", "");
// }
// if (!displayText.contains("-")) {
// displayText = DateFormat('yyyy-MM-dd').format(DateFormat("yyyy/MM/dd").parse(displayText));
// }
}
return DynamicTextFieldWidget(
(model.sEGMENTPROMPT ?? "") + (model.rEQUIREDFLAG == "Y" ? "*" : ""),
@ -297,41 +526,40 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
if (tempDate.contains("00:00:00")) {
tempDate = tempDate.replaceAll("00:00:00", '').trim();
}
if(tempDate.contains("/")) {
if (tempDate.contains("/")) {
selectedDate = DateFormat("yyyy/MM/dd").parse(tempDate);
} else {
selectedDate = DateFormat("yyyy-MM-dd").parse(tempDate);
}
} else {
selectedDate = DateTime.parse(getEitDffStructureList![index].eSERVICESDV!.pVALUECOLUMNNAME!);
}
}
DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day);
String dateString = date.toString().split(' ').first;
// getEitDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv;
if (getEitDffStructureList![index].isDefaultTypeIsCDPS) {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy/MM/dd HH:MM:SS').format(date1),
pIDCOLUMNNAME: formatDate(dateString),
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd HH:MM:SS').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
} else {
eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd hh:mm:ss').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
}
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
await calGetValueSetValues(model);
}
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
await getDefaultValues(model);
}
},
).paddingOnly(bottom: 12);
@ -347,21 +575,22 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
isReadOnly: model.rEADONLY == "Y",
).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
if (model.rEADONLY != "Y")
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
],
onSelected: (int popipIndex) {
onSelected: (int popipIndex) async {
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![popipIndex].dEFAULTVALUE,
pRETURNSTATUS: "null", //getEitDffStructureList![popipIndex].dEFAULTVALUE,
pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
await calGetValueSetValues(model);
}
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
await getDefaultValues(model);
}
});
}
@ -380,21 +609,19 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
isReadOnly: model.rEADONLY == "Y",
).paddingOnly(bottom: 12),
itemBuilder: (_) => <PopupMenuItem<int>>[
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!), value: i),
if (model.rEADONLY != "Y")
for (int i = 0; i < model.eSERVICESVS!.length; i++) PopupMenuItem<int>(value: i, child: Text(model.eSERVICESVS![i].vALUECOLUMNNAME!)),
],
onSelected: (int popipIndex) {
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![popipIndex].dEFAULTVALUE,
pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
onSelected: (int popipIndex) async {
ESERVICESDV eservicesdv =
ESERVICESDV(pIDCOLUMNNAME: model.eSERVICESVS![popipIndex].iDCOLUMNNAME, pRETURNMSG: "null", pRETURNSTATUS: "null", pVALUECOLUMNNAME: model.eSERVICESVS![popipIndex].vALUECOLUMNNAME);
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
await calGetValueSetValues(model);
}
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
await getDefaultValues(model);
}
});
}
@ -431,20 +658,20 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
}
}
DateTime date = await _selectDate(context);
DateTime date1 = DateTime(date.year, date.month, date.day);
String dateString = date.toString().split(' ').first;
getEitDffStructureList![index].fieldAnswer = date.toString();
ESERVICESDV eservicesdv = ESERVICESDV(
pIDCOLUMNNAME: DateFormat('yyyy-MM-dd').format(date1),
pIDCOLUMNNAME: dateString,
pRETURNMSG: "null",
pRETURNSTATUS: getEitDffStructureList![index].dEFAULTVALUE,
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? DateFormat('yyyy-MM-dd hh:mm:ss').format(date) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
pVALUECOLUMNNAME: getEitDffStructureList![index].isDefaultTypeIsCDPS ? reverseFormatStandardDate(formatDate(dateString)) : DateFormat('yyyy-MM-ddThh:mm:ss.s').format(date));
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
await calGetValueSetValues(model);
}
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
await getDefaultValues(model);
}
},
).paddingOnly(bottom: 12);
@ -471,10 +698,10 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
getEitDffStructureList![index].eSERVICESDV = eservicesdv;
setState(() {});
if (model.cHILDSEGMENTSVSSplited?.isNotEmpty ?? false) {
calGetValueSetValues(model);
await calGetValueSetValues(model);
}
if (model.cHILDSEGMENTSDVSplited?.isNotEmpty ?? false) {
getDefaultValues(model);
await getDefaultValues(model);
}
},
).paddingOnly(bottom: 12);
@ -487,7 +714,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
).objectContainerView();
}
DateTime selectedDate = DateTime.now();
DateTime selectedDate = DateTime(DateTime.now().year, DateTime.now().month, DateTime.now().day);
Future<DateTime> _selectDate(BuildContext context) async {
DateTime time = selectedDate;
@ -516,6 +743,7 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
time = picked;
}
}
time = DateTime(time.year, time.month, time.day);
return time;
}
@ -559,4 +787,59 @@ class _DynamicInputScreenState extends State<DynamicInputScreen> {
}
return time;
}
String reverseFormatDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('/', '-');
formattedDate = formattedDate.replaceAll(' 00:00:00', '');
} else {
formattedDate = date;
}
return formattedDate;
}
String formatStandardDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('-', '/');
} else {
formattedDate = date;
}
return formattedDate;
}
String reverseFormatStandardDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.replaceAll('/', '-');
} else {
formattedDate = date;
}
return formattedDate;
}
String formatDate(String date) {
String formattedDate;
if (date.isNotEmpty) {
date = date.substring(0, 10);
formattedDate = date.replaceAll('-', '/');
formattedDate = formattedDate + ' 00:00:00';
} else {
formattedDate = date;
}
return formattedDate;
}
String formatDateNew(String date) {
String formattedDate;
if (date.isNotEmpty) {
formattedDate = date.split('T')[0];
formattedDate = formattedDate + ' 00:00:00';
} else {
formattedDate = date;
}
return formattedDate;
}
}

@ -17,6 +17,7 @@ class BasicDetails extends StatefulWidget {
@override
_BasicDetailsState createState() => _BasicDetailsState();
}
// TODO(Sultan): kindly follow structure of code written. use extension methods for widgets, use localization and format code
class _BasicDetailsState extends State<BasicDetails> {
String? fullName = "";

@ -1,19 +1,26 @@
import 'package:easy_localization/easy_localization.dart';
import 'package:flutter/material.dart';
import 'package:flutter_svg/svg.dart';
import 'package:mohem_flutter_app/extensions/int_extensions.dart';
import 'package:mohem_flutter_app/extensions/string_extensions.dart';
import 'package:mohem_flutter_app/generated/locale_keys.g.dart';
class AppLogo extends StatelessWidget {
AppLogo({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
// TODO: implement build
return Row(children: [
SvgPicture.asset(
"assets/mohemm_logo.svg",
height: 100,
width: 100,
alignment: Alignment.centerRight,
),
],);
return Row(
children: [
SvgPicture.asset(
"assets/mohemm_logo.svg",
height: 48,
width: 48,
alignment: Alignment.centerRight,
),
8.width,
LocaleKeys.mohemm.tr().toText14()
],
);
}
}

Loading…
Cancel
Save