#pragma once

#include <string>

class CarDealerScheme
{
public:


	CarDealerScheme( const std::wstring & theYear,
	                 const std::wstring & theMonth,
	                 const std::wstring & carDealerCode,
	                 const std::wstring & manHourPrice,
	                 const std::wstring & partPrice,
	                 const std::wstring & claimSupport,
	                 const std::wstring & scheme,
	                 const std::wstring & isQualified )
		: theYear( theYear ),
		  theMonth( theMonth ),
		  carDealerCode( carDealerCode ),
		  manHourPrice( manHourPrice ),
		  partPrice( partPrice ),
		  claimSupport( claimSupport ),
		  scheme( scheme ),
		  isQualified( isQualified )
	{
	}

	CarDealerScheme( const wchar_t * theYear,
	                 const wchar_t * theMonth,
	                 const wchar_t * carDealerCode,
	                 const wchar_t * manHourPrice,
	                 const wchar_t * partPrice,
	                 const wchar_t * claimSupport,
	                 const wchar_t * scheme,
	                 const wchar_t * isQualified )
		: theYear( theYear ),
		  theMonth( theMonth ),
		  carDealerCode( carDealerCode ),
		  manHourPrice( manHourPrice ),
		  partPrice( partPrice ),
		  claimSupport( claimSupport ),
		  scheme( scheme ),
		  isQualified( isQualified )
	{
	}


	CarDealerScheme( const CarDealerScheme & other )
		: theYear( other.theYear ),
		  theMonth( other.theMonth ),
		  carDealerCode( other.carDealerCode ),
		  manHourPrice( other.manHourPrice ),
		  partPrice( other.partPrice ),
		  claimSupport( other.claimSupport ),
		  scheme( other.scheme ),
		  isQualified( other.isQualified )
	{
	}

	CarDealerScheme( CarDealerScheme && other )
		: theYear( std::move( other.theYear ) ),
		  theMonth( std::move( other.theMonth ) ),
		  carDealerCode( std::move( other.carDealerCode ) ),
		  manHourPrice( std::move( other.manHourPrice ) ),
		  partPrice( std::move( other.partPrice ) ),
		  claimSupport( std::move( other.claimSupport ) ),
		  scheme( std::move( other.scheme ) ),
		  isQualified( std::move( other.isQualified ) )
	{
	}

	CarDealerScheme & operator=( const CarDealerScheme & other )
	{
		if ( this == &other )
			return *this;
		theYear       = other.theYear;
		theMonth      = other.theMonth;
		carDealerCode = other.carDealerCode;
		manHourPrice  = other.manHourPrice;
		partPrice     = other.partPrice;
		claimSupport  = other.claimSupport;
		scheme        = other.scheme;
		isQualified   = other.isQualified;
		return *this;
	}

	CarDealerScheme & operator=( CarDealerScheme && other )
	{
		if ( this == &other )
			return *this;
		theYear       = std::move( other.theYear );
		theMonth      = std::move( other.theMonth );
		carDealerCode = std::move( other.carDealerCode );
		manHourPrice  = std::move( other.manHourPrice );
		partPrice     = std::move( other.partPrice );
		claimSupport  = std::move( other.claimSupport );
		scheme        = std::move( other.scheme );
		isQualified   = std::move( other.isQualified );
		return *this;
	}


	std::wstring getTheYear() const
	{
		return theYear;
	}

	void setTheYear( const std::wstring & theYear )
	{
		this->theYear = theYear;
	}

	std::wstring getTheMonth() const
	{
		return theMonth;
	}

	void setTheMonth( const std::wstring & theMonth )
	{
		this->theMonth = theMonth;
	}

	std::wstring getCarDealerCode() const
	{
		return carDealerCode;
	}

	void setCarDealerCode( const std::wstring & carDealerCode )
	{
		this->carDealerCode = carDealerCode;
	}

	std::wstring getManHourPrice() const
	{
		return manHourPrice;
	}

	void setManHourPrice( const std::wstring & manHourPrice )
	{
		this->manHourPrice = manHourPrice;
	}

	std::wstring getPartPrice() const
	{
		return partPrice;
	}

	void setPartPrice( const std::wstring & partPrice )
	{
		this->partPrice = partPrice;
	}

	std::wstring getClaimSupport() const
	{
		return claimSupport;
	}

	void setClaimSupport( const std::wstring & claimSupport )
	{
		this->claimSupport = claimSupport;
	}

	std::wstring getScheme() const
	{
		return scheme;
	}

	void setScheme( const std::wstring & scheme )
	{
		this->scheme = scheme;
	}

	std::wstring getIsQualified() const
	{
		return isQualified;
	}

	void setIsQualified( const std::wstring & isQualified )
	{
		this->isQualified = isQualified;
	}

private:
	std::wstring theYear;
	std::wstring theMonth;
	std::wstring carDealerCode;
	std::wstring manHourPrice;
	std::wstring partPrice;
	std::wstring claimSupport; //理赔支持
	std::wstring scheme;
	std::wstring isQualified; //是否达成预期
};
