| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162 |
- import 'package:flutter/material.dart';
- import 'package:jiffy/jiffy.dart';
- class Duty {
- String date;
- String type;
- Map data;
- int order;
- Jiffy get jdate => Jiffy.parse(date, isUtc: true);
- Jiffy? get start => ((data["hdep"] ?? data["start"]) != null ||
- type == "checkin")
- ? Jiffy.parse(
- "$date ${_addChar(data["hdep"] ?? data["start"] ?? data["time"])}",
- isUtc: true,
- pattern: "yyyy-MM-dd HH:mm")
- : null;
- Jiffy? get end {
- final Jiffy? out = ((data["hdes"] ?? data["end"]) != null ||
- type == "checkout")
- ? Jiffy.parse(
- "$date ${_addChar(data["hdes"] ?? data["end"] ?? data["time"])}",
- isUtc: true,
- pattern: "yyyy-MM-dd HH:mm")
- : null;
- if (out != null && start != null && out.isBefore(start!)) {
- return out.add(days: 1);
- } else {
- return out;
- }
- }
- IconData get icon {
- if (type == "flight") {
- return Icons.flight_takeoff;
- } else if (type == "checkin") {
- return Icons.arrow_forward;
- } else if (type == "checkout") {
- return Icons.arrow_back;
- } else if (type == "dhlimo") {
- return Icons.airport_shuttle;
- } else if (type == "dhflight") {
- return Icons.flight_takeoff;
- } else if (type == "ground") {
- return Icons.folder;
- } else if (type == "credit") {
- return Icons.schedule;
- } else {
- return Icons.file_copy;
- }
- }
- compareTo(Duty d) {}
- Duty(
- {required this.date,
- required this.type,
- required this.data,
- this.order = 0});
- }
- String _addChar(String str, {String char = ":", int pos = 2}) =>
- "${str.substring(0, pos)}$char${str.substring(pos, 4)}";
|