update and correction of create order

This commit is contained in:
José Salazar
2026-01-25 13:21:16 -05:00
parent 8f8c6ff2d2
commit bda0b441e9
15 changed files with 23283 additions and 22306 deletions

View File

@@ -118,6 +118,7 @@ class ClientCreateOrderRepositoryImpl
.startTime(_toTimestamp(start))
.endTime(_toTimestamp(normalizedEnd))
.hours(hours)
.breakType(_breakDurationFromValue(position.lunchBreak))
.totalValue(totalValue)
.execute();
}
@@ -148,6 +149,17 @@ class ClientCreateOrderRepositoryImpl
return total;
}
dc.BreakDuration _breakDurationFromValue(String value) {
switch (value) {
case 'MIN_15':
return dc.BreakDuration.MIN_15;
case 'MIN_30':
return dc.BreakDuration.MIN_30;
default:
return dc.BreakDuration.NO_BREAK;
}
}
DateTime _parseTime(DateTime date, String time) {
if (time.trim().isEmpty) {
throw Exception('Shift time is missing.');

View File

@@ -230,7 +230,7 @@ class OneTimeOrderPositionCard extends StatelessWidget {
border: Border.all(color: UiColors.border),
),
child: DropdownButtonHideUnderline(
child: DropdownButton<int>(
child: DropdownButton<String>(
isExpanded: true,
value: position.lunchBreak,
icon: const Icon(
@@ -238,16 +238,23 @@ class OneTimeOrderPositionCard extends StatelessWidget {
size: 18,
color: UiColors.iconSecondary,
),
onChanged: (int? val) {
onChanged: (String? val) {
if (val != null) {
onUpdated(position.copyWith(lunchBreak: val));
}
},
items: <int>[0, 15, 30, 45, 60].map((int mins) {
return DropdownMenuItem<int>(
value: mins,
items: <String>['NO_BREAK', 'MIN_15', 'MIN_30'].map((
String value,
) {
final String label = switch (value) {
'NO_BREAK' => 'No Break',
'MIN_15' => '15 min',
_ => '30 min',
};
return DropdownMenuItem<String>(
value: value,
child: Text(
mins == 0 ? 'No Break' : '$mins mins',
label,
style: UiTypography.body2r.textPrimary,
),
);