#------------------------------------------------------------
# Copyright (C) 2009 RoyaltyShare, Inc.   All Rights Reserved
#------------------------------------------------------------
package Support::SaleImporter::Service;

use strict;
use warnings;
use Carp;

use lib '/app/tools/common/lib';
use Common::Assert;

use base 'Common::FormObject';

sub _init {
    my ( $self, %args ) = @_;

    $self->SUPER::_init(%args);

    if ( $args{serviceID} ) {
        return $self->_initFromHash( $args{serviceID} );
    } else {
        return $self->_initProperties( {} );
    }
}

sub _initFromHash { die "must be overloaded" }

sub _initProperties {
    my ( $self, $prop ) = @_;

    $self->{ServiceID} = Common::FormObject::Scalar::Integer->new( value => $prop->{service_id}, readOnly => 1 );
    $self->{ServiceName} = Common::FormObject::Scalar::String->new( value => $prop->{service_name}, required => 1 );
    $self->{ServiceNameClean} = Common::FormObject::Scalar::String->new( value => $prop->{service_name_clean} );

    return $self;
}

1
