unit u_pam_editororden;

{$mode delphi}

interface

uses
  Classes, SysUtils, FileUtil, Forms, Controls, Graphics, Dialogs, StdCtrls,
  urosx, uDataSetGenerico, uvisordetabla,
  uconstantesSimSEE, unotificar;

type

  { TForm_PAM_EditorOrden }

  TForm_PAM_EditorOrden = class(TForm)
    btGuardar: TButton;
    btCancelar: TButton;
    e_nid_enganche: TEdit;
    e_unidades_a_mantener: TEdit;
    e_fecha_fin: TEdit;
    e_fecha_inicio: TEdit;
    e_dias_parada: TEdit;
    e_nombre: TEdit;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Label5: TLabel;
    Label6: TLabel;
    procedure btCancelarClick(Sender: TObject);
    procedure btGuardarClick(Sender: TObject);
  private
    { private declarations }
  public
    { public declarations }
    nid_Orden: integer;
    dbcon: TDBrosxCon;
    procedure LoadRec(nid_Orden_: integer);
    constructor Create( TheOwner: TComponent; dbconx: TDBrosxCon );

  end;


implementation

{$R *.lfm}

{ TForm_PAM_EditorOrden }

procedure TForm_PAM_EditorOrden.btGuardarClick(Sender: TObject);
var
sql: string;


procedure rwcp( e: TEdit; nombre: string );
begin
  if sql <> '' then sql:= sql +', ';
  sql:= sql+nombre+' = '''+trim(e.text)+'''';
end;

begin

  rwcp(e_nombre, 'nombre' );
  rwcp(e_dias_parada, 'dias_parada' );
  rwcp(e_fecha_inicio, 'fecha_inicio' );
  rwcp(e_fecha_fin, 'fecha_fin' );
  rwcp(e_unidades_a_mantener,'unidades_a_mantener'  );
  rwcp(e_nid_enganche,'nid_enganche'  );

  sql:= 'UPDATE ofe_PAM_ordenes SET '+sql+' WHERE nid = '+IntToStr( nid_Orden );
  dbcon.exec( sql );
  ModalResult:= 1;
end;

procedure TForm_PAM_EditorOrden.btCancelarClick(Sender: TObject);
begin
   ModalResult := -1;
end;


constructor TForm_PAM_EditorOrden.Create( TheOwner: TComponent; dbconx: TDBrosxCon );
begin
  inherited Create( TheOwner );
  dbcon:= dbconx;
end;

procedure TForm_PAM_EditorOrden.LoadRec(nid_Orden_: integer);
var
  r: TDataRecord;
  snid: string;
  ds: TResultadoQuery;
  estado: integer;

  procedure rwcp(e: TEdit; nombre: string);
  begin
    e.Text := r.GetByNameAsString(nombre);
  end;

begin
  nid_Orden := nid_Orden_;
  ds := dbcon.sql_query('SELECT * FROM ofe_PAM_ordenes WHERE nid = ' + IntToStr(
    nid_Orden) );
  if ds = nil then
    raise Exception.Create('Imposible encontrar el registro!');
  ds.First;
  r := ds.getFilaActiva;

  rwcp(e_nombre, 'nombre');
  rwcp(e_dias_parada, 'dias_parada');
  rwcp(e_fecha_inicio, 'fecha_inicio');
  rwcp(e_fecha_fin, 'fecha_fin');
  rwcp(e_unidades_a_mantener, 'unidades_a_mantener');
  rwcp(e_nid_enganche, 'nid_enganche');

end;




end.

