Subversion Repositories SmartDukaan

Rev

Rev 6000 | Go to most recent revision | 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
9
from shop2020.thriftpy.model.v1.order.ttypes import \
10
    RechargeOrder as TRechargeOrder, RechargeType
11
from sqlalchemy.types import String, Integer
12
 
13
class MobileRechargeOrder(RechargeOrder):
14
    '''
15
    classdocs
16
    '''
17
    mobileNumber = Field(String(256))
18
    mobileOperatorId = Field(Integer)
19
    using_options(shortnames=True, inheritance='multi')
20
    using_table_options(mysql_engine="InnoDB")
21
 
22
    def __init__(self):
23
        '''
24
        Constructor
25
        '''
26
        super(MobileRechargeOrder, self).__init__()
27
        self.idPrefix = 'MOBR'
28
 
29
    def to_thrift_object(self):
30
        mobileRechargeOrder = TRechargeOrder()
31
        super(MobileRechargeOrder, self).to_thrift_object(mobileRechargeOrder)
32
        mobileRechargeOrder.deviceNumber = self.mobileNumber
33
        mobileRechargeOrder.operatorId = self.mobileOperatorId
34
        mobileRechargeOrder.rechargeType = RechargeType.MOBILE
35
        return mobileRechargeOrder
36
 
37
    def from_thrift_object(self, thriftMobileRechargeOrder):
38
        super(MobileRechargeOrder, self).from_thrift_object(thriftMobileRechargeOrder)
39
        self.mobileNumber = thriftMobileRechargeOrder.deviceNumber
6031 rajveer 40
        self.mobileOperatorId = thriftMobileRechargeOrder.operatorId
6000 mandeep.dh 41
        if not self.is_valid():
42
            raise ValueError()
43
 
44
    def is_valid(self):
6031 rajveer 45
        return super(MobileRechargeOrder, self).is_valid() and self.totalAmount < 5000