Пример #1
0
 def getProductID(cls, productID, companyCode):
     try:
         return cls.query.filter(
             ProductSellersModel.CompanyCode == companyCode).filter(
                 ProductSellersModel.ProductID == productID).all()
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #2
0
 def retrieve_products_on_date(cls, date):
     Session = sessionmaker(bind=db.engine)
     session = Session()
     try:
         query1 = ProductValuationsModel.query.filter(
             func.DATE(ProductValuationsModel.DateOfValuation) <=
             parse_iso_date(date)).with_entities(
                 ProductValuationsModel.ProductID,
                 func.max(ProductValuationsModel.DateOfValuation).label(
                     "MaxDate"),
                 ProductValuationsModel.ProductPrice).group_by(
                     ProductValuationsModel.ProductID)
         statement1 = query1.cte("query_1")  #SELECT statement
         query2 = cls.query.filter(func.DATE(cls.DateEnteredInSystem) <= parse_iso_date(date), or_(parse_iso_date(date) <= func.DATE(cls.DateDeleted), cls.DateDeleted == None), cls.ProductID == ProductSellersModel.ProductID).\
             with_entities(cls.ProductID, cls.ProductName, cls.DateEnteredInSystem, ProductSellersModel.CompanyCode)
         statement2 = query2.cte("query_2")  #SELECT statement
         query3 = session.query(statement2).filter(
             statement1.c.ProductID ==
             statement2.c.ProductID).with_entities(
                 statement2.c.ProductID, statement2.c.ProductName,
                 statement2.c.DateEnteredInSystem, statement2.c.CompanyCode,
                 statement1.c.ProductPrice)
         return query3
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #3
0
 def get_trades_all(cls, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.offset(offset).limit(limit).all()
         else:
             return cls.query.all()
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #4
0
 def get_trade_by_product(cls, productID, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 cls.ProductID.in_(productID)).offset(offset).limit(limit)
         else:
             return cls.query.filter(cls.ProductID.in_(productID))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #5
0
 def __init__(self, **kwargs):
     super(Artist, self).__init__(**kwargs)
     check_genres = all(genre in GENRE_CHECK for genre in self.genres)
     if not check_genres:
         raise exc.ProgrammingError(
             "Invalid genre",
             {"Genres passed": self.genres},
             {"Genres allowed": GENRE_CHECK},
         )
Пример #6
0
 def retrieve_currency(cls, date):
     try:
         return cls.query.filter(
             func.DATE(cls.DateOfValuation) <= parse_iso_date(date)
         ).with_entities(cls.CurrencyCode,
                         func.max(cls.DateOfValuation).label('MaxDate'),
                         cls.ValueInUSD).group_by(cls.CurrencyCode)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #7
0
 def retrieve_companies_before(cls, date):
     try:
         return cls.query.filter(
             func.DATE(CompanyModel.DateEnteredInSystem) <=
             parse_iso_date(date),
             or_(
                 parse_iso_date(date) < cls.DateDeleted,
                 cls.DateDeleted == None))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #8
0
 def get_all_trade_dates(cls, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.distinct(cls.DateOfTrade).group_by(
                 cls.DateOfTrade).offset(offset).limit(limit)
         else:
             return cls.query.distinct(cls.DateOfTrade).group_by(
                 cls.DateOfTrade)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #9
0
 def get_trade_date_by_id(cls, id, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(cls.TradeID == id).with_entities(
                 cls.DateOfTrade).first()
         else:
             return cls.query.filter(cls.TradeID == id).with_entities(
                 cls.DateOfTrade).first()
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #10
0
 def get_trades_bought_by(cls, buyingParty, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 DerivativeTradesModel.BuyingParty.in_(buyingParty)).offset(
                     offset).limit(limit)
         else:
             return cls.query.filter(
                 DerivativeTradesModel.BuyingParty.in_(buyingParty))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #11
0
 def get_trades_by_user(cls, userID, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 DerivativeTradesModel.UserIDCreatedBy.in_(userID)).offset(
                     offset).limit(limit)
         else:
             return cls.query.filter(
                 DerivativeTradesModel.UserIDCreatedBy.in_(userID))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #12
0
 def get_trade_with_ID(cls, tradeID, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 DerivativeTradesModel.TradeID.in_(tradeID)).offset(
                     offset).limit(limit)
         else:
             return cls.query.filter(
                 DerivativeTradesModel.TradeID.in_(tradeID))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #13
0
 def get_trades_modified_before(cls, endDate, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 func.DATE(DerivativeTradesModel.LastModifiedDate) <=
                 parse_iso_date(endDate)).offset(offset).limit(limit)
         else:
             return cls.query.filter(
                 func.DATE(DerivativeTradesModel.LastModifiedDate) <=
                 parse_iso_date(endDate))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #14
0
 def get_trades_after(cls, startDate, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 func.DATE(DerivativeTradesModel.DateOfTrade) >=
                 parse_iso_date(startDate)).offset(offset).limit(limit)
         else:
             return cls.query.filter(
                 func.DATE(DerivativeTradesModel.DateOfTrade) >=
                 parse_iso_date(startDate))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #15
0
 def get_trade_by_underlying_currency(cls, underlyingCurrency, offset,
                                      limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 DerivativeTradesModel.UnderlyingCurrency.in_(
                     underlyingCurrency)).offset(offset).limit(limit)
         else:
             return cls.query.filter(
                 DerivativeTradesModel.UnderlyingCurrency.in_(
                     underlyingCurrency))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #16
0
 def get_trade_dates_before(cls, endDate, offset, limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 parse_iso_date(endDate) >= func.DATE(cls.DateOfTrade)
             ).distinct(cls.DateOfTrade).group_by(
                 cls.DateOfTrade).offset(offset).limit(limit)
         else:
             return cls.query.filter(
                 parse_iso_date(endDate) >= func.DATE(cls.DateOfTrade)
             ).distinct(cls.DateOfTrade).group_by(cls.DateOfTrade)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #17
0
 def get_trades_by_notional_currency(cls, notionalCurrency, offset,
                                     limitFlag, limit):
     try:
         if limitFlag:
             return cls.query.filter(
                 DerivativeTradesModel.NotionalCurrency.in_(
                     notionalCurrency)).offset(offset).limit(limit)
         else:
             return cls.query.filter(
                 DerivativeTradesModel.NotionalCurrency.in_(
                     notionalCurrency))
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #18
0
 def get_actions_by_user(cls, id):
     try:
         return cls.query.filter(cls.EmployeeID == id)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #19
0
 def retrieve_product_by_id(cls, id):
     try:
         return cls.query.filter(cls.ProductID == id, cls.ProductID == ProductSellersModel.ProductID).\
             with_entities(cls.ProductID, ProductSellersModel.CompanyCode, cls.ProductName, cls.DateEnteredInSystem)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #20
0
 def retrieve_all_companies(cls):
     try:
         return cls.query.all()
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #21
0
 def retrieve_products(cls):
     try:
         return cls.query.filter(cls.ProductID == ProductSellersModel.ProductID, ProductSellersModel.ProductID == ProductValuationsModel.ProductID).\
         with_entities(ProductModel.ProductID, ProductModel.ProductName, ProductSellersModel.CompanyCode, ProductValuationsModel.ProductPrice, ProductModel.DateEnteredInSystem)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #22
0
 def retrieve_company_by_name(cls, name):
     try:
         return cls.query.filter(cls.CompanyName == name)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #23
0
 def get_events(cls, date):
     try:
         return cls.query.filter(cls.DateOfEvent <= date).with_entities(
             EventLogModel.DateOfEvent, EventLogModel.UserAction)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #24
0
 def retrieve_by_user_id(cls, id):
     try:
         return cls.query.filter_by(EmployeeID=id).first()
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)
Пример #25
0
 def retrieve_company_by_code(cls, code):
     try:
         return cls.query.filter(cls.CompanyCode == code)
     except exc.ProgrammingError:
         raise exc.ProgrammingError("", "", 1)