From 0d006f3f6e2733232fd7c199bb4ec4bd45387529 Mon Sep 17 00:00:00 2001 From: roberto Date: Thu, 31 Jul 2008 09:15:14 +0000 Subject: [PATCH] Repaso de post en los metodos del controller (ValidarEntidad) para que no pete al meter solo el nombre de la entidad y sin salir del campo dar a guardar git-svn-id: https://192.168.0.254/svn/Proyectos.Tecsitel_FactuGES2/trunk@483 0c75b7a4-871f-7646-8a2f-f78d34cc349f --- .../Controller/uAlmacenesController.pas | 3 +++ .../Controller/uArticulosController.pas | 9 +++++++-- .../Controller/uContactosController.pas | 2 ++ .../Controller/uFabricantesController.pas | 19 ++++++++++++------- .../Controller/uFacturasClienteController.pas | 2 ++ .../uFacturasProveedorController.pas | 2 ++ .../Controller/uFamiliasController.pas | 11 ++++++++--- .../Controller/uFormasPagoController.pas | 2 ++ .../Obras/Controller/uObrasController.pas | 11 ++++++++--- .../uRecibosProveedorController.pas | 2 ++ .../Controller/uRemesasClienteController.pas | 2 ++ .../uRemesasProveedorController.pas | 2 ++ .../Controller/uTiposIVAController.pas | 2 ++ .../Controller/uUnidadesMedidaController.pas | 15 +++++++++------ 14 files changed, 63 insertions(+), 21 deletions(-) diff --git a/Source/Modulos/Almacenes/Controller/uAlmacenesController.pas b/Source/Modulos/Almacenes/Controller/uAlmacenesController.pas index 067bd912..eb2fcd61 100644 --- a/Source/Modulos/Almacenes/Controller/uAlmacenesController.pas +++ b/Source/Modulos/Almacenes/Controller/uAlmacenesController.pas @@ -179,6 +179,9 @@ function TAlmacenesController.ValidarAlmacen(AAlmacen: IBizAlmacen): Boolean; begin Result := False; + if (AAlmacen.DataTable.State in dsEditModes) then + AAlmacen.DataTable.Post; + if Length(AAlmacen.NOMBRE) = 0 then raise Exception.Create('Debe indicar al menos el nombre de este almacén.'); diff --git a/Source/Modulos/Articulos/Controller/uArticulosController.pas b/Source/Modulos/Articulos/Controller/uArticulosController.pas index 961ab8ea..4b7c593b 100644 --- a/Source/Modulos/Articulos/Controller/uArticulosController.pas +++ b/Source/Modulos/Articulos/Controller/uArticulosController.pas @@ -411,20 +411,25 @@ end; function TArticulosController.ValidarArticulo(AArticulo: IBizArticulo): Boolean; begin + Result := False; + if not Assigned(AArticulo) then raise Exception.Create ('Artículo no asignado'); if (AArticulo.DataTable.State in dsEditModes) then AArticulo.DataTable.Post; + //Tambien hacemos post de sus tablas hija + if (AArticulo.Proveedores.DataTable.State in dsEditModes) then + AArticulo.Proveedores.DataTable.Post; + if Length(AArticulo.DESCRIPCION) = 0 then raise Exception.Create('Debe indicar al menos la descripción de este artículo.'); // Asegurarse de valores en campos "automáticos" AArticulo.Edit; try - AArticulo.USUARIO := AppFactuGES.UsuarioActivo.UserName; - + AArticulo.USUARIO := AppFactuGES.UsuarioActivo.UserName; Result := True; finally AArticulo.Post; diff --git a/Source/Modulos/Contactos/Controller/uContactosController.pas b/Source/Modulos/Contactos/Controller/uContactosController.pas index 24067f2f..2de0fd7e 100644 --- a/Source/Modulos/Contactos/Controller/uContactosController.pas +++ b/Source/Modulos/Contactos/Controller/uContactosController.pas @@ -269,6 +269,8 @@ end; function TContactosController.ValidarContacto(AContacto: IBizContacto): Boolean; begin + Result := False; + if not Assigned(AContacto) then raise Exception.Create ('Contacto no asignado'); diff --git a/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas b/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas index 510060c8..521ce5a2 100644 --- a/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas +++ b/Source/Modulos/Fabricantes/Controller/uFabricantesController.pas @@ -27,7 +27,7 @@ type procedure RecibirAviso(ASujeto: ISujeto; ADataTable: IDAStronglyTypedDataTable); override; function CreateEditor(const AName : String; const IID: TGUID; out Intf): Boolean; - function ValidarAlmacen(AFabricante: IBizFabricante): Boolean; + function ValidarFabricante(AFabricante: IBizFabricante): Boolean; //Estos son los tres métodos a sobre escribir si se desea heredar toda la logica de //este controller @@ -129,9 +129,17 @@ begin inherited; end; -function TFabricantesController.ValidarAlmacen(AFabricante: IBizFabricante): Boolean; +function TFabricantesController.ValidarFabricante(AFabricante: IBizFabricante): Boolean; begin -// + Result := False; + + if not Assigned(AFabricante) then + raise Exception.Create ('Fabricante no asignado'); + + if (AFabricante.DataTable.State in dsEditModes) then + AFabricante.DataTable.Post; + + Result := True; end; procedure TFabricantesController.ValidarObjetos; @@ -197,13 +205,10 @@ begin ValidarObjetos; - if ValidarAlmacen(AFabricante) then + if ValidarFabricante(AFabricante) then begin ShowHourglassCursor; try - if (AFabricante.DataTable.State in dsEditModes) then - AFabricante.DataTable.Post; - AFabricante.DataTable.ApplyUpdates; Result := True; diff --git a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas index bdf7a087..97f3709d 100644 --- a/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas +++ b/Source/Modulos/Facturas de cliente/Controller/uFacturasClienteController.pas @@ -518,6 +518,8 @@ end; function TFacturasClienteController.ValidarFactura(AFactura: IBizFacturaCliente): Boolean; begin + Result := False; + if not Assigned(AFactura) then raise Exception.Create ('Factura no asignada'); diff --git a/Source/Modulos/Facturas de proveedor/Controller/uFacturasProveedorController.pas b/Source/Modulos/Facturas de proveedor/Controller/uFacturasProveedorController.pas index 6e3d3bda..6c934174 100644 --- a/Source/Modulos/Facturas de proveedor/Controller/uFacturasProveedorController.pas +++ b/Source/Modulos/Facturas de proveedor/Controller/uFacturasProveedorController.pas @@ -376,6 +376,8 @@ end; function TFacturasProveedorController.ValidarFactura(AFactura: IBizFacturaProveedor): Boolean; begin + Result := False; + if not Assigned(AFactura) then raise Exception.Create ('Factura no asignada'); diff --git a/Source/Modulos/Familias/Controller/uFamiliasController.pas b/Source/Modulos/Familias/Controller/uFamiliasController.pas index cde80d91..326ad5ce 100644 --- a/Source/Modulos/Familias/Controller/uFamiliasController.pas +++ b/Source/Modulos/Familias/Controller/uFamiliasController.pas @@ -129,6 +129,14 @@ end; function TFamiliasController.ValidarFamilia(AFamilia: IBizFamilia): Boolean; begin + Result := False; + + if not Assigned(AFamilia) then + raise Exception.Create ('Familia no asignada'); + + if (AFamilia.DataTable.State in dsEditModes) then + AFamilia.DataTable.Post; + Result := True; end; @@ -190,9 +198,6 @@ begin begin ShowHourglassCursor; try - if (AFamilia.DataTable.State in dsEditModes) then - AFamilia.DataTable.Post; - AFamilia.DataTable.ApplyUpdates; Result := True; diff --git a/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas b/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas index e1d4bdce..d0560403 100644 --- a/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas +++ b/Source/Modulos/Formas de pago/Controller/uFormasPagoController.pas @@ -156,6 +156,8 @@ end; function TFormasPagoController.ValidarFormaPago(AFormaPago: IBizFormaPago): Boolean; begin + Result := False; + if not Assigned(AFormaPago) then raise Exception.Create ('Forma de pago no asignada'); diff --git a/Source/Modulos/Obras/Controller/uObrasController.pas b/Source/Modulos/Obras/Controller/uObrasController.pas index 1a707854..78db8209 100644 --- a/Source/Modulos/Obras/Controller/uObrasController.pas +++ b/Source/Modulos/Obras/Controller/uObrasController.pas @@ -221,6 +221,14 @@ end; function TObrasController.ValidarObra(AObra: IBizObra): Boolean; begin + Result := False; + + if not Assigned(AObra) then + raise Exception.Create ('Obra no asignada'); + + if (AObra.DataTable.State in dsEditModes) then + AObra.DataTable.Post; + if Length(AObra.NOMBRE) = 0 then raise Exception.Create('Debe indicar al menos el nombre de esta obra.'); @@ -407,9 +415,6 @@ begin begin ShowHourglassCursor; try - if (AObra.DataTable.State in dsEditModes) then - AObra.DataTable.Post; - // AsignarCodigo(AObra); AObra.DataTable.ApplyUpdates; diff --git a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas index 340e5b35..aafd13bc 100644 --- a/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas +++ b/Source/Modulos/Recibos de proveedor/Controller/uRecibosProveedorController.pas @@ -462,6 +462,8 @@ end; function TRecibosProveedorController.ValidarReciboProveedor(ARecibosProveedor: IBizRecibosProveedor): Boolean; begin + Result := False; + if not Assigned(ARecibosProveedor) then raise Exception.Create ('IBizRecibosProveedor no asignado'); diff --git a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas index 80b6c011..8a453991 100644 --- a/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas +++ b/Source/Modulos/Remesas de cliente/Controller/uRemesasClienteController.pas @@ -188,6 +188,8 @@ end; function TRemesasClienteController.ValidarRemesaCliente(ARemesaCliente: IBizRemesaCliente): Boolean; begin + Result := False; + if not Assigned(ARemesaCliente) then raise Exception.Create ('Remesa no asignada'); diff --git a/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas index 6cfd2970..dfe6e72c 100644 --- a/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas +++ b/Source/Modulos/Remesas de proveedor/Controller/uRemesasProveedorController.pas @@ -188,6 +188,8 @@ end; function TRemesasProveedorController.ValidarRemesaProveedor(ARemesaProveedor: IBizRemesaProveedor): Boolean; begin + Result := False; + if not Assigned(ARemesaProveedor) then raise Exception.Create ('Remesa no asignada'); diff --git a/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas b/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas index 6738d0ee..2936ae85 100644 --- a/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas +++ b/Source/Modulos/Tipos de IVA/Controller/uTiposIVAController.pas @@ -190,6 +190,8 @@ end; function TTiposIVAController.ValidarTipoIVA(ATipoIVA: IBizTipoIVA): Boolean; begin + Result := False; + if not Assigned(ATipoIVA) then raise Exception.Create ('TipoIVA no asignado'); diff --git a/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas b/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas index 155ba386..640034a8 100644 --- a/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas +++ b/Source/Modulos/Unidades de medida/Controller/uUnidadesMedidaController.pas @@ -126,9 +126,16 @@ begin inherited; end; -function TUnidadesMedidaController.ValidarUnidadesMedida( - AUnidadMedida: IBizUnidadMedida): Boolean; +function TUnidadesMedidaController.ValidarUnidadesMedida(AUnidadMedida: IBizUnidadMedida): Boolean; begin + Result := False; + + if not Assigned(AUnidadesMedida) then + raise Exception.Create ('UnidadMedida no asignada'); + + if (AUnidadMedida.DataTable.State in dsEditModes) then + AUnidadMedida.DataTable.Post; + Result := True; end; @@ -190,11 +197,7 @@ begin begin ShowHourglassCursor; try - if (AUnidadMedida.DataTable.State in dsEditModes) then - AUnidadMedida.DataTable.Post; - AUnidadMedida.DataTable.ApplyUpdates; - Result := True; finally HideHourglassCursor;