unit RootUnit;
interface
uses Generics.Collections, Rest.Json;
type
TContentClass = class
private
FClienteDocumento: String;
FClienteId: Longint;
FClienteNome: String;
FCondicaoPagamentoDescricao: String;
FCondicaoPagamentoId: Longint;
FContatoFone: String;
FDavDatahoraEmissao: String;
FDavEmpresaId: Longint;
FDavId: Longint;
FDavNumero: Longint;
FDavSituacao: String;
FDavUrl: String;
FDavValorAcrescimo: Extended;
FDavValorFrete: Extended;
FDavValorTotal: Extended;
FEnderecoBairro: String;
FEnderecoCep: String;
FEnderecoCidade: String;
FEnderecoEntrega: String;
FEnderecoNome: String;
FEnderecoNumero: String;
FEnderecoUf: String;
FFormaPagamentoDescricao: String;
FFormaPagamentoId: Longint;
FModalidadeDescricao: String;
FModalidadeId: Longint;
public
property clienteDocumento: string read FClienteDocumento write FClienteDocumento; {CPF/CNPJ do cliente}
property clienteId: Longint read FClienteId write FClienteId; {PK do Cliente }
property clienteNome: string read FClienteNome write FClienteNome; {Nome do cliente}
property condicaoPagamentoDescricao: string read FCondicaoPagamentoDescricao write FCondicaoPagamentoDescricao;
property condicaoPagamentoId: Longint read FCondicaoPagamentoId write FCondicaoPagamentoId;
property contatoFone: string read FContatoFone write FContatoFone; {Telefone/celular de contato}
property davDatahoraEmissao: string read FDavDatahoraEmissao write FDavDatahoraEmissao;
property davEmpresaId: Longint read FDavEmpresaId write FDavEmpresaId; {Id da empresa}
property davId: Longint read FDavId write FDavId; {Id/PK da DAV}
property davNumero: Longint read FDavNumero write FDavNumero; {Número da DAV}
property davSituacao: string read FDavSituacao write FDavSituacao; {Situacao da DAV, APROVADA}
property davUrl: string read FDavUrl write FDavUrl;
property davValorAcrescimo: Extended read FDavValorAcrescimo write FDavValorAcrescimo; {Valor do Acréscimo do pedido}
property davValorFrete: Extended read FDavValorFrete write FDavValorFrete; {Valor do frete do pedido}
property davValorTotal: Extended read FDavValorTotal write FDavValorTotal; {Valor total do pedido}
property enderecoBairro: string read FEnderecoBairro write FEnderecoBairro; {Bairro do endereco de entrega}
property enderecoCep: string read FEnderecoCep write FEnderecoCep; {Cep do endereco de entrega}
property enderecoCidade: string read FEnderecoCidade write FEnderecoCidade; {Cidade do endereco de entrega}
property enderecoEntrega: string read FEnderecoEntrega write FEnderecoEntrega; {Logradouro do endereco de entrega}
property enderecoNome: string read FEnderecoNome write FEnderecoNome; {Nome do endereco de entrega}
property enderecoNumero: String read FEnderecoNumero write FEnderecoNumero; {Númerodo endereco de entrega}
property enderecoUf: string read FEnderecoUf write FEnderecoUf; {UF do endereco de entrega}
property formaPagamentoDescricao: string read FFormaPagamentoDescricao write FFormaPagamentoDescricao; {Descrição Forma de pagamento}
property formaPagamentoId: Longint read FFormaPagamentoId write FFormaPagamentoId; {Id da Forma de pagamento}
property modalidadeDescricao: string read FModalidadeDescricao write FModalidadeDescricao; {Modalidade de venda}
property modalidadeId: Longint read FModalidadeId write FModalidadeId; {ID da Modalidade de venda}
function ToJsonString: String;
class function FromJsonString(AJsonString: String): TContentClass;
end;
TRootClass = class
private
FContent: TArray;
FFirst: Boolean;
FLast: Boolean;
FNumber: Extended;
FNumberOfElements: Extended;
FSize: Extended;
public
property content: TArray read FContent write FContent; {Array de Pedidos}
property first: Boolean read FFirst write FFirst; {Define se é a primeira página de resultados}
property last: Boolean read FLast write FLast; {Define se é a ultima pagina de resultados}
property number: Extended read FNumber write FNumber; {Numero da pagina de resultados}
property numberOfElements: Extended read FNumberOfElements write FNumberOfElements; {Numero de elementos retornados}
property size: Extended read FSize write FSize; {Tamanho máxima da lista }
destructor Destroy; override;
function ToJsonString: string;
class function FromJsonString(AJsonString: string): TRootClass;
end;
implementation
{TContentClass}
function TContentClass.ToJsonString: String;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TContentClass.FromJsonString(AJsonString: String): TContentClass;
begin
result := TJson.JsonToObject(AJsonString)
end;
{TRootClass}
destructor TRootClass.Destroy;
var
LcontentItem: TContentClass;
begin
for LcontentItem in FContent do
LcontentItem.Free;
inherited;
end;
function TRootClass.ToJsonString: string;
begin
result := TJson.ObjectToJsonString(self);
end;
class function TRootClass.FromJsonString(AJsonString: string): TRootClass;
begin
result := TJson.JsonToObject(AJsonString)
end;
end.
Was this article helpful to you?
No Yes