Subversion Repositories SmartDukaan

Rev

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

Rev 5437 Rev 5443
Line 4... Line 4...
4
@author: Chandranshu
4
@author: Chandranshu
5
'''
5
'''
6
from elixir import metadata, setup_all, session
6
from elixir import metadata, setup_all, session
7
from shop2020.clients.CatalogClient import CatalogClient
7
from shop2020.clients.CatalogClient import CatalogClient
8
from shop2020.clients.TransactionClient import TransactionClient
8
from shop2020.clients.TransactionClient import TransactionClient
-
 
9
from shop2020.purchase.main.model.Invoice import Invoice
9
from shop2020.purchase.main.model.LineItem import LineItem
10
from shop2020.purchase.main.model.LineItem import LineItem
10
from shop2020.purchase.main.model.Purchase import Purchase
11
from shop2020.purchase.main.model.Purchase import Purchase
11
from shop2020.purchase.main.model.PurchaseOrder import PurchaseOrder
12
from shop2020.purchase.main.model.PurchaseOrder import PurchaseOrder
12
from shop2020.purchase.main.model.RevisionedPurchaseOrder import \
13
from shop2020.purchase.main.model.RevisionedPurchaseOrder import \
13
    RevisionedPurchaseOrder
14
    RevisionedPurchaseOrder
Line 15... Line 16...
15
from shop2020.thriftpy.model.v1.catalog.ttypes import WarehouseType, \
16
from shop2020.thriftpy.model.v1.catalog.ttypes import WarehouseType, \
16
    InventoryType
17
    InventoryType
17
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
18
from shop2020.thriftpy.model.v1.order.ttypes import OrderStatus
18
from shop2020.thriftpy.purchase.ttypes import PurchaseServiceException, POStatus, \
19
from shop2020.thriftpy.purchase.ttypes import PurchaseServiceException, POStatus, \
19
    PurchaseOrder as TPurchaseOrder, LineItem as TLineItem
20
    PurchaseOrder as TPurchaseOrder, LineItem as TLineItem
-
 
21
from shop2020.utils.Utils import to_py_date
20
from sqlalchemy import create_engine
22
from sqlalchemy import create_engine
21
from sqlalchemy.sql.expression import or_
23
from sqlalchemy.sql.expression import or_
22
import datetime
24
import datetime
23
import logging
25
import logging
24
import sys
26
import sys
Line 386... Line 388...
386
    def close_session(self):
388
    def close_session(self):
387
        if session.is_active:
389
        if session.is_active:
388
            print "session is active. closing it."
390
            print "session is active. closing it."
389
            session.close()
391
            session.close()
390
 
392
 
-
 
393
    def getInvoices(self, date):
-
 
394
        """
-
 
395
        Fetches all invoices for a given date
-
 
396
 
-
 
397
        Parameters:
-
 
398
         - date
-
 
399
        """
-
 
400
        try:
-
 
401
            return [i.to_thrift_object() for i in Invoice.query.filter(Invoice.date > to_py_date(date)).all()]
-
 
402
        finally:
-
 
403
            self.close_session()
-
 
404
 
-
 
405
    def createInvoice(self, invoice):
-
 
406
        """
-
 
407
        Creates an invoice object
-
 
408
 
-
 
409
        Parameters:
-
 
410
         - invoice
-
 
411
        """
-
 
412
        try:
-
 
413
            invoiceObj = Invoice()
-
 
414
            invoiceObj.invoiceNumber = invoice.invoiceNumber
-
 
415
            invoiceObj.date = to_py_date(invoice.date)
-
 
416
            invoiceObj.receivedFrom = invoice.receivedFrom
-
 
417
            invoiceObj.numItems = invoice.numItems
-
 
418
            invoiceObj.supplierId = invoice.supplierId
-
 
419
            session.commit()
-
 
420
        finally:
-
 
421
            self.close_session()        
-
 
422
 
391
    def isAlive(self, ):
423
    def isAlive(self, ):
392
        """
424
        """
393
        For checking weather service is active alive or not. It also checks connectivity with database
425
        For checking weather service is active alive or not. It also checks connectivity with database
394
        """
426
        """
395
        try:
427
        try: