
{*********************************************************************************************************************************************************************}
{                                                                                                                                                                     }
{                                                                          XML Data Binding                                                                           }
{                                                                                                                                                                     }
{         Generated on: 10/11/2016 05:08:26 p.m.                                                                                                                      }
{       Generated from: \\EXSIM2\Exsim\CODIGOS\99 DESARROLLOS ESPECIALES\MONTERREY\MARCO RUIZ\InterfaseCírculoSaludOroGenerico\2016\GetBonusProductListResponse.xml   }
{   Settings stored in: \\EXSIM2\Exsim\CODIGOS\99 DESARROLLOS ESPECIALES\MONTERREY\MARCO RUIZ\InterfaseCírculoSaludOroGenerico\2016\GetBonusProductListResponse.xdb   }
{                                                                                                                                                                     }
{*********************************************************************************************************************************************************************}

unit GetBonusProductListResponse;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward Decls }

  IXMLGetBonusProductListResponseType = interface;
  IXMLGetBonusProductListResultType = interface;
  IXMLResponseBonusListType = interface;

{ IXMLGetBonusProductListResponseType }

  IXMLGetBonusProductListResponseType = interface(IXMLNode)
    ['{32E95DB4-8CB4-401B-A996-1B8E01D2975D}']
    { Property Accessors }
    function Get_Xmlns: WideString;
    function Get_GetBonusProductListResult: IXMLGetBonusProductListResultType;
    procedure Set_Xmlns(Value: WideString);
    { Methods & Properties }
    property Xmlns: WideString read Get_Xmlns write Set_Xmlns;
    property GetBonusProductListResult: IXMLGetBonusProductListResultType read Get_GetBonusProductListResult;
  end;

{ IXMLGetBonusProductListResultType }

  IXMLGetBonusProductListResultType = interface(IXMLNodeCollection)
    ['{DCF3AB0E-55B3-4343-B4BA-5D41D797A893}']
    { Property Accessors }
    function Get_ResponseBonusList(Index: Integer): IXMLResponseBonusListType;
    { Methods & Properties }
    function Add: IXMLResponseBonusListType;
    function Insert(const Index: Integer): IXMLResponseBonusListType;
    property ResponseBonusList[Index: Integer]: IXMLResponseBonusListType read Get_ResponseBonusList; default;
  end;

{ IXMLResponseBonusListType }

  IXMLResponseBonusListType = interface(IXMLNode)
    ['{1030BD30-C503-4731-AFE6-626C65DB4D86}']
    { Property Accessors }
    function Get_Sku: string;
    function Get_PiezasPorComprar: Integer;
    function Get_PiezasGratis: Integer;
    function Get_PiezasAcumuladas: Integer;
    function Get_PiezasPendientes: Integer;
    function Get_PorcentajeDescuento: Integer;
    function Get_MontoDescuento: Double;
    function Get_TipoPrecioDescuento: Integer;
    function Get_PrecioFijo: Double;
    function Get_PorcentajePuntos: Integer;
    function Get_EfectivoxPunto: Integer;
    function Get_HuboError: Boolean;
    function Get_MensajeError: WideString;
    procedure Set_Sku(Value: string);
    procedure Set_PiezasPorComprar(Value: Integer);
    procedure Set_PiezasGratis(Value: Integer);
    procedure Set_PiezasAcumuladas(Value: Integer);
    procedure Set_PiezasPendientes(Value: Integer);
    procedure Set_PorcentajeDescuento(Value: Integer);
    procedure Set_MontoDescuento(Value: Double);
    procedure Set_TipoPrecioDescuento(Value: Integer);
    procedure Set_PrecioFijo(Value: Double);
    procedure Set_PorcentajePuntos(Value: Integer);
    procedure Set_EfectivoxPunto(Value: Integer);
    procedure Set_HuboError(Value: Boolean);
    procedure Set_MensajeError(Value: WideString);
    { Methods & Properties }
    property Sku: string read Get_Sku write Set_Sku;
    property PiezasPorComprar: Integer read Get_PiezasPorComprar write Set_PiezasPorComprar;
    property PiezasGratis: Integer read Get_PiezasGratis write Set_PiezasGratis;
    property PiezasAcumuladas: Integer read Get_PiezasAcumuladas write Set_PiezasAcumuladas;
    property PiezasPendientes: Integer read Get_PiezasPendientes write Set_PiezasPendientes;
    property PorcentajeDescuento: Integer read Get_PorcentajeDescuento write Set_PorcentajeDescuento;
    property MontoDescuento: Double read Get_MontoDescuento write Set_MontoDescuento;
    property TipoPrecioDescuento: Integer read Get_TipoPrecioDescuento write Set_TipoPrecioDescuento;
    property PrecioFijo: Double read Get_PrecioFijo write Set_PrecioFijo;
    property PorcentajePuntos: Integer read Get_PorcentajePuntos write Set_PorcentajePuntos;
    property EfectivoxPunto: Integer read Get_EfectivoxPunto write Set_EfectivoxPunto;
    property HuboError: Boolean read Get_HuboError write Set_HuboError;
    property MensajeError: WideString read Get_MensajeError write Set_MensajeError;
  end;

{ Forward Decls }

  TXMLGetBonusProductListResponseType = class;
  TXMLGetBonusProductListResultType = class;
  TXMLResponseBonusListType = class;

{ TXMLGetBonusProductListResponseType }

  TXMLGetBonusProductListResponseType = class(TXMLNode, IXMLGetBonusProductListResponseType)
  protected
    { IXMLGetBonusProductListResponseType }
    function Get_Xmlns: WideString;
    function Get_GetBonusProductListResult: IXMLGetBonusProductListResultType;
    procedure Set_Xmlns(Value: WideString);
  public
    procedure AfterConstruction; override;
  end;

{ TXMLGetBonusProductListResultType }

  TXMLGetBonusProductListResultType = class(TXMLNodeCollection, IXMLGetBonusProductListResultType)
  protected
    { IXMLGetBonusProductListResultType }
    function Get_ResponseBonusList(Index: Integer): IXMLResponseBonusListType;
    function Add: IXMLResponseBonusListType;
    function Insert(const Index: Integer): IXMLResponseBonusListType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLResponseBonusListType }

  TXMLResponseBonusListType = class(TXMLNode, IXMLResponseBonusListType)
  protected
    { IXMLResponseBonusListType }
    function Get_Sku: string;
    function Get_PiezasPorComprar: Integer;
    function Get_PiezasGratis: Integer;
    function Get_PiezasAcumuladas: Integer;
    function Get_PiezasPendientes: Integer;
    function Get_PorcentajeDescuento: Integer;
    function Get_MontoDescuento: Double;
    function Get_TipoPrecioDescuento: Integer;
    function Get_PrecioFijo: Double;
    function Get_PorcentajePuntos: Integer;
    function Get_EfectivoxPunto: Integer;
    function Get_HuboError: Boolean;
    function Get_MensajeError: WideString;
    procedure Set_Sku(Value: string);
    procedure Set_PiezasPorComprar(Value: Integer);
    procedure Set_PiezasGratis(Value: Integer);
    procedure Set_PiezasAcumuladas(Value: Integer);
    procedure Set_PiezasPendientes(Value: Integer);
    procedure Set_PorcentajeDescuento(Value: Integer);
    procedure Set_MontoDescuento(Value: Double);
    procedure Set_TipoPrecioDescuento(Value: Integer);
    procedure Set_PrecioFijo(Value: Double);
    procedure Set_PorcentajePuntos(Value: Integer);
    procedure Set_EfectivoxPunto(Value: Integer);
    procedure Set_HuboError(Value: Boolean);
    procedure Set_MensajeError(Value: WideString);
  end;

{ Global Functions }

function GetGetBonusProductListResponse(Doc: IXMLDocument): IXMLGetBonusProductListResponseType;
function LoadGetBonusProductListResponse(const FileName: WideString): IXMLGetBonusProductListResponseType;
function NewGetBonusProductListResponse: IXMLGetBonusProductListResponseType;

const
  TargetNamespace = 'http://tempuri.org/';

implementation

{ Global Functions }

function GetGetBonusProductListResponse(Doc: IXMLDocument): IXMLGetBonusProductListResponseType;
begin
  Result := Doc.GetDocBinding('GetBonusProductListResponse', TXMLGetBonusProductListResponseType, TargetNamespace) as IXMLGetBonusProductListResponseType;
end;

function LoadGetBonusProductListResponse(const FileName: WideString): IXMLGetBonusProductListResponseType;
begin
  Result := LoadXMLDocument(FileName).GetDocBinding('GetBonusProductListResponse', TXMLGetBonusProductListResponseType, TargetNamespace) as IXMLGetBonusProductListResponseType;
end;

function NewGetBonusProductListResponse: IXMLGetBonusProductListResponseType;
begin
  Result := NewXMLDocument.GetDocBinding('GetBonusProductListResponse', TXMLGetBonusProductListResponseType, TargetNamespace) as IXMLGetBonusProductListResponseType;
end;

{ TXMLGetBonusProductListResponseType }

procedure TXMLGetBonusProductListResponseType.AfterConstruction;
begin
  RegisterChildNode('GetBonusProductListResult', TXMLGetBonusProductListResultType);
  inherited;
end;

function TXMLGetBonusProductListResponseType.Get_Xmlns: WideString;
begin
  Result := AttributeNodes['xmlns'].Text;
end;

procedure TXMLGetBonusProductListResponseType.Set_Xmlns(Value: WideString);
begin
  SetAttribute('xmlns', Value);
end;

function TXMLGetBonusProductListResponseType.Get_GetBonusProductListResult: IXMLGetBonusProductListResultType;
begin
  Result := ChildNodes['GetBonusProductListResult'] as IXMLGetBonusProductListResultType;
end;

{ TXMLGetBonusProductListResultType }

procedure TXMLGetBonusProductListResultType.AfterConstruction;
begin
  RegisterChildNode('ResponseBonusList', TXMLResponseBonusListType);
  ItemTag := 'ResponseBonusList';
  ItemInterface := IXMLResponseBonusListType;
  inherited;
end;

function TXMLGetBonusProductListResultType.Get_ResponseBonusList(Index: Integer): IXMLResponseBonusListType;
begin
  Result := List[Index] as IXMLResponseBonusListType;
end;

function TXMLGetBonusProductListResultType.Add: IXMLResponseBonusListType;
begin
  Result := AddItem(-1) as IXMLResponseBonusListType;
end;

function TXMLGetBonusProductListResultType.Insert(const Index: Integer): IXMLResponseBonusListType;
begin
  Result := AddItem(Index) as IXMLResponseBonusListType;
end;

{ TXMLResponseBonusListType }

function TXMLResponseBonusListType.Get_Sku: string;
begin
  Result := ChildNodes['Sku'].Text;
end;

procedure TXMLResponseBonusListType.Set_Sku(Value: string);
begin
  ChildNodes['Sku'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PiezasPorComprar: Integer;
begin
  Result := ChildNodes['PiezasPorComprar'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PiezasPorComprar(Value: Integer);
begin
  ChildNodes['PiezasPorComprar'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PiezasGratis: Integer;
begin
  Result := ChildNodes['PiezasGratis'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PiezasGratis(Value: Integer);
begin
  ChildNodes['PiezasGratis'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PiezasAcumuladas: Integer;
begin
  Result := ChildNodes['PiezasAcumuladas'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PiezasAcumuladas(Value: Integer);
begin
  ChildNodes['PiezasAcumuladas'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PiezasPendientes: Integer;
begin
  Result := ChildNodes['PiezasPendientes'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PiezasPendientes(Value: Integer);
begin
  ChildNodes['PiezasPendientes'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PorcentajeDescuento: Integer;
begin
  Result := ChildNodes['PorcentajeDescuento'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PorcentajeDescuento(Value: Integer);
begin
  ChildNodes['PorcentajeDescuento'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_MontoDescuento: Double;
begin
  Result := ChildNodes['MontoDescuento'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_MontoDescuento(Value: Double);
begin
  ChildNodes['MontoDescuento'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_TipoPrecioDescuento: Integer;
begin
  Result := ChildNodes['TipoPrecioDescuento'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_TipoPrecioDescuento(Value: Integer);
begin
  ChildNodes['TipoPrecioDescuento'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PrecioFijo: Double;
begin
  Result := ChildNodes['PrecioFijo'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PrecioFijo(Value: Double);
begin
  ChildNodes['PrecioFijo'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_PorcentajePuntos: Integer;
begin
  Result := ChildNodes['PorcentajePuntos'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_PorcentajePuntos(Value: Integer);
begin
  ChildNodes['PorcentajePuntos'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_EfectivoxPunto: Integer;
begin
  Result := ChildNodes['EfectivoxPunto'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_EfectivoxPunto(Value: Integer);
begin
  ChildNodes['EfectivoxPunto'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_HuboError: Boolean;
begin
  Result := ChildNodes['HuboError'].NodeValue;
end;

procedure TXMLResponseBonusListType.Set_HuboError(Value: Boolean);
begin
  ChildNodes['HuboError'].NodeValue := Value;
end;

function TXMLResponseBonusListType.Get_MensajeError: WideString;
begin
  Result := ChildNodes['MensajeError'].Text;
end;

procedure TXMLResponseBonusListType.Set_MensajeError(Value: WideString);
begin
  ChildNodes['MensajeError'].NodeValue := Value;
end;

end.