Program Listing for File PromoCode.h
↰ Return to documentation for file (axr.sdk/models/PromoCode.h
)
// Copyright (C) AcceleratXR, Inc. All rights reserved.
#pragma once
#include "axr.sdk/EntityBase.h"
#include "axr.sdk/StringEnum.h"
#include <cpprest/details/basic_types.h>
#include <vector>
namespace axr {
namespace sdk {
namespace models {
class PromoCode : public EntityBase
{
public:
class Type : public StringEnum<Type>
{
public:
static const Type* CASH;
static const Type* PERCENT;
static const Type* PRODUCT;
private:
Type(const utility::char_t* value)
: StringEnum(value)
{
}
};
PromoCode() : EntityBase() {}
PromoCode(const PromoCode& value) : EntityBase(value) {}
PromoCode(PromoCode&& value) : EntityBase(value) {}
virtual ~PromoCode() {}
// Object overrides
virtual PromoCode& SetProperties(const std::map<utility::string_t, Variant>& value) override
{
Object::SetProperties(value);
return *this;
}
virtual PromoCode& SetProperties(std::map<utility::string_t, Variant>&& value) override
{
Object::SetProperties(value);
return *this;
}
virtual PromoCode& SetProperty(const utility::char_t* name, const Variant& value) override
{
Object::SetProperty(name, value);
return*this;
}
virtual PromoCode& SetProperty(const utility::string_t& name, const Variant& value) override
{
Object::SetProperty(name, value);
return*this;
}
virtual PromoCode& SetRemoteUrl(const utility::string_t& url) override
{
Object::SetRemoteUrl(url);
return *this;
}
// EntityBase overrides
virtual PromoCode& SetUid(const utility::string_t& value) override
{
EntityBase::SetUid(value);
return *this;
}
virtual PromoCode& SetDateCreated(const datetime& value) override
{
EntityBase::SetDateCreated(value);
return *this;
}
virtual PromoCode& SetDateModified(const datetime& value) override
{
EntityBase::SetDateModified(value);
return *this;
}
virtual PromoCode& SetVersion(const uint64_t value) override
{
EntityBase::SetVersion(value);
return *this;
}
static const utility::char_t* ClassName()
{
return _XPLATSTR("axr::sdk::models::PromoCode");
}
void Validate() override;
// PromoCode members
utility::string_t GetName() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetName(const utility::string_t& value);
#endif // AXR_COMPILE_SERVER
utility::string_t GetDescription() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetDescription(const utility::string_t& value);
#endif // AXR_COMPILE_SERVER
uint64_t GetMaxUses() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetMaxUses(uint64_t value);
#endif // AXR_COMPILE_SERVER
datetime GetExpires() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetExpires(const datetime& value);
#endif // AXR_COMPILE_SERVER
datetime GetStarts() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetStarts(const datetime& value);
#endif // AXR_COMPILE_SERVER
uint64_t GetRedeemed() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetRedeemed(uint64_t value);
#endif // AXR_COMPILE_SERVER
std::vector<utility::string_t> GetProducts() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetProducts(std::vector<utility::string_t> value);
#endif // AXR_COMPILE_SERVER
std::vector<utility::string_t> GetCustomers() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetCustomers(std::vector<utility::string_t> value);
#endif // AXR_COMPILE_SERVER
std::shared_ptr<Object> GetAmount() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetAmount(std::shared_ptr<Object> value);
#endif // AXR_COMPILE_SERVER
const Type* GetType() const;
#ifdef AXR_COMPILE_SERVER
PromoCode& SetType(const Type* value);
#endif // AXR_COMPILE_SERVER
};
} // namespace models
} // namespace axr
} // namespace sdk