{*******************************************************}
{                                                       }
{       Administración de puntos de venta               }
{                                                       }
{       Copyright (C) 2006 Rodax Software S.L.          }
{                                                       }
{*******************************************************}

unit uBizDevoluciones;

interface

uses
  Classes, DB, SysUtils, uROClasses, uDADataTable, uDBSelectionList;

  
const
  BIZ_DEVOLUCIONES = 'Client.Devoluciones';

type
  TInvDevolucionEstado = (tidPendiente, tidAprobado);

  IBizDevoluciones = interface(IDAStronglyTypedDataTable) //IRecepciones)
  ['{E7196FF3-EFC9-45FC-AA50-C0C79F567ECA}']
    procedure Show;
    procedure SetEstado(const AValue : TInvDevolucionEstado);
    function GetEstado : TInvDevolucionEstado ;
    property Estado : TInvDevolucionEstado read GetEstado write SetEstado;
  end;


  TBizDevolucionesDataTableRules = class(TDADataTableRules, IBizDevoluciones)
  protected
    procedure SetEstado(const AValue : TInvDevolucionEstado);
    function GetEstado : TInvDevolucionEstado ;
  public
    procedure Show;
    property Estado : TInvDevolucionEstado read GetEstado write SetEstado;
  end;


implementation

uses
  uEditorUtils, uDataModuleDevoluciones;

{ TBizDevolucionesDataTableRules }

function TBizDevolucionesDataTableRules.GetEstado: TInvDevolucionEstado;
begin
  if DataTable.FieldByName('APROBADO').AsString = 'S' then
    Result := tidAprobado
  else
    Result := tidPendiente
end;

procedure TBizDevolucionesDataTableRules.SetEstado(
  const AValue: TInvDevolucionEstado);
begin
  case AValue of
    tidPendiente   : DataTable.FieldByName('APROBADO').AsString := 'N';
    tidAprobado    : DataTable.FieldByName('APROBADO').AsString := 'S';
    else
      DataTable.FieldByName('APROBADO').AsString := 'N';
  end;
end;

procedure TBizDevolucionesDataTableRules.Show;
begin
  ShowEditor(IBizDevoluciones, Self, etItem);
end;

initialization
  RegisterDataTableRules(BIZ_DEVOLUCIONES, TBizDevolucionesDataTableRules);

end.

