{-# LANGUAGE ScopedTypeVariables #-} module Handler.Orders where import Import import Database.Persist.Sql import qualified Eve.Api.Char.MarketOrders as MO getOrdersR :: Handler Html getOrdersR = loginOrDo (\(uid,user) -> do -- using raw because model does not know about CCP-Data-Dump let sql = "select ??, t.\"typeName\" from \"order\" join \"invTypes\" t on (\"order\".type_id = t.\"typeID\") where \"user\"=? order by \"order\".is_sell asc, t.\"typeName\" asc" (orders :: [(Entity Order, Single Text)]) <- runDB $ rawSql sql [toPersistValue uid] let sellorders = filter (\(Entity _ o, _) -> orderIsSell o && orderOrderState o == (fromIntegral . fromEnum) MO.Open) orders let buyorders = filter (\(Entity _ o, _) -> not (orderIsSell o) && orderOrderState o == (fromIntegral . fromEnum) MO.Open) orders loginLayout user [whamlet|
Current Sell Orders:
Last changed Item Price Quantity (min) Range Duration Escrow Station $forall (Entity _ o, Single name) <- sellorders
#{showDateTime $ orderIssued $ o} #{name} #{prettyISK $ orderPriceCents o} #{orderVolRemaining o}/#{orderVolEntered o} (#{orderMinVolume o}) Range #{orderDuration o} #{prettyISK $ orderEscrowCents o} StationName
Current Buy Orders:
Last changed Item Price Quantity (min) Range Duration Escrow Station $forall (Entity _ o, Single name) <- buyorders
#{showDateTime $ orderIssued $ o} #{name} #{prettyISK $ orderPriceCents o} #{orderVolRemaining o}/#{orderVolEntered o} (#{orderMinVolume o}) Range #{orderDuration o} #{prettyISK $ orderEscrowCents o} StationName |] )