Subversion Repositories SmartDukaan

Rev

Rev 6535 | Details | Compare with Previous | Last modification | View Log | RSS feed

Rev Author Line No. Line
6000 mandeep.dh 1
'''
2
Created on 11-Sep-2012
3
 
4
@author: mandeep
5
'''
6
from elixir.fields import Field
7
from elixir.options import using_options, using_table_options
8
from shop2020.model.v1.order.impl.model.RechargeOrder import RechargeOrder
6053 amit.gupta 9
from sqlalchemy.types import String, Integer
6031 rajveer 10
from shop2020.thriftpy.model.v1.order.ttypes import RechargeOrder as TRechargeOrder, RechargeType
6000 mandeep.dh 11
 
12
class DTHRechargeOrder(RechargeOrder):
13
    '''
14
    classdocs
15
    '''
16
    dthAccountNumber = Field(String(256))
6053 amit.gupta 17
    dthOperatorId = Field(Integer)
6000 mandeep.dh 18
    using_options(shortnames=True, inheritance='multi')
19
    using_table_options(mysql_engine="InnoDB")
20
 
21
    def __init__(self):
22
        '''
23
        Constructor
24
        '''
25
        super(DTHRechargeOrder, self).__init__()
6031 rajveer 26
        self.idPrefix = 'DTHR'
27
 
28
    def to_thrift_object(self):
29
        dthRechargeOrder = TRechargeOrder()
30
        super(DTHRechargeOrder, self).to_thrift_object(dthRechargeOrder)
31
        dthRechargeOrder.deviceNumber = self.dthAccountNumber
32
        dthRechargeOrder.operatorId = self.dthOperatorId
33
        dthRechargeOrder.rechargeType = RechargeType.DTH
34
        return dthRechargeOrder
35
 
36
    def from_thrift_object(self, thriftDthRechargeOrder):
37
        super(DTHRechargeOrder, self).from_thrift_object(thriftDthRechargeOrder)
38
        self.dthAccountNumber = thriftDthRechargeOrder.deviceNumber
39
        self.dthOperatorId = thriftDthRechargeOrder.operatorId
40
        if not self.is_valid():
41
            raise ValueError()
42
 
43
    def is_valid(self):
6536 anupam.sin 44
        return super(DTHRechargeOrder, self).is_valid() and self.totalAmount <= 2000