Subversion Repositories SmartDukaan

Rev

Rev 1308 | Rev 1347 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1308 Rev 1341
Line 5... Line 5...
5
'''
5
'''
6
from elixir import *
6
from elixir import *
7
from shop2020.model.v1.catalog.impl import DataService
7
from shop2020.model.v1.catalog.impl import DataService
8
from shop2020.model.v1.catalog.impl.DataService import Item, \
8
from shop2020.model.v1.catalog.impl.DataService import Item, \
9
    Warehouse, ItemInventoryHistory, CurrentInventorySnapshot, ItemInfo,\
9
    Warehouse, ItemInventoryHistory, CurrentInventorySnapshot, ItemInfo,\
10
    ItemChangeLog, Category, EntityIDGenerator
10
    ItemChangeLog, Category, EntityIDGenerator, VendorItemPricing
11
from shop2020.thriftpy.model.v1.catalog.ttypes import \
11
from shop2020.thriftpy.model.v1.catalog.ttypes import \
12
    InventoryServiceException, status
12
    InventoryServiceException, status
13
from shop2020.model.v1.catalog.impl.Convertors import to_t_item
13
from shop2020.model.v1.catalog.impl.Convertors import to_t_item
14
import datetime
14
import datetime
15
import sys
15
import sys
Line 543... Line 543...
543
 
543
 
544
def get_category_object():
544
def get_category_object():
545
    object = Category.get_by(id=1).object
545
    object = Category.get_by(id=1).object
546
    return object
546
    return object
547
 
547
 
-
 
548
def get_item_pricing(item_id, warehouse_id):
-
 
549
    item = Item.query.filter_by(id=item_id).first()
-
 
550
    if item is None:
-
 
551
        raise InventoryServiceException(101, "Bad Item")
-
 
552
    
-
 
553
    warehouse = get_Warehouse(warehouse_id)
-
 
554
    if not warehouse:
-
 
555
        raise InventoryServiceException(108, "Bad Warehouse")
-
 
556
    vendor = warehouse.vendor
-
 
557
    
-
 
558
    try:
-
 
559
        item_pricing = VendorItemPricing.query.filter_by(vendor=vendor, item=item).one()
-
 
560
        return item_pricing        
-
 
561
    except sqlalchemy.orm.exc.MultipleResultsFound:
-
 
562
        raise InventoryServiceException(110, "Multiple pricing information present for Vendor: " + vendor.name + " and Item: " + str(item_id))
-
 
563
    except sqlalchemy.orm.exc.NoResultFound:
-
 
564
        raise InventoryServiceException(111, "Missing pricing information for Vendor: " + vendor.name + " and Item: " + str(item_id))
-
 
565
 
548
def close_session():
566
def close_session():
549
    if session.is_active:
567
    if session.is_active:
550
        print "session is active. closing it."
568
        print "session is active. closing it."
551
        session.close()
569
        session.close()
552
570