git-svn-id: https://192.168.0.254/svn/Proyectos.LuisLeon_FactuGES2/trunk@26 b2cfbe5a-eba1-4a0c-8b32-7feea0a119f2
222 lines
7.5 KiB
ObjectPascal
222 lines
7.5 KiB
ObjectPascal
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.
|