Subversion Repositories SmartDukaan

Rev

Rev 6380 | Blame | Compare with Previous | Last modification | View Log | RSS feed

'''
Created on 29-Jul-2011

@author: Chandranshu
'''
from elixir.entity import Entity
from elixir.fields import Field
from elixir.options import using_options, using_table_options
from elixir.relationships import ManyToOne
from shop2020.thriftpy.purchase.ttypes import Purchase as TPurchase
from shop2020.utils.Utils import to_java_date
from sqlalchemy.types import Integer, String, Float, DateTime
import datetime

class Purchase(Entity):
    '''
    classdocs
    '''
    id = Field(Integer, primary_key=True, autoincrement=True)
    purchaseOrder = ManyToOne("PurchaseOrder")
    invoiceNumber = Field(String(30))
    receivedOn = Field(DateTime)
    freightCharges = Field(Float)
    purchaseComments = Field(String(500))
    using_options(shortnames=True)
    using_table_options(mysql_engine="InnoDB")

    def __init__(self, purchaseOrder, invoiceNumber, freightCharges, purchaseComments):
        '''
        Constructor
        '''
        self.purchaseOrder = purchaseOrder
        self.invoiceNumber = invoiceNumber
        self.freightCharges = freightCharges
        self.purchaseComments = purchaseComments
        self.receivedOn = datetime.datetime.now()
        
    def to_thrift_object(self):
        t_purchase = TPurchase()
        t_purchase.id = self.id
        t_purchase.poId = self.purchaseOrder.id
        t_purchase.invoiceNumber = self.invoiceNumber
        t_purchase.freightCharges = self.freightCharges
        t_purchase.purchaseComments = self.purchaseComments
        t_purchase.receivedOn = to_java_date(self.receivedOn)
        return t_purchase