unit uViewMedicacion;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, uViewBase, uBizMedicaciones, DB, uDADataTable, uCustomView,
  AppEvnts, StdCtrls, Mask, DBCtrls, uViewObservaciones,
  cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
  cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
  Buttons, ActnList, ExtCtrls, cxLookupEdit, cxDBLookupEdit,
  cxDBLookupComboBox, uDAInterfaces, uViewDatosYSeleccionPacienteMedicacion;

type
  IViewMedicacion = interface(IViewBase)
  ['{29C74706-2900-49BA-B817-97884DB8E422}']
    function GetMedicacion: IBizMedicacion;
    procedure SetMedicacion(const Value: IBizMedicacion);
    property Medicacion: IBizMedicacion read GetMedicacion write SetMedicacion;

    function GetViewPacienteMedicacion: IViewDatosYSeleccionPacienteMedicacion;
    property ViewPacienteMedicacion: IViewDatosYSeleccionPacienteMedicacion read GetViewPacienteMedicacion;
  end;

  TfrViewMedicacion = class(TfrViewBase, IViewMedicacion)
    DADataSource: TDADataSource;
    dxLayoutControl1Group_Root: TdxLayoutGroup;
    dxLayoutControl1: TdxLayoutControl;
    dxLayoutControl1Item2: TdxLayoutItem;
    edtFechaHasta: TcxDBDateEdit;
    dxLayoutControl1Group1: TdxLayoutGroup;
    dxLayoutControl1Group2: TdxLayoutGroup;
    dxLayoutControl1Item3: TdxLayoutItem;
    eReferencia: TcxDBTextEdit;
    ActionList1: TActionList;
    dxLayoutControl1Item24: TdxLayoutItem;
    edtFechaDesde: TcxDBDateEdit;
    dxLayoutControl1Group3: TdxLayoutGroup;
    frViewDatosYSeleccionPacienteMedicacion1: TfrViewDatosYSeleccionPacienteMedicacion;
    dxLayoutControl1Item1: TdxLayoutItem;
    procedure CustomViewCreate(Sender: TObject);
    procedure CustomViewDestroy(Sender: TObject);
    procedure edtFechaHastaPropertiesValidate(Sender: TObject;
      var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
    procedure edtFechaDesdePropertiesValidate(Sender: TObject;
      var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);

  protected
    FMedicacion : IBizMedicacion;
    FViewPacienteMedicacion : IViewDatosYSeleccionPacienteMedicacion;

    function GetMedicacion: IBizMedicacion;
    procedure SetMedicacion(const Value: IBizMedicacion); virtual;
    function GetViewPacienteMedicacion: IViewDatosYSeleccionPacienteMedicacion;
  public
    property Medicacion: IBizMedicacion read GetMedicacion write SetMedicacion;
    property ViewPacienteMedicacion: IViewDatosYSeleccionPacienteMedicacion read GetViewPacienteMedicacion;
  end;

implementation

{$R *.dfm}

{ TfrViewMedicacion }

uses
  uBizDireccionesContacto, uMedicacionesController,
  schMedicacionClient_Intf, uDateUtils,
  uDialogUtils, uProvinciasPoblacionesController, uStringsUtils;


procedure TfrViewMedicacion.CustomViewCreate(Sender: TObject);
begin
  inherited;
  FViewPacienteMedicacion := frViewDatosYSeleccionPacienteMedicacion1;
end;

procedure TfrViewMedicacion.CustomViewDestroy(Sender: TObject);
begin
  inherited;
  FViewPacienteMedicacion := Nil;
end;

procedure TfrViewMedicacion.edtFechaDesdePropertiesValidate(Sender: TObject;
  var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
begin
  inherited;
  if not (VarIsNull(DisplayValue) or (DisplayValue = '')) then
  begin
  end;
end;

procedure TfrViewMedicacion.edtFechaHastaPropertiesValidate(Sender: TObject;
  var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
begin
  inherited;
  if not (VarIsNull(DisplayValue) or (DisplayValue = '')) then
  begin
  end;
end;

function TfrViewMedicacion.GetMedicacion: IBizMedicacion;
begin
  Result := FMedicacion;
end;

function TfrViewMedicacion.GetViewPacienteMedicacion: IViewDatosYSeleccionPacienteMedicacion;
begin
  Result := FViewPacienteMedicacion;
end;

procedure TfrViewMedicacion.SetMedicacion(const Value: IBizMedicacion);
begin
  FMedicacion := Value;
  if Assigned(FMedicacion) then
  begin
    DADataSource.DataTable := FMedicacion.DataTable;
    FViewPacienteMedicacion.Medicacion := FMedicacion;
  end
  else begin
    DADataSource.DataTable := NIL;
    FViewPacienteMedicacion.Medicacion := NIL;
  end;
end;


end.
