getEarningData function

List<EarningData> getEarningData(
  1. ProviderData item
)

Implementation

List<EarningData> getEarningData(ProviderData item){
  List<EarningData> items = [];
  EarningData data = EarningData();
  ordersDataCache.sort((a, b) => b.time.compareTo(a.time));

  for (var booking in ordersDataCache)
    if (booking.finished && booking.providerId == item.id){
      data.count++;
      //
      EarningData item = EarningData();
      item.id = booking.id;
      item.time = booking.time;
      item.name = booking.name;
      item.customerName = booking.customerName;
      //
      // subtotal = price - coupon + addon
      // total = subtotal + subtotal*tax
      //
      //
      //
      item.total = booking.total;
      data.total += item.total;
      //
      item.admin = booking.toAdmin;
      data.admin += item.admin;
      //
      item.provider = booking.subtotal - item.admin;
      data.provider += item.provider;
      //
      item.tax = booking.tax; //item.total*booking.tax/100;
      data.tax += item.tax;
      // print("booking.id=${booking.id} booking.providerId =${booking.providerId} _total=$_total _toAdmin=$_toAdmin provider=${data.total - _toAdmin} data.total=${data.total} data.count=${data.count}");
      //
      items.add(item);
    }
  data.payout = data.provider;
  for (var item2 in payout)
    if (item2.providerId == item.id)
      data.payout -= item2.total;
  if (data.payout < 0)
    data.payout = 0;

  items.sort((a, b) => b.time.compareTo(a.time));

  items.add(data);
  return items;
}