$$EmployeeTableTableManager constructor
$$EmployeeTableTableManager(
- _$SharedDatabase db,
- $EmployeeTable table
Implementation
$$EmployeeTableTableManager(_$SharedDatabase db, $EmployeeTable table)
: super(
TableManagerState(
db: db,
table: table,
createFilteringComposer: () =>
$$EmployeeTableFilterComposer($db: db, $table: table),
createOrderingComposer: () =>
$$EmployeeTableOrderingComposer($db: db, $table: table),
createComputedFieldComposer: () =>
$$EmployeeTableAnnotationComposer($db: db, $table: table),
updateCompanionCallback:
({
Value<int> id = const Value.absent(),
Value<String> empNumber = const Value.absent(),
Value<String> name = const Value.absent(),
Value<String> email = const Value.absent(),
Value<int> employeePositionId = const Value.absent(),
Value<int> departmentId = const Value.absent(),
Value<DateTime> birthday = const Value.absent(),
Value<DateTime> hireDate = const Value.absent(),
Value<String?> imagePath = const Value.absent(),
Value<String?> address = const Value.absent(),
}) => EmployeeCompanion(
id: id,
empNumber: empNumber,
name: name,
email: email,
employeePositionId: employeePositionId,
departmentId: departmentId,
birthday: birthday,
hireDate: hireDate,
imagePath: imagePath,
address: address,
),
createCompanionCallback:
({
Value<int> id = const Value.absent(),
required String empNumber,
required String name,
required String email,
required int employeePositionId,
required int departmentId,
required DateTime birthday,
required DateTime hireDate,
Value<String?> imagePath = const Value.absent(),
Value<String?> address = const Value.absent(),
}) => EmployeeCompanion.insert(
id: id,
empNumber: empNumber,
name: name,
email: email,
employeePositionId: employeePositionId,
departmentId: departmentId,
birthday: birthday,
hireDate: hireDate,
imagePath: imagePath,
address: address,
),
withReferenceMapper: (p0) => p0
.map(
(e) => (
e.readTable(table),
$$EmployeeTableReferences(db, table, e),
),
)
.toList(),
prefetchHooksCallback:
({
employeePositionId = false,
departmentId = false,
appUserRefs = false,
employmentHistoryRefs = false,
salesOrderRefs = false,
}) {
return PrefetchHooks(
db: db,
explicitlyWatchedTables: [
if (appUserRefs) db.appUser,
if (employmentHistoryRefs) db.employmentHistory,
if (salesOrderRefs) db.salesOrder,
],
addJoins:
<
T extends TableManagerState<
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic,
dynamic
>
>(state) {
if (employeePositionId) {
state =
state.withJoin(
currentTable: table,
currentColumn: table.employeePositionId,
referencedTable: $$EmployeeTableReferences
._employeePositionIdTable(db),
referencedColumn: $$EmployeeTableReferences
._employeePositionIdTable(db)
.id,
)
as T;
}
if (departmentId) {
state =
state.withJoin(
currentTable: table,
currentColumn: table.departmentId,
referencedTable: $$EmployeeTableReferences
._departmentIdTable(db),
referencedColumn: $$EmployeeTableReferences
._departmentIdTable(db)
.id,
)
as T;
}
return state;
},
getPrefetchedDataCallback: (items) async {
return [
if (appUserRefs)
await $_getPrefetchedData<
EmployeeData,
$EmployeeTable,
AppUserData
>(
currentTable: table,
referencedTable: $$EmployeeTableReferences
._appUserRefsTable(db),
managerFromTypedResult: (p0) =>
$$EmployeeTableReferences(
db,
table,
p0,
).appUserRefs,
referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where(
(e) => e.employeeId == item.id,
),
typedResults: items,
),
if (employmentHistoryRefs)
await $_getPrefetchedData<
EmployeeData,
$EmployeeTable,
EmploymentHistoryData
>(
currentTable: table,
referencedTable: $$EmployeeTableReferences
._employmentHistoryRefsTable(db),
managerFromTypedResult: (p0) =>
$$EmployeeTableReferences(
db,
table,
p0,
).employmentHistoryRefs,
referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where(
(e) => e.employeeId == item.id,
),
typedResults: items,
),
if (salesOrderRefs)
await $_getPrefetchedData<
EmployeeData,
$EmployeeTable,
SalesOrderData
>(
currentTable: table,
referencedTable: $$EmployeeTableReferences
._salesOrderRefsTable(db),
managerFromTypedResult: (p0) =>
$$EmployeeTableReferences(
db,
table,
p0,
).salesOrderRefs,
referencedItemsForCurrentItem:
(item, referencedItems) => referencedItems.where(
(e) => e.sellerId == item.id,
),
typedResults: items,
),
];
},
);
},
),
);