Initial draft
This commit is contained in:
64
lib/model/article.dart
Normal file
64
lib/model/article.dart
Normal file
@ -0,0 +1,64 @@
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:hl_lieferservice/dto/article.dart';
|
||||
|
||||
class Article {
|
||||
Article({
|
||||
required this.name,
|
||||
required this.articleNumber,
|
||||
required this.amount,
|
||||
required this.internalId,
|
||||
required this.price,
|
||||
required this.tax,
|
||||
required this.scannable,
|
||||
required this.scannedAmount,
|
||||
required this.scannedRemovedAmount,
|
||||
this.scannedDate,
|
||||
this.removeNoteId
|
||||
});
|
||||
|
||||
final String name;
|
||||
final String articleNumber;
|
||||
final int internalId;
|
||||
|
||||
int amount;
|
||||
double price;
|
||||
double tax;
|
||||
bool scannable;
|
||||
DateTime? scannedDate;
|
||||
String? removeNoteId;
|
||||
int scannedAmount;
|
||||
int scannedRemovedAmount;
|
||||
|
||||
double getGrossPrice() {
|
||||
return price * amount * ((100 + tax) / 100);
|
||||
}
|
||||
|
||||
double getGrossPriceScanned() {
|
||||
return price * scannedAmount * ((100 + tax) / 100);
|
||||
}
|
||||
|
||||
bool unscanned() {
|
||||
return scannedAmount == 0;
|
||||
}
|
||||
|
||||
int getScannedAmount() {
|
||||
return scannedAmount;
|
||||
}
|
||||
|
||||
factory Article.fromDTO(ArticleDTO dto) {
|
||||
return Article(
|
||||
name: dto.name,
|
||||
scannedAmount: int.parse(
|
||||
dto.scannedAmount != "" ? dto.scannedAmount : "0",
|
||||
),
|
||||
scannedRemovedAmount: int.tryParse(dto.scannedRemovedAmount) ?? 0,
|
||||
removeNoteId: dto.removeNoteId,
|
||||
internalId: int.parse(dto.internalId),
|
||||
articleNumber: dto.articleNr,
|
||||
amount: int.parse(dto.quantity == "" ? "0" : dto.quantity),
|
||||
price: double.parse(dto.price == "" ? "0.0" : dto.price),
|
||||
scannable: dto.scannable,
|
||||
tax: double.parse(dto.taxRate == "" ? "19" : dto.taxRate),
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user