flutter_guid 0.3.1 flutter_guid: ^0.3.1 copied to clipboard
Emulates C# Guid. Generate new UUIDs, add variables of type Guid to classes.
import 'package:flutter_guid/flutter_guid.dart';
import 'employee.dart';
class EmployeeManager {
static final String workShopGuidString =
"edea6638-dd1d-4e26-a207-e4044ad22687";
final employeeList = <Employee>[];
// initialize a guid from a string
final accountsDepartmentId = new Guid("41e879aa-859c-4bda-b77b-37b7e07c6674");
// initialize a new guid with the 'workShopGuidString' value, Lowercased.
final workshopDepartmentIdLowerCased =
new Guid(workShopGuidString.toLowerCase());
// initialize a second guid with the 'workShopGuidString' value, BUT UPPERCASED this time.
final workshopDepartmentIdUpperCased =
new Guid(workShopGuidString.toUpperCase());
populateEmployeeList() {
final accountant = new Employee(
departmentId: accountsDepartmentId, // use pre-initialized guid value.
id: Guid
.newGuid // Generate a guid on the fly (Uses the superb package 'https://pub.dev/packages/uuid').
);
final engineer = new Employee(
departmentId: workshopDepartmentIdLowerCased, id: Guid.newGuid);
employeeList
..add(accountant)
..add(engineer);
}
Employee getEngineer() {
final theEngineer = employeeList.singleWhere((employee) {
//Comparison done on guid value is case-insensitive
//employee.departmentId was initialized with a lowercase string but is compared to a guid initialized with an uppercase string and WILL SUCCESSFULLY match
return employee.departmentId == workshopDepartmentIdUpperCased;
});
return theEngineer;
}
bool engineerIdIsDefault() {
final engineer = getEngineer();
// Returns true if engineerId == "00000000-0000-0000-0000-000000000000".
// This value is assigned to Guids if no other value is explicitly set on them
// NOTE: The guid variable itself if nullable but, its value once initialized is guaranteed to always be either the defaultValue or a valid UUID
return engineer.id == Guid.defaultValue;
}
}