Tasks
This commit is contained in:
parent
e2923ef7d5
commit
0d390c221e
|
|
@ -6,6 +6,7 @@ import 'package:invoiceninja_flutter/data/models/company_model.dart';
|
|||
import 'package:invoiceninja_flutter/data/models/entities.dart';
|
||||
import 'package:invoiceninja_flutter/data/models/models.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'dart:convert';
|
||||
|
||||
part 'task_model.g.dart';
|
||||
|
||||
|
|
@ -87,6 +88,30 @@ abstract class TaskEntity extends Object
|
|||
|
||||
int get duration;
|
||||
|
||||
List<List <int>> get timeDetails {
|
||||
final List<List <int>> details = [];
|
||||
|
||||
final List<dynamic> log = jsonDecode(timeLog);
|
||||
log.forEach((dynamic detail) {
|
||||
details.add([
|
||||
(detail as List)[0],
|
||||
(detail as List)[1],
|
||||
]);
|
||||
});
|
||||
|
||||
return details;
|
||||
}
|
||||
|
||||
int get calculateDuration {
|
||||
int duration = 0;
|
||||
|
||||
timeDetails.forEach((detail) {
|
||||
duration += detail[1] - detail[0];
|
||||
});
|
||||
|
||||
return duration;
|
||||
}
|
||||
|
||||
@nullable
|
||||
@BuiltValueField(wireName: 'invoice_id')
|
||||
int get invoiceId;
|
||||
|
|
|
|||
|
|
@ -9,6 +9,7 @@ import 'package:invoiceninja_flutter/ui/app/icon_message.dart';
|
|||
import 'package:invoiceninja_flutter/ui/app/one_value_header.dart';
|
||||
import 'package:invoiceninja_flutter/ui/task/view/task_view_vm.dart';
|
||||
import 'package:invoiceninja_flutter/ui/app/form_card.dart';
|
||||
import 'package:invoiceninja_flutter/utils/formatting.dart';
|
||||
import 'package:invoiceninja_flutter/utils/icons.dart';
|
||||
import 'package:invoiceninja_flutter/utils/localization.dart';
|
||||
|
||||
|
|
@ -49,7 +50,7 @@ class _TaskViewState extends State<TaskView> {
|
|||
final widgets = <Widget>[
|
||||
OneValueHeader(
|
||||
label: localization.duration,
|
||||
value: '',
|
||||
value: task.calculateDuration.toString(),
|
||||
),
|
||||
];
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue