Esempio n. 1
0
    def profit(cls):
        ld_alias = db.aliased(ListingDetails)
        mld_alias = db.aliased(ListingDetails)
        revenue = db.select([ld_alias.price - mld_alias.selling_fees]).where(
            db.and_(ld_alias.listing_id == cls.listing_id,
                    mld_alias.id == ld_alias.id)).order_by(
                        ld_alias.timestamp.desc()).limit(1).label('revenue')

        return revenue - cls.cost
Esempio n. 2
0
 def estimated_cost(cls):
     return db.select([
         db.cast(
             ListingDetails.price *
             (1 + Vendor.avg_shipping + Vendor.avg_tax), CURRENCY)
     ]).where(
         db.and_(ListingDetails.listing_id == cls.id,
                 Vendor.id == cls.vendor_id)).order_by(
                     ListingDetails.timestamp.desc()).limit(1).label(
                         'estimated_cost')
Esempio n. 3
0
    def cost(cls):
        l_alias = db.aliased(Listing)
        rsl_alias = db.aliased(Listing)
        rs_alias = db.aliased(RelationshipSource)

        return db.select([
            db.func.sum(rsl_alias.estimated_unit_cost * rs_alias.units *
                        l_alias.quantity)
        ]).where(
            db.and_(
                rsl_alias.id == rs_alias.listing_id,
                rs_alias.relationship_id == cls.id,
                l_alias.id == cls.listing_id)).having(
                    db.func.every(
                        rsl_alias.estimated_unit_cost != None)).label('cost')
Esempio n. 4
0
 def expr(cls):
     return db.select([getattr(
         InventoryDetails,
         name)]).where(InventoryDetails.inventory_id == cls.id).order_by(
             InventoryDetails.timestamp.desc()).limit(1).label(name)
Esempio n. 5
0
 def expr(cls):
     return db.select([getattr(
         ListingDetails,
         name)]).where(ListingDetails.listing_id == cls.id).order_by(
             ListingDetails.timestamp.desc()).limit(1).label(name)