Subversion Repositories SmartDukaan

Rev

Rev 6031 | 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)
6159 rajveer 19
    rechargePlan = Field(String(256))
6000 mandeep.dh 20
    using_options(shortnames=True, inheritance='multi')
21
    using_table_options(mysql_engine="InnoDB")
22
 
23
    def __init__(self):
24
        '''
25
        Constructor
26
        '''
27
        super(MobileRechargeOrder, self).__init__()
28
        self.idPrefix = 'MOBR'
29
 
30
    def to_thrift_object(self):
31
        mobileRechargeOrder = TRechargeOrder()
32
        super(MobileRechargeOrder, self).to_thrift_object(mobileRechargeOrder)
33
        mobileRechargeOrder.deviceNumber = self.mobileNumber
34
        mobileRechargeOrder.operatorId = self.mobileOperatorId
6159 rajveer 35
        mobileRechargeOrder.plan = self.rechargePlan
6000 mandeep.dh 36
        mobileRechargeOrder.rechargeType = RechargeType.MOBILE
37
        return mobileRechargeOrder
38
 
39
    def from_thrift_object(self, thriftMobileRechargeOrder):
40
        super(MobileRechargeOrder, self).from_thrift_object(thriftMobileRechargeOrder)
41
        self.mobileNumber = thriftMobileRechargeOrder.deviceNumber
6031 rajveer 42
        self.mobileOperatorId = thriftMobileRechargeOrder.operatorId
6159 rajveer 43
        self.rechargePlan = thriftMobileRechargeOrder.plan
6000 mandeep.dh 44
        if not self.is_valid():
45
            raise ValueError()
46
 
47
    def is_valid(self):
6031 rajveer 48
        return super(MobileRechargeOrder, self).is_valid() and self.totalAmount < 5000