formatToRows method
Implementation
List<List<dynamic>> formatToRows() {
List<List<dynamic>> rows = List<List<dynamic>>.empty(growable: true);
List<String> lineHeader = List.empty(growable: true);
lineHeader.add('id');
lineHeader.add('nom');
lineHeader.add('unit');
lineHeader.add('nom');
lineHeader.add('qt/unité');
lineHeader.add('prix');
lineHeader.add('cout');
lineHeader.add('codebarre');
lineHeader.add('date_creation');
lineHeader.add('...');
rows.add(lineHeader);
for (int i = 0; i < length; i++) {
// row refer to each column of a row in csv file and rows refer to each row in a file
List<dynamic> cells = List.empty(growable: true);
final line = this[i];
// only export countable articles
if (line.isCountable) {
cells.add(line.id);
cells.add(line.title);
cells.add(line.stockUnit);
for (int ii = 0; ii < line.articles.length; ii++) {
if (line.isBasket) {
final articleBasket = (this[i].articles[ii] as ArticleBasket);
cells.add(articleBasket.designation);
cells.add(articleBasket
.getProxiesListWithPriceAndCost(this)
.basketTotalPrice); // price
cells.add(articleBasket.getProxiesListWithPriceAndCost(this)
..baskeTotalCost);
cells.add(articleBasket.articleCode);
cells.add(articleBasket.creationDate);
} else if (line.isCountable) {
final article = this[i].articles[ii] as ArticleRetail;
cells.add(article.designation);
cells.add(article.unitsInOnePiece);
cells.add(article.price);
cells.add(article.cost);
cells.add(article.articleCode);
cells.add(article.creationDate);
}
}
rows.add(cells);
}
}
return rows;
}