This repository has been archived on 2024-11-28. You can view files and clone it, but cannot push or open issues or pull requests.
LuisLeon_FactuGES2/Source/Modulos/Pedidos de cliente/Views/uViewPedidoCliente.pas
2010-08-17 16:02:42 +00:00

222 lines
7.5 KiB
ObjectPascal
Raw Blame History

unit uViewPedidoCliente;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, uViewBase, uBizPedidosCliente, DB, uDADataTable, uCustomView,
AppEvnts, StdCtrls, Mask, DBCtrls,
uViewObservaciones,
cxGraphics, cxDropDownEdit, cxImageComboBox, cxDBEdit, cxContainer, cxEdit,
cxTextEdit, cxMaskEdit, cxCalendar, dxLayoutControl, cxControls, cxMemo,
uViewDireccionEntregaPedidoCli, cxLookupEdit, cxDBLookupEdit,
cxDBLookupComboBox, uFormasPagoController, ActnList, uDAInterfaces, uBizFormasPago,
uPedidosClienteController, uViewDatosYSeleccionClientePedido;
type
IViewPedidoCliente = interface(IViewBase)
['{6FF2FC16-307F-4B8B-A46A-3FEA270ED568}']
function GetPedido: IBizPedidoCliente;
procedure SetPedido(const Value: IBizPedidoCliente);
property Pedido: IBizPedidoCliente read GetPedido write SetPedido;
function GetController : IPedidosClienteController;
procedure SetController (const Value : IPedidosClienteController);
property Controller : IPedidosClienteController read GetController write SetController;
function GetViewClientePedido: IViewDatosYSeleccionClientePedido;
property ViewClientePedido: IViewDatosYSeleccionClientePedido read GetViewClientePedido;
end;
TfrViewPedidoCliente = class(TfrViewBase, IViewPedidoCliente)
DADataSource: TDADataSource;
dxLayoutControl1Group_Root: TdxLayoutGroup;
dxLayoutControl1: TdxLayoutControl;
dxLayoutControl1Item2: TdxLayoutItem;
edtFechaPedido: TcxDBDateEdit;
dxLayoutControl1Group1: TdxLayoutGroup;
dxLayoutControl1Group2: TdxLayoutGroup;
dxLayoutControl1Item6: TdxLayoutItem;
memObservaciones: TcxDBMemo;
dxLayoutControl1Item3: TdxLayoutItem;
eReferencia: TcxDBTextEdit;
dxLayoutControl1Group6: TdxLayoutGroup;
dxLayoutControl1Group7: TdxLayoutGroup;
dxLayoutControl1Group8: TdxLayoutGroup;
dxLayoutControl1Group3: TdxLayoutGroup;
dxLayoutControl1Item8: TdxLayoutItem;
frViewDireccionEntregaPedidoCli1: TfrViewDireccionEntregaPedidoCli;
dxLayoutControl1Item9: TdxLayoutItem;
cbFormaPago: TcxDBLookupComboBox;
dxLayoutControl1Item10: TdxLayoutItem;
bFormasPago: TButton;
dxLayoutControl1Group4: TdxLayoutGroup;
dsFormaPago: TDADataSource;
ActionList1: TActionList;
actVerPedidoCli: TAction;
frViewDatosYSeleccionClientePedido1: TfrViewDatosYSeleccionClientePedido;
dxLayoutControl1Item1: TdxLayoutItem;
dxLayoutControl1Item14: TdxLayoutItem;
eRefCliente: TcxDBTextEdit;
dxLayoutControl1Item15: TdxLayoutItem;
edtFechaPrevistaEnvio: TcxDBDateEdit;
procedure CustomViewCreate(Sender: TObject);
procedure CustomViewDestroy(Sender: TObject);
procedure bFormasPagoClick(Sender: TObject);
procedure actVerPedidoCliExecute(Sender: TObject);
procedure actVerPedidoCliUpdate(Sender: TObject);
procedure frViewClientePedidoButton1Click(Sender: TObject);
procedure frViewClientePedidoButton2Click(Sender: TObject);
procedure CustomViewShow(Sender: TObject);
protected
FPedido : IBizPedidoCliente;
FController : IPedidosClienteController;
FViewClientePedido : IViewDatosYSeleccionClientePedido;
FFormasPago : IBizFormaPago;
FFormasPagoController : IFormasPagoController;
function GetPedido: IBizPedidoCliente;
procedure SetPedido(const Value: IBizPedidoCliente); virtual;
function GetController : IPedidosClienteController;
procedure SetController (const Value : IPedidosClienteController);
function GetViewClientePedido: IViewDatosYSeleccionClientePedido;
public
property Pedido: IBizPedidoCliente read GetPedido write SetPedido;
property Controller : IPedidosClienteController read GetController write SetController;
property ViewClientePedido: IViewDatosYSeleccionClientePedido read GetViewClientePedido;
end;
implementation
{$R *.dfm}
uses uStringsUtils;
{ TfrViewPedidoCliente }
procedure TfrViewPedidoCliente.actVerPedidoCliExecute(Sender: TObject);
begin
inherited;
// FPedidoCliController.Ver(FPedidoCliAsociado);
end;
procedure TfrViewPedidoCliente.actVerPedidoCliUpdate(Sender: TObject);
begin
inherited;
// if (Sender as TAction).Enabled then
// (Sender as TAction).Enabled := Assigned(FPedidoCliAsociado)
end;
procedure TfrViewPedidoCliente.bFormasPagoClick(Sender: TObject);
begin
inherited;
if Assigned(FFormasPago) then
FFormasPagoController.VerTodos(FFormasPago);
end;
procedure TfrViewPedidoCliente.CustomViewCreate(Sender: TObject);
begin
inherited;
FFormasPago := Nil;
FFormasPagoController := TFormasPagoController.Create;
FViewClientePedido := frViewDatosYSeleccionClientePedido1;
eReferencia.Enabled := False;
end;
procedure TfrViewPedidoCliente.CustomViewDestroy(Sender: TObject);
begin
FViewClientePedido := Nil;
FController := Nil;
FFormasPago := Nil;
FFormasPagoController := NIL;
end;
procedure TfrViewPedidoCliente.CustomViewShow(Sender: TObject);
begin
inherited;
//
end;
procedure TfrViewPedidoCliente.frViewClientePedidoButton1Click(Sender: TObject);
begin
if Assigned(Pedido) and Assigned(Pedido.Cliente) and
Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Si cambia de Cliente, se eliminar<61>n todos sus art<72>culos del pedido actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
FViewClientePedido.ElegirCliente;
end;
procedure TfrViewPedidoCliente.frViewClientePedidoButton2Click(Sender: TObject);
begin
if Assigned(Pedido) and Assigned(Pedido.Cliente) and
Assigned (Pedido.Detalles) and (Pedido.Detalles.RecordCount > 0) then
begin
if (Application.MessageBox('Si cambia de Cliente, se eliminar<61>n todos sus art<72>culos del pedido actual, <20>Desea continuar?', 'Atenci<63>n', MB_YESNO) = IDNO) then
Exit;
end;
FViewClientePedido.AnadirNuevoCliente;
end;
function TfrViewPedidoCliente.GetController: IPedidosClienteController;
begin
Result := FController;
end;
function TfrViewPedidoCliente.GetPedido: IBizPedidoCliente;
begin
Result := FPedido;
end;
function TfrViewPedidoCliente.GetViewClientePedido: IViewDatosYSeleccionClientePedido;
begin
Result := FViewClientePedido;
end;
procedure TfrViewPedidoCliente.SetController(const Value: IPedidosClienteController);
begin
FController := Value;
end;
procedure TfrViewPedidoCliente.SetPedido(const Value: IBizPedidoCliente);
begin
FPedido := Value;
if Assigned(FPedido) then
begin
DADataSource.DataTable := FPedido.DataTable;
FFormasPago := FFormasPagoController.BuscarTodos;
dsFormaPago.DataTable := FFormasPago.DataTable;
dsFormaPago.DataTable.Active := True;
// FPedidoCliAsociado := NIL;
// if (FPedido.ID_PEDIDO_CLIENTE > 0) then
// begin
// FPedidoCliAsociado := FPedidoCliController.Buscar(FPedido.ID_PEDIDO_CLIENTE);
// if Assigned(FPedidoCliAsociado) then
// begin
// FPedidoCliAsociado.DataTable.Active := True;
// eReferenciaPedidoCli.Text := FPedidoCliAsociado.REFERENCIA
// end
// else
// eReferenciaPedidoCli.Text := '';
// end
// else
// eReferenciaPedidoCli.Text := 'No hay pedido asociado';
FViewClientePedido.Pedido := FPedido;
frViewDireccionEntregaPedidoCli1.PedidoCliente := FPedido;
end
else begin
DADataSource.DataTable := NIL;
dsFormaPago.DataTable := NIL;
// FPedidoCliAsociado := NIL;
FViewClientePedido.Pedido := NIL;
end;
end;
end.