#pragma once

#include <string>


/************************************************
* \brief 送返修推荐表记录
************************************************/
class RepairSuggestionRecord
{
public:
	RepairSuggestionRecord( std::wstring orderNo,
	                        std::wstring orderType,
	                        std::wstring notifyNo,
	                        std::wstring suggestedCarDealerCode,
	                        std::wstring suggestedCarDealerName,
	                        std::wstring damageDate,
	                        std::wstring plateNumber,
	                        std::wstring brandName,
	                        std::wstring messageType,
	                        std::wstring messageSendingDate,
	                        std::wstring dataSource )
		: orderNo_( std::move( orderNo ) ),
		  orderType_( std::move( orderType ) ),
		  notifyNo_( std::move( notifyNo ) ),
		  suggestedCarDealerCode_( std::move( suggestedCarDealerCode ) ),
		  suggestedCarDealerName_( std::move( suggestedCarDealerName ) ),
		  damageDate_( std::move( damageDate ) ),
		  plateNumber_( std::move( plateNumber ) ),
		  brandName_( std::move( brandName ) ),
		  messageType_( std::move( messageType ) ),
		  messageSendingDate_( std::move( messageSendingDate ) ),
		  dataSource_( std::move( dataSource ) )
	{
	}

	RepairSuggestionRecord( const RepairSuggestionRecord & other )
		: orderNo_( other.orderNo_ ),
		  orderType_( other.orderType_ ),
		  notifyNo_( other.notifyNo_ ),
		  suggestedCarDealerCode_( other.suggestedCarDealerCode_ ),
		  suggestedCarDealerName_( other.suggestedCarDealerName_ ),
		  damageDate_( other.damageDate_ ),
		  plateNumber_( other.plateNumber_ ),
		  brandName_( other.brandName_ ),
		  messageType_( other.messageType_ ),
		  messageSendingDate_( other.messageSendingDate_ ),
		  dataSource_( other.dataSource_ )
	{
	}

	RepairSuggestionRecord( RepairSuggestionRecord && other )
		: orderNo_( std::move( other.orderNo_ ) ),
		  orderType_( std::move( other.orderType_ ) ),
		  notifyNo_( std::move( other.notifyNo_ ) ),
		  suggestedCarDealerCode_( std::move( other.suggestedCarDealerCode_ ) ),
		  suggestedCarDealerName_( std::move( other.suggestedCarDealerName_ ) ),
		  damageDate_( std::move( other.damageDate_ ) ),
		  plateNumber_( std::move( other.plateNumber_ ) ),
		  brandName_( std::move( other.brandName_ ) ),
		  messageType_( std::move( other.messageType_ ) ),
		  messageSendingDate_( std::move( other.messageSendingDate_ ) ),
		  dataSource_( std::move( other.dataSource_ ) )
	{
	}

	RepairSuggestionRecord & operator=( const RepairSuggestionRecord & other )
	{
		if ( this == &other )
			return *this;
		orderNo_                = other.orderNo_;
		orderType_              = other.orderType_;
		notifyNo_               = other.notifyNo_;
		suggestedCarDealerCode_ = other.suggestedCarDealerCode_;
		suggestedCarDealerName_ = other.suggestedCarDealerName_;
		damageDate_             = other.damageDate_;
		plateNumber_            = other.plateNumber_;
		brandName_              = other.brandName_;
		messageType_            = other.messageType_;
		messageSendingDate_     = other.messageSendingDate_;
		dataSource_             = other.dataSource_;
		return *this;
	}

	RepairSuggestionRecord & operator=( RepairSuggestionRecord && other )
	{
		if ( this == &other )
			return *this;
		orderNo_                = std::move( other.orderNo_ );
		orderType_              = std::move( other.orderType_ );
		notifyNo_               = std::move( other.notifyNo_ );
		suggestedCarDealerCode_ = std::move( other.suggestedCarDealerCode_ );
		suggestedCarDealerName_ = std::move( other.suggestedCarDealerName_ );
		damageDate_             = std::move( other.damageDate_ );
		plateNumber_            = std::move( other.plateNumber_ );
		brandName_              = std::move( other.brandName_ );
		messageType_            = std::move( other.messageType_ );
		messageSendingDate_     = std::move( other.messageSendingDate_ );
		dataSource_             = std::move( other.dataSource_ );
		return *this;
	}

	std::wstring getOrderNo() const
	{
		return orderNo_;
	}

	void setOrderNo( const std::wstring & orderNo )
	{
		orderNo_ = orderNo;
	}

	std::wstring getOrderType() const
	{
		return orderType_;
	}

	void setOrderType( const std::wstring & orderType )
	{
		orderType_ = orderType;
	}

	std::wstring getNotifyNo() const
	{
		return notifyNo_;
	}

	void setNotifyNo( const std::wstring & notifyNo )
	{
		notifyNo_ = notifyNo;
	}

	std::wstring getSuggestedCarDealerCode() const
	{
		return suggestedCarDealerCode_;
	}

	void setSuggestedCarDealerCode( const std::wstring & suggestedCarDealerCode )
	{
		suggestedCarDealerCode_ = suggestedCarDealerCode;
	}

	std::wstring getSuggestedCarDealerName() const
	{
		return suggestedCarDealerName_;
	}

	void setSuggestedCarDealerName( const std::wstring & suggestedCarDealerName )
	{
		suggestedCarDealerName_ = suggestedCarDealerName;
	}

	std::wstring getDamageDate() const
	{
		return damageDate_;
	}

	void setDamageDate( const std::wstring & damageDate )
	{
		damageDate_ = damageDate;
	}

	std::wstring getPlateNumber() const
	{
		return plateNumber_;
	}

	void setPlateNumber( const std::wstring & plateNumber )
	{
		plateNumber_ = plateNumber;
	}

	std::wstring getBrandName() const
	{
		return brandName_;
	}

	void setBrandName( const std::wstring & brandName )
	{
		brandName_ = brandName;
	}

	std::wstring getMessageType() const
	{
		return messageType_;
	}

	void setMessageType( const std::wstring & messageType )
	{
		messageType_ = messageType;
	}

	std::wstring getMessageSendingDate() const
	{
		return messageSendingDate_;
	}

	void setMessageSendingDate( const std::wstring & messageSendingDate )
	{
		messageSendingDate_ = messageSendingDate;
	}

	std::wstring getDataSource() const
	{
		return dataSource_;
	}

	void setDataSource( const std::wstring & dataSource )
	{
		dataSource_ = dataSource;
	}

private:
	std::wstring orderNo_;
	std::wstring orderType_;
	std::wstring notifyNo_;
	std::wstring suggestedCarDealerCode_;
	std::wstring suggestedCarDealerName_;
	std::wstring damageDate_;
	std::wstring plateNumber_;
	std::wstring brandName_;
	std::wstring messageType_;
	std::wstring messageSendingDate_;
	std::wstring dataSource_;
};
