
{*****************************************************************************************************************************************}
{                                                                                                                                         }
{                                                            XML Data Binding                                                             }
{                                                                                                                                         }
{         Generated on: 07/11/2013 10:19:28 a.m.                                                                                          }
{       Generated from: C:\Users\Desarrollo-2\Documents\Programas Edith\Codigos trabajando\FACTURADOR WEB\FacturadorWeb dll\Cliente.xml   }
{   Settings stored in: C:\Users\Desarrollo-2\Documents\Programas Edith\Codigos trabajando\FACTURADOR WEB\FacturadorWeb dll\Cliente.xdb   }
{                                                                                                                                         }
{*****************************************************************************************************************************************}

unit Cliente;

interface

uses xmldom, XMLDoc, XMLIntf;

type

{ Forward Decls }

  IXMLClienteType = interface;
  IXMLDireccionesType = interface;
  IXMLDireccionType = interface;

{ IXMLClienteType }

  IXMLClienteType = interface(IXMLNode)
    ['{5700B737-C03A-451F-8753-6255C9385A76}']
    { Property Accessors }
    function Get_ClienteId: Integer;
    function Get_Nombre: WideString;
    function Get_Contacto: WideString;
    function Get_Rfc: WideString;
    function Get_Contrasena: WideString;
    function Get_Direcciones: IXMLDireccionesType;
    procedure Set_ClienteId(Value: Integer);
    procedure Set_Nombre(Value: WideString);
    procedure Set_Contacto(Value: WideString);
    procedure Set_Rfc(Value: WideString);
    procedure Set_Contrasena(Value: WideString);
    { Methods & Properties }
    property ClienteId: Integer read Get_ClienteId write Set_ClienteId;
    property Nombre: WideString read Get_Nombre write Set_Nombre;
    property Contacto: WideString read Get_Contacto write Set_Contacto;
    property Rfc: WideString read Get_Rfc write Set_Rfc;
    property Contrasena: WideString read Get_Contrasena write Set_Contrasena;
    property Direcciones: IXMLDireccionesType read Get_Direcciones;
  end;

{ IXMLDireccionesType }

  IXMLDireccionesType = interface(IXMLNodeCollection)
    ['{73D8BB05-3C06-410E-A8E5-E7531324FBFE}']
    { Property Accessors }
    function Get_Direccion(Index: Integer): IXMLDireccionType;
    { Methods & Properties }
    function Add: IXMLDireccionType;
    function Insert(const Index: Integer): IXMLDireccionType;
    property Direccion[Index: Integer]: IXMLDireccionType read Get_Direccion; default;
  end;

{ IXMLDireccionType }

  IXMLDireccionType = interface(IXMLNode)
    ['{B6C29FC6-D624-4A5B-8D59-D767EF3E5180}']
    { Property Accessors }
    function Get_DireccionId: Integer;
    function Get_NombreDireccion: WideString;
    procedure Set_DireccionId(Value: Integer);
    procedure Set_NombreDireccion(Value: WideString);
    { Methods & Properties }
    property DireccionId: Integer read Get_DireccionId write Set_DireccionId;
    property NombreDireccion: WideString read Get_NombreDireccion write Set_NombreDireccion;
  end;

{ Forward Decls }

  TXMLClienteType = class;
  TXMLDireccionesType = class;
  TXMLDireccionType = class;

{ TXMLClienteType }

  TXMLClienteType = class(TXMLNode, IXMLClienteType)
  protected
    { IXMLClienteType }
    function Get_ClienteId: Integer;
    function Get_Nombre: WideString;
    function Get_Contacto: WideString;
    function Get_Rfc: WideString;
    function Get_Contrasena: WideString;
    function Get_Direcciones: IXMLDireccionesType;
    procedure Set_ClienteId(Value: Integer);
    procedure Set_Nombre(Value: WideString);
    procedure Set_Contacto(Value: WideString);
    procedure Set_Rfc(Value: WideString);
    procedure Set_Contrasena(Value: WideString);
  public
    procedure AfterConstruction; override;
  end;

{ TXMLDireccionesType }

  TXMLDireccionesType = class(TXMLNodeCollection, IXMLDireccionesType)
  protected
    { IXMLDireccionesType }
    function Get_Direccion(Index: Integer): IXMLDireccionType;
    function Add: IXMLDireccionType;
    function Insert(const Index: Integer): IXMLDireccionType;
  public
    procedure AfterConstruction; override;
  end;

{ TXMLDireccionType }

  TXMLDireccionType = class(TXMLNode, IXMLDireccionType)
  protected
    { IXMLDireccionType }
    function Get_DireccionId: Integer;
    function Get_NombreDireccion: WideString;
    procedure Set_DireccionId(Value: Integer);
    procedure Set_NombreDireccion(Value: WideString);
  end;

{ Global Functions }

function GetCliente(Doc: IXMLDocument): IXMLClienteType;
function LoadCliente(const FileName: WideString): IXMLClienteType;
function NewCliente: IXMLClienteType;

const
  TargetNamespace = '';

implementation

{ Global Functions }

function GetCliente(Doc: IXMLDocument): IXMLClienteType;
begin
  Result := Doc.GetDocBinding('Cliente', TXMLClienteType, TargetNamespace) as IXMLClienteType;
end;

function LoadCliente(const FileName: WideString): IXMLClienteType;
begin
  Result := LoadXMLDocument(FileName).GetDocBinding('Cliente', TXMLClienteType, TargetNamespace) as IXMLClienteType;
end;

function NewCliente: IXMLClienteType;
begin
  Result := NewXMLDocument.GetDocBinding('Cliente', TXMLClienteType, TargetNamespace) as IXMLClienteType;
end;

{ TXMLClienteType }

procedure TXMLClienteType.AfterConstruction;
begin
  RegisterChildNode('Direcciones', TXMLDireccionesType);
  inherited;
end;

function TXMLClienteType.Get_ClienteId: Integer;
begin
  Result := ChildNodes['ClienteId'].NodeValue;
end;

procedure TXMLClienteType.Set_ClienteId(Value: Integer);
begin
  ChildNodes['ClienteId'].NodeValue := Value;
end;

function TXMLClienteType.Get_Nombre: WideString;
begin
  Result := ChildNodes['Nombre'].Text;
end;

procedure TXMLClienteType.Set_Nombre(Value: WideString);
begin
  ChildNodes['Nombre'].NodeValue := Value;
end;

function TXMLClienteType.Get_Contacto: WideString;
begin
  Result := ChildNodes['Contacto'].Text;
end;

procedure TXMLClienteType.Set_Contacto(Value: WideString);
begin
  ChildNodes['Contacto'].NodeValue := Value;
end;

function TXMLClienteType.Get_Rfc: WideString;
begin
  Result := ChildNodes['Rfc'].Text;
end;

procedure TXMLClienteType.Set_Rfc(Value: WideString);
begin
  ChildNodes['Rfc'].NodeValue := Value;
end;

function TXMLClienteType.Get_Contrasena: WideString;
begin
  Result := ChildNodes['Contrasena'].Text;
end;

procedure TXMLClienteType.Set_Contrasena(Value: WideString);
begin
  ChildNodes['Contrasena'].NodeValue := Value;
end;

function TXMLClienteType.Get_Direcciones: IXMLDireccionesType;
begin
  Result := ChildNodes['Direcciones'] as IXMLDireccionesType;
end;

{ TXMLDireccionesType }

procedure TXMLDireccionesType.AfterConstruction;
begin
  RegisterChildNode('Direccion', TXMLDireccionType);
  ItemTag := 'Direccion';
  ItemInterface := IXMLDireccionType;
  inherited;
end;

function TXMLDireccionesType.Get_Direccion(Index: Integer): IXMLDireccionType;
begin
  Result := List[Index] as IXMLDireccionType;
end;

function TXMLDireccionesType.Add: IXMLDireccionType;
begin
  Result := AddItem(-1) as IXMLDireccionType;
end;

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

{ TXMLDireccionType }

function TXMLDireccionType.Get_DireccionId: Integer;
begin
  Result := ChildNodes['DireccionId'].NodeValue;
end;

procedure TXMLDireccionType.Set_DireccionId(Value: Integer);
begin
  ChildNodes['DireccionId'].NodeValue := Value;
end;

function TXMLDireccionType.Get_NombreDireccion: WideString;
begin
  Result := ChildNodes['NombreDireccion'].Text;
end;

procedure TXMLDireccionType.Set_NombreDireccion(Value: WideString);
begin
  ChildNodes['NombreDireccion'].NodeValue := Value;
end;

end.