unit uEditorPaciente;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  uEditorContacto, JvAppStorage, JvAppRegistryStorage, JvComponentBase,
  JvFormPlacement, DB, uDADataTable, ImgList, PngImageList, StdActns, ActnList,
  ComCtrls, TBX, TB2Item, TB2Dock, TB2Toolbar, ExtCtrls, JvExControls,
  JvComponent, JvNavigationPane, uCustomView, uViewBase, uViewContacto,
  uViewPaciente, uBizContactos,
  uIEditorPaciente, pngimage, TBXStatusBars, JvExComCtrls, JvStatusBar,
  uViewDetallesGenerico, uViewContactoDatosBancarios, dxLayoutLookAndFeels,
  dxLayoutControl, cxContainer, cxEdit, cxTextEdit, cxMemo, cxDBEdit, cxControls,
  uDAInterfaces, uViewContactoListaDatosBancarios, uViewPersonalContacto,
  cxLabel, dxGDIPlusClasses;

type
  TfEditorPaciente = class(TfEditorContacto, IEditorPaciente)
    frViewPaciente1: TfrViewPaciente;
    actGruposPaciente: TAction;
   protected
    procedure EliminarInterno; override;
    procedure ImprimirInterno; override;
    procedure PrevisualizarInterno; override;
    procedure SetContacto(const Value: IBizContacto); override;
  public
    constructor Create(AOwner: TComponent); override;
    procedure PonerTitulos(const ATitulo: string = ''); override;
  end;

implementation

uses
  uEditorDBItem, uDialogUtils, uPacientesController;

{$R *.dfm}

{ TfEditorPaciente }


constructor TfEditorPaciente.Create(AOwner: TComponent);
begin
  inherited;
  ViewContacto := frViewPaciente1;
end;

procedure TfEditorPaciente.EliminarInterno;
begin
  if (ShowConfirmMessage('¿Desea borrar este paciente?', '') = IDYES) then
    inherited;
end;

procedure TfEditorPaciente.ImprimirInterno;
var
  AFichas: IBizPaciente;
begin
  AFichas := Nil;
  AFichas := (Contacto as IBizPaciente);

  if Assigned(AFichas) then
    (FController as IPacientesController).Print(AFichas);
end;

procedure TfEditorPaciente.PonerTitulos(const ATitulo: string);
var
  FTitulo : String;
begin
  if Assigned(Contacto) then
  begin
    if Contacto.EsNuevo then
      FTitulo := 'Nuevo paciente'
    else
      FTitulo := 'Paciente';
  end;

  inherited PonerTitulos(FTitulo);
end;

procedure TfEditorPaciente.PrevisualizarInterno;
var
  AFichas: IBizPaciente;
begin
  AFichas := Nil;
  AFichas := (Contacto as IBizPaciente);

  if Assigned(AFichas) then
    (FController as IPacientesController).Preview(AFichas);
end;

procedure TfEditorPaciente.SetContacto(const Value: IBizContacto);
begin
  inherited;
end;

end.
