This commit is contained in:
Hillel Coren 2018-12-18 22:47:44 +02:00
parent e2923ef7d5
commit 0d390c221e
2 changed files with 27 additions and 1 deletions

View File

@ -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;

View File

@ -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(),
),
];