Program Listing for File Order.h
↰ Return to documentation for file (axr.sdk/models/Order.h
)
// Copyright (C) AcceleratXR, Inc. All rights reserved.
#pragma once
#include "axr.sdk/EntityBase.h"
#include "./OrderItem.h"
#include "axr.sdk/StringEnum.h"
#include <cpprest/details/basic_types.h>
#include <vector>
namespace axr {
namespace sdk {
namespace models {
class Order : public EntityBase
{
public:
class Status : public StringEnum<Status>
{
public:
static const Status* CREATED;
static const Status* PENDING;
static const Status* FULFILLED;
static const Status* FAILED;
static const Status* VOIDED;
private:
Status(const utility::char_t* value)
: StringEnum(value)
{
}
};
Order() : EntityBase() {}
Order(const Order& value) : EntityBase(value) {}
Order(Order&& value) : EntityBase(value) {}
virtual ~Order() {}
// Object overrides
virtual Order& SetProperties(const std::map<utility::string_t, Variant>& value) override
{
Object::SetProperties(value);
return *this;
}
virtual Order& SetProperties(std::map<utility::string_t, Variant>&& value) override
{
Object::SetProperties(value);
return *this;
}
virtual Order& SetProperty(const utility::char_t* name, const Variant& value) override
{
Object::SetProperty(name, value);
return*this;
}
virtual Order& SetProperty(const utility::string_t& name, const Variant& value) override
{
Object::SetProperty(name, value);
return*this;
}
virtual Order& SetRemoteUrl(const utility::string_t& url) override
{
Object::SetRemoteUrl(url);
return *this;
}
// EntityBase overrides
virtual Order& SetUid(const utility::string_t& value) override
{
EntityBase::SetUid(value);
return *this;
}
virtual Order& SetDateCreated(const datetime& value) override
{
EntityBase::SetDateCreated(value);
return *this;
}
virtual Order& SetDateModified(const datetime& value) override
{
EntityBase::SetDateModified(value);
return *this;
}
virtual Order& SetVersion(const uint64_t value) override
{
EntityBase::SetVersion(value);
return *this;
}
static const utility::char_t* ClassName()
{
return _XPLATSTR("axr::sdk::models::Order");
}
void Validate() override;
// Order members
uint64_t GetId() const;
Order& SetId(uint64_t value);
std::vector<std::shared_ptr<OrderItem>> GetItems() const;
Order& SetItems(std::vector<std::shared_ptr<OrderItem>> value);
utility::string_t GetPromoCode() const;
Order& SetPromoCode(const utility::string_t& value);
utility::string_t GetReferral() const;
Order& SetReferral(const utility::string_t& value);
float GetSubtotal() const;
Order& SetSubtotal(float value);
float GetTax() const;
Order& SetTax(float value);
float GetTotal() const;
Order& SetTotal(float value);
const Status* GetStatus() const;
Order& SetStatus(const Status* value);
utility::string_t GetWalletUid() const;
Order& SetWalletUid(const utility::string_t& value);
};
} // namespace models
} // namespace axr
} // namespace sdk