getStockMovementForCalibre method

double getStockMovementForCalibre(
  1. CalibreWeebi<ArticleRawAbstract> calibre
)

Implementation

double getStockMovementForCalibre(CalibreWeebi calibre) {
  double stockMovement = 0.0;
  A aInItem = articleCreator();
  if (aInItem.kind == ArticleKind.retail && calibre.id == aInItem.calibreId) {
    stockMovement += quantity *
        (aInItem as ArticleRetailOnTicket)
            .unitsInOnePiece; // weight needed for calibre full stock
  } else {
    if (calibre.kind == ArticleKind.basket || isBasket == true) {
      if ((aInItem as ArticleBasketOnTicket)
          .proxies
          .any((p) => p.proxyCalibreId == calibre.id)) {
        for (final proxyOfArticleInItem
            in aInItem.proxies.where((p) => p.proxyCalibreId == calibre.id)) {
          stockMovement += quantity *
              proxyOfArticleInItem.minimumUnitPerBasket *
              proxyOfArticleInItem
                  .articleWeight; // weight needed for line full stock
        }
      }
    }
  }
  return stockMovement;
}