AbetoDesign_FactuGES2/Source/Modulos/Contratos de cliente/Views/uViewContratoCliente.pas

192 lines
7.0 KiB
ObjectPascal
Raw Blame History

unit uViewContratoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizContratosCliente, DB, uDADataTable, uCustomView,
AppEvnts, StdCtrls, Mask, DBCtrls,
uViewObservaciones, uViewDatosYSeleccionCliente,
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaContratoCliente, Buttons, ActnList, cxLookupEdit,
cxDBLookupEdit, cxDBLookupComboBox, uFormasPagoController, uDAInterfaces,
uBizFormasPago, cxButtonEdit, uViewDatosYSeleccionClienteContrato, uBizContactos,
uVendedoresController;
type
IViewContratoCliente = interface(IViewBase)
['{3DE0231D-760E-437B-88E5-144B88024797}']
function GetContrato: IBizContratoCliente;
procedure SetContrato(const Value: IBizContratoCliente);
property Contrato: IBizContratoCliente read GetContrato write SetContrato;
function GetViewClienteContrato: IViewDatosYSeleccionClienteContrato;
property ViewClienteContrato: IViewDatosYSeleccionClienteContrato read GetViewClienteContrato;
end;
TfrViewContratoCliente = class(TfrViewBase, IViewContratoCliente)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaContrato: TcxDBDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Item3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Group7: TdxLayoutGroup;
ActionList1: TActionList;
dxLayoutControl1Item4: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item5: TdxLayoutItem;
bFormasPago: TButton;
dsFormaPago: TDADataSource;
cbSituacion: TcxDBImageComboBox;
dxLayoutControl1Item10: TdxLayoutItem;
dxLayoutControl1Group8: TdxLayoutGroup;
frViewDatosYSeleccionClienteContrato1: TfrViewDatosYSeleccionClienteContrato;
dxLayoutControl1Item1: TdxLayoutItem;
dxLayoutControl1Item8: TdxLayoutItem;
memFormaPago: TcxDBMemo;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Item9: TdxLayoutItem;
memPlazoEntrega: TcxDBMemo;
dxLayoutControl1Group4: TdxLayoutGroup;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Item11: TdxLayoutItem;
dxLayoutControl1Group9: TdxLayoutGroup;
cbVendedor: TcxDBLookupComboBox;
dsVendedor: TDADataSource;
dxLayoutControl1Item7: TdxLayoutItem;
cbTipoContrato: TcxDBComboBox;
dxLayoutControl1Group11: TdxLayoutGroup;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
procedure frViewClienteContratoButton1Click(Sender: TObject);
procedure frViewClienteContratoButton2Click(Sender: TObject);
procedure cbFormaPagoPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
protected
FContrato : IBizContratoCliente;
FFormasPago : IBizFormaPago;
FVendedor : IBizVendedor;
FFormasPagoController : IFormasPagoController;
FVendedoresController : IVendedoresController;
FViewClienteContrato : IViewDatosYSeleccionClienteContrato;
function GetContrato: IBizContratoCliente;
procedure SetContrato(const Value: IBizContratoCliente); virtual;
function GetViewClienteContrato: IViewDatosYSeleccionClienteContrato;
public
property Contrato: IBizContratoCliente read GetContrato write SetContrato;
property ViewClienteContrato: IViewDatosYSeleccionClienteContrato read GetViewClienteContrato;
end;
implementation
{$R *.dfm}
{ TfrViewContratoCliente }
uses
schContratosClienteClient_Intf, uClientesController, uBizDireccionesContacto, uContratosClienteController;
procedure TfrViewContratoCliente.bFormasPagoClick(Sender: TObject);
begin
inherited;
if Assigned(FFormasPago) then
FFormasPagoController.VerTodos(FFormasPago);
end;
procedure TfrViewContratoCliente.cbFormaPagoPropertiesValidate(Sender: TObject;
var DisplayValue: Variant; var ErrorText: TCaption; var Error: Boolean);
begin
inherited;
Contrato.DataTable.FieldByName(fld_ContratosClienteFORMA_PAGO).AsString := FFormasPago.DESCRIPCION;
end;
procedure TfrViewContratoCliente.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FVendedor := Nil;
FFormasPagoController := TFormasPagoController.Create;
FVendedoresController := TVendedoresController.Create;
FViewClienteContrato := frViewDatosYSeleccionClienteContrato1;
end;
procedure TfrViewContratoCliente.CustomViewDestroy(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := NIL;
FVendedor := Nil;
FVendedoresController := NIL;
FViewClienteContrato := NIL;
end;
procedure TfrViewContratoCliente.frViewClienteContratoButton1Click(Sender: TObject);
begin
if Assigned(Contrato) and Assigned(Contrato.Cliente) and
Assigned (Contrato.Detalles) and (Contrato.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Los descuentos de los art<72>culos del Contrato ser<65>n actualizados con los del nuevo cliente seleccionado, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
frViewDatosYSeleccionClienteContrato1.actElegirContacto.Execute;
end;
procedure TfrViewContratoCliente.frViewClienteContratoButton2Click(Sender: TObject);
begin
if Assigned(Contrato) and Assigned(Contrato.Cliente) and
Assigned (Contrato.Detalles) and (Contrato.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Los descuentos de los art<72>culos del Contrato ser<65>n actualizados con los del nuevo cliente seleccionado, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
frViewDatosYSeleccionClienteContrato1.actAnadirContacto.Execute;
end;
function TfrViewContratoCliente.GetContrato: IBizContratoCliente;
begin
Result := FContrato;
end;
function TfrViewContratoCliente.GetViewClienteContrato: IViewDatosYSeleccionClienteContrato;
begin
Result := FViewClienteContrato;
end;
procedure TfrViewContratoCliente.SetContrato(const Value: IBizContratoCliente);
begin
FContrato := Value;
if Assigned(FContrato) then
begin
DADataSource.DataTable := FContrato.DataTable;
FFormasPago := FFormasPagoController.BuscarTodos;
dsFormaPago.DataTable := FFormasPago.DataTable;
dsFormaPago.DataTable.Active := True;
FVendedor := (FVendedoresController.BuscarTodos as IBizVendedor);
dsVendedor.DataTable := FVendedor.DataTable;
dsVendedor.DataTable.Active := True;
FViewClienteContrato.Contrato := FContrato;
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
dsVendedor.DataTable := NIL;
FViewClienteContrato.Contrato := Nil;
end;
end;
end.