From bb4934a031818d03ee05eb8ab8bec02e68f8425f Mon Sep 17 00:00:00 2001 From: Jorge Luis caudillo esparza Date: Fri, 28 Aug 2026 07:36:31 -0700 Subject: [PATCH] =?UTF-8?q?Correccion=20de=20nmbres=20en=20espa=C3=B1ol?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- SIG.Web/App_Code/Configuration/AppServices.cs | 36 +- .../{ICfdiContracts.cs => ContratosCfdi.cs} | 72 +-- ...ice.cs => IRepositorioCatalogoProducto.cs} | 22 +- ...ory.cs => IRepositorioProductoServicio.cs} | 14 +- ...sitory.cs => IServicioCatalogoProducto.cs} | 22 +- ...ervice.cs => IServicioProductoServicio.cs} | 14 +- ...sitory.cs => IRepositorioPerfilUsuario.cs} | 12 +- ...ioService.cs => IServicioPerfilUsuario.cs} | 10 +- .../Tramites/ITramiteCatalogService.cs | 4 +- ...ository.cs => IRepositorioVentaTramite.cs} | 0 ...iteService.cs => IServicioVentaTramite.cs} | 0 .../{CfdiModels.cs => ModelosCfdi.cs} | 58 +-- ...ogModels.cs => ModelosCatalogoProducto.cs} | 4 +- ...ioModels.cs => ModelosProductoServicio.cs} | 18 +- ...uarioModels.cs => ModelosPerfilUsuario.cs} | 26 +- .../Models/Tramites/TramiteCatalogModels.cs | 2 +- ...TarjetaModels.cs => ModelosPagoTarjeta.cs} | 0 ...ramiteModels.cs => ModelosVentaTramite.cs} | 0 .../{CfdiRepository.cs => RepositorioCfdi.cs} | 328 ++++++------- ...tory.cs => RepositorioCatalogoProducto.cs} | 118 ++--- ...tory.cs => RepositorioProductoServicio.cs} | 106 ++--- ...ository.cs => RepositorioPerfilUsuario.cs} | 34 +- .../Tramites/TramiteCatalogRepository.cs | 8 +- ...pository.cs => RepositorioVentaTramite.cs} | 0 .../Facturacion/AlmacenArchivosCfdi.cs | 16 +- ...Client.cs => ClienteTimbradoPacProfact.cs} | 162 +++---- ...lder.cs => ConstructorXmlCfdi40Profact.cs} | 108 ++--- ...radoService.cs => ServicioTimbradoCfdi.cs} | 334 ++++++------- .../FabricaBitacoraCatalogoProducto.cs | 161 +++++++ .../FabricaBitacoraProductoServicio.cs | 124 +++++ .../General/ProductoCatalogBitacoraFactory.cs | 161 ------- .../General/ProductoCatalogService.cs | 438 ------------------ .../ProductoServicioBitacoraFactory.cs | 124 ----- .../General/ProductoServicioService.cs | 276 ----------- .../General/ServicioCatalogoProducto.cs | 438 ++++++++++++++++++ .../General/ServicioProductoServicio.cs | 276 +++++++++++ ...rioService.cs => ServicioPerfilUsuario.cs} | 32 +- .../Tramites/TramiteCatalogBitacoraFactory.cs | 6 +- .../Tramites/TramiteCatalogService.cs | 6 +- ...miteService.cs => ServicioVentaTramite.cs} | 24 +- SIG.Web/Pages/Catalogos/Clasificaciones.aspx | 54 +-- .../Pages/Catalogos/Clasificaciones.aspx.cs | 256 +++++----- .../Clasificaciones.aspx.designer.cs | 24 +- .../Pages/Catalogos/ProductosServicios.aspx | 74 +-- .../Catalogos/ProductosServicios.aspx.cs | 352 +++++++------- .../Catalogos/TipoTramiteDetalle.aspx.cs | 24 +- SIG.Web/Pages/Catalogos/UnidadesMedida.aspx | 58 +-- .../Pages/Catalogos/UnidadesMedida.aspx.cs | 258 +++++------ .../Catalogos/UnidadesMedida.aspx.designer.cs | 26 +- .../FraccionamientoDetalle.aspx | 4 +- .../FraccionamientoDetalle.aspx.cs | 14 +- SIG.Web/Pages/Security/Perfil.aspx | 6 +- SIG.Web/Pages/Security/Perfil.aspx.cs | 28 +- SIG.Web/Pages/Ventas/VentaTramite.aspx.cs | 76 +-- SIG.Web/Site.master.cs | 20 +- 55 files changed, 2434 insertions(+), 2434 deletions(-) rename SIG.Web/App_Code/Contracts/Facturacion/{ICfdiContracts.cs => ContratosCfdi.cs} (56%) rename SIG.Web/App_Code/Contracts/General/{IProductoCatalogService.cs => IRepositorioCatalogoProducto.cs} (60%) rename SIG.Web/App_Code/Contracts/General/{IProductoServicioRepository.cs => IRepositorioProductoServicio.cs} (65%) rename SIG.Web/App_Code/Contracts/General/{IProductoCatalogRepository.cs => IServicioCatalogoProducto.cs} (60%) rename SIG.Web/App_Code/Contracts/General/{IProductoServicioService.cs => IServicioProductoServicio.cs} (65%) rename SIG.Web/App_Code/Contracts/Security/{IPerfilUsuarioRepository.cs => IRepositorioPerfilUsuario.cs} (70%) rename SIG.Web/App_Code/Contracts/Security/{IPerfilUsuarioService.cs => IServicioPerfilUsuario.cs} (73%) rename SIG.Web/App_Code/Contracts/Ventas/{IVentaTramiteRepository.cs => IRepositorioVentaTramite.cs} (100%) rename SIG.Web/App_Code/Contracts/Ventas/{IVentaTramiteService.cs => IServicioVentaTramite.cs} (100%) rename SIG.Web/App_Code/Models/Facturacion/{CfdiModels.cs => ModelosCfdi.cs} (87%) rename SIG.Web/App_Code/Models/General/{ProductoCatalogModels.cs => ModelosCatalogoProducto.cs} (84%) rename SIG.Web/App_Code/Models/General/{ProductoServicioModels.cs => ModelosProductoServicio.cs} (64%) rename SIG.Web/App_Code/Models/Security/{PerfilUsuarioModels.cs => ModelosPerfilUsuario.cs} (78%) rename SIG.Web/App_Code/Models/Ventas/{PagoTarjetaModels.cs => ModelosPagoTarjeta.cs} (100%) rename SIG.Web/App_Code/Models/Ventas/{VentaTramiteModels.cs => ModelosVentaTramite.cs} (100%) rename SIG.Web/App_Code/Repositories/Facturacion/{CfdiRepository.cs => RepositorioCfdi.cs} (71%) rename SIG.Web/App_Code/Repositories/General/{ProductoCatalogRepository.cs => RepositorioCatalogoProducto.cs} (63%) rename SIG.Web/App_Code/Repositories/General/{ProductoServicioRepository.cs => RepositorioProductoServicio.cs} (59%) rename SIG.Web/App_Code/Repositories/Security/{PerfilUsuarioRepository.cs => RepositorioPerfilUsuario.cs} (86%) rename SIG.Web/App_Code/Repositories/Ventas/{VentaTramiteRepository.cs => RepositorioVentaTramite.cs} (100%) rename SIG.Web/App_Code/Services/Facturacion/{ProfactPacTimbradoClient.cs => ClienteTimbradoPacProfact.cs} (72%) rename SIG.Web/App_Code/Services/Facturacion/{ProfactCfdi40XmlBuilder.cs => ConstructorXmlCfdi40Profact.cs} (87%) rename SIG.Web/App_Code/Services/Facturacion/{CfdiTimbradoService.cs => ServicioTimbradoCfdi.cs} (57%) create mode 100644 SIG.Web/App_Code/Services/General/FabricaBitacoraCatalogoProducto.cs create mode 100644 SIG.Web/App_Code/Services/General/FabricaBitacoraProductoServicio.cs delete mode 100644 SIG.Web/App_Code/Services/General/ProductoCatalogBitacoraFactory.cs delete mode 100644 SIG.Web/App_Code/Services/General/ProductoCatalogService.cs delete mode 100644 SIG.Web/App_Code/Services/General/ProductoServicioBitacoraFactory.cs delete mode 100644 SIG.Web/App_Code/Services/General/ProductoServicioService.cs create mode 100644 SIG.Web/App_Code/Services/General/ServicioCatalogoProducto.cs create mode 100644 SIG.Web/App_Code/Services/General/ServicioProductoServicio.cs rename SIG.Web/App_Code/Services/Security/{PerfilUsuarioService.cs => ServicioPerfilUsuario.cs} (88%) rename SIG.Web/App_Code/Services/Ventas/{VentaTramiteService.cs => ServicioVentaTramite.cs} (96%) diff --git a/SIG.Web/App_Code/Configuration/AppServices.cs b/SIG.Web/App_Code/Configuration/AppServices.cs index 6287e00..b8c5d5b 100644 --- a/SIG.Web/App_Code/Configuration/AppServices.cs +++ b/SIG.Web/App_Code/Configuration/AppServices.cs @@ -47,10 +47,10 @@ namespace SIG.Web.AppCode.Configuration public static IUserRepository UserRepository { get; private set; } private static IUserAdministrationRepository UserAdministrationRepository { get; set; } public static IUserAdministrationService UserAdministrationService { get; private set; } - public static IPerfilUsuarioService PerfilUsuarioService { get; private set; } + public static IServicioPerfilUsuario ServicioPerfilUsuario { get; private set; } public static IGeneralCatalogRepository GeneralCatalogRepository { get; private set; } - public static IProductoServicioService ProductoServicioService { get; private set; } - public static IProductoCatalogService ProductoCatalogService { get; private set; } + public static IServicioProductoServicio ServicioProductoServicio { get; private set; } + public static IServicioCatalogoProducto ServicioCatalogoProducto { get; private set; } public static IClienteDocumentoService ClienteDocumentoService { get; private set; } public static ITramiteDocumentoService TramiteDocumentoService { get; private set; } public static IFraccionamientoService FraccionamientoService { get; private set; } @@ -58,7 +58,7 @@ namespace SIG.Web.AppCode.Configuration public static ITramiteCatalogService TramiteCatalogService { get; private set; } public static ITramiteSolicitudService TramiteSolicitudService { get; private set; } public static IServicioVentaTramite ServicioVentaTramite { get; private set; } - public static ICfdiTimbradoService CfdiTimbradoService { get; private set; } + public static IServicioTimbradoCfdi ServicioTimbradoCfdi { get; private set; } public static IPublicRegistrationService PublicRegistrationService { get; private set; } public static ILoginAttemptRepository LoginAttemptRepository { get; private set; } public static IUserSessionRepository UserSessionRepository { get; private set; } @@ -97,15 +97,15 @@ namespace SIG.Web.AppCode.Configuration UserAdministrationRepository, PasswordHasher, BitacoraService); - PerfilUsuarioService = new PerfilUsuarioService( - new PerfilUsuarioRepository(DbExecutor), + ServicioPerfilUsuario = new ServicioPerfilUsuario( + new RepositorioPerfilUsuario(DbExecutor), PasswordHasher); GeneralCatalogRepository = new GeneralCatalogRepository(DbExecutor); - ProductoServicioService = new ProductoServicioService( - new ProductoServicioRepository(DbExecutor), + ServicioProductoServicio = new ServicioProductoServicio( + new RepositorioProductoServicio(DbExecutor), BitacoraService); - ProductoCatalogService = new ProductoCatalogService( - new ProductoCatalogRepository(DbExecutor), + ServicioCatalogoProducto = new ServicioCatalogoProducto( + new RepositorioCatalogoProducto(DbExecutor), BitacoraService); ClienteDocumentoService = new ClienteDocumentoService( new ClienteDocumentoRepository(DbExecutor)); @@ -142,23 +142,23 @@ namespace SIG.Web.AppCode.Configuration TramiteSolicitudService = new TramiteSolicitudService( tramiteSolicitudRepository, BitacoraService); - var clienteProfact = new ProfactPacTimbradoClient( - new ConfigurationPacCredentialProvider()); - CfdiTimbradoService = new CfdiTimbradoService( - new CfdiRepository(DbExecutor), - new ProfactCfdi40XmlBuilder(), - new IPacTimbradoClient[] + var clienteProfact = new ClienteTimbradoPacProfact( + new ProveedorCredencialPacConfiguracion()); + ServicioTimbradoCfdi = new ServicioTimbradoCfdi( + new RepositorioCfdi(DbExecutor), + new ConstructorXmlCfdi40Profact(), + new IClienteTimbradoPac[] { clienteProfact }, - new IPacCancelacionClient[] + new IClienteCancelacionPac[] { clienteProfact }, new AlmacenArchivosCfdi()); ServicioVentaTramite = new ServicioVentaTramite( new RepositorioVentaTramite(DbExecutor), - CfdiTimbradoService); + ServicioTimbradoCfdi); LoginAttemptRepository = new LoginAttemptRepository(DbExecutor); UserSessionRepository = new UserSessionRepository(DbExecutor); diff --git a/SIG.Web/App_Code/Contracts/Facturacion/ICfdiContracts.cs b/SIG.Web/App_Code/Contracts/Facturacion/ContratosCfdi.cs similarity index 56% rename from SIG.Web/App_Code/Contracts/Facturacion/ICfdiContracts.cs rename to SIG.Web/App_Code/Contracts/Facturacion/ContratosCfdi.cs index b303283..6f25e63 100644 --- a/SIG.Web/App_Code/Contracts/Facturacion/ICfdiContracts.cs +++ b/SIG.Web/App_Code/Contracts/Facturacion/ContratosCfdi.cs @@ -5,29 +5,29 @@ using SIG.Web.AppCode.Models.Facturacion; namespace SIG.Web.AppCode.Contracts.Facturacion { - public interface ICfdiRepository + public interface IRepositorioCfdi { - DbResult ObtenerEmisor( + DbResult ObtenerEmisor( int cveEmpresa, int cveUsuarioEjecuta, string nombreDominio); - DbResult ObtenerReceptor( + DbResult ObtenerReceptor( int cveCliente, int cveUsuarioEjecuta, string nombreDominio); DbResult GuardarBorrador( - CfdiDocumentoModel documento, + ModeloDocumentoCfdi documento, int cveUsuarioEjecuta, string nombreDominio); - DbResult ObtenerDocumento( + DbResult ObtenerDocumento( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio); - DbResult IniciarIntento( + DbResult IniciarIntento( long cveCfdiDocumento, Guid idSolicitud, string proveedorPac, @@ -36,63 +36,63 @@ namespace SIG.Web.AppCode.Contracts.Facturacion int cveUsuarioEjecuta, string nombreDominio); - DbResult FinalizarIntento( + DbResult FinalizarIntento( long cveCfdiTimbrado, - CfdiPacResultadoModel resultadoPac, + ModeloResultadoPacCfdi resultadoPac, int cveUsuarioEjecuta, string nombreDominio); - DbResult> ListarIntentos( + DbResult> ListarIntentos( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio); - DbResult ObtenerXml( + DbResult ObtenerXml( long cveCfdiDocumento, bool timbrado, int cveUsuarioEjecuta, string nombreDominio); - DbResult IniciarCancelacion( - CfdiCancelacionSolicitudModel solicitud, + DbResult IniciarCancelacion( + ModeloSolicitudCancelacionCfdi solicitud, Guid idSolicitud, string proveedorPac, string ambiente, int cveUsuarioEjecuta, string nombreDominio); - DbResult FinalizarCancelacion( + DbResult FinalizarCancelacion( long cveCfdiCancelacion, - CfdiPacCancelacionResultadoModel resultadoPac, + ModeloResultadoCancelacionPacCfdi resultadoPac, int cveUsuarioEjecuta, string nombreDominio); } - public interface ICfdiXmlBuilder + public interface IConstructorXmlCfdi { - DbResult Construir( - CfdiSolicitudModel solicitud, - CfdiEmisorFiscalModel emisor, - CfdiReceptorFiscalModel receptor); + DbResult Construir( + ModeloSolicitudCfdi solicitud, + ModeloEmisorFiscalCfdi emisor, + ModeloReceptorFiscalCfdi receptor); } - public interface IPacTimbradoClient + public interface IClienteTimbradoPac { string Proveedor { get; } - CfdiPacResultadoModel Timbrar( - CfdiPacSolicitudModel solicitud); + ModeloResultadoPacCfdi Timbrar( + ModeloSolicitudPacCfdi solicitud); } - public interface IPacCancelacionClient + public interface IClienteCancelacionPac { string Proveedor { get; } - CfdiPacCancelacionResultadoModel Cancelar( - CfdiPacCancelacionSolicitudModel solicitud); + ModeloResultadoCancelacionPacCfdi Cancelar( + ModeloSolicitudCancelacionPacCfdi solicitud); } - public interface IPacCredentialProvider + public interface IProveedorCredencialPac { string ObtenerCredencial(string referencia); } @@ -100,41 +100,41 @@ namespace SIG.Web.AppCode.Contracts.Facturacion public interface IAlmacenArchivosCfdi { DbResult GuardarXmlTimbrado( - CfdiDocumentoModel documento, - CfdiTimbradoIntentoModel intento); + ModeloDocumentoCfdi documento, + ModeloIntentoTimbradoCfdi intento); } - public interface ICfdiTimbradoService + public interface IServicioTimbradoCfdi { DbResult GuardarBorrador( - CfdiSolicitudModel solicitud, + ModeloSolicitudCfdi solicitud, int cveUsuarioEjecuta, string nombreDominio); - DbResult Timbrar( + DbResult Timbrar( long cveCfdiDocumento, Guid? idSolicitud, int cveUsuarioEjecuta, string nombreDominio); - DbResult ObtenerDocumento( + DbResult ObtenerDocumento( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio); - DbResult> ListarIntentos( + DbResult> ListarIntentos( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio); - DbResult ObtenerXml( + DbResult ObtenerXml( long cveCfdiDocumento, bool timbrado, int cveUsuarioEjecuta, string nombreDominio); - DbResult Cancelar( - CfdiCancelacionSolicitudModel solicitud, + DbResult Cancelar( + ModeloSolicitudCancelacionCfdi solicitud, Guid? idSolicitud, int cveUsuarioEjecuta, string nombreDominio); diff --git a/SIG.Web/App_Code/Contracts/General/IProductoCatalogService.cs b/SIG.Web/App_Code/Contracts/General/IRepositorioCatalogoProducto.cs similarity index 60% rename from SIG.Web/App_Code/Contracts/General/IProductoCatalogService.cs rename to SIG.Web/App_Code/Contracts/General/IRepositorioCatalogoProducto.cs index 8c27138..a0ede98 100644 --- a/SIG.Web/App_Code/Contracts/General/IProductoCatalogService.cs +++ b/SIG.Web/App_Code/Contracts/General/IRepositorioCatalogoProducto.cs @@ -4,46 +4,46 @@ using SIG.Web.AppCode.Models.General; namespace SIG.Web.AppCode.Contracts.General { - public interface IProductoCatalogService + public interface IRepositorioCatalogoProducto { - DbResult> ListClasificaciones( + DbResult> ListarClasificaciones( string texto, bool incluirInactivos, int usuario, string dominio); - DbResult GetClasificacion( + DbResult ObtenerClasificacion( int cveClasificacion, int usuario, string dominio); - DbResult SaveClasificacion( - ClasificacionModel clasificacion, + DbResult GuardarClasificacion( + ModeloClasificacion clasificacion, int usuario, string dominio); - DbResult DeleteClasificacion( + DbResult EliminarClasificacion( int cveClasificacion, int usuario, string dominio); - DbResult> ListUnidadesMedida( + DbResult> ListarUnidadesMedida( string texto, bool incluirInactivos, int usuario, string dominio); - DbResult GetUnidadMedida( + DbResult ObtenerUnidadMedida( int cveUnidadMedida, int usuario, string dominio); - DbResult SaveUnidadMedida( - UnidadMedidaModel unidadMedida, + DbResult GuardarUnidadMedida( + ModeloUnidadMedida unidadMedida, int usuario, string dominio); - DbResult DeleteUnidadMedida( + DbResult EliminarUnidadMedida( int cveUnidadMedida, int usuario, string dominio); diff --git a/SIG.Web/App_Code/Contracts/General/IProductoServicioRepository.cs b/SIG.Web/App_Code/Contracts/General/IRepositorioProductoServicio.cs similarity index 65% rename from SIG.Web/App_Code/Contracts/General/IProductoServicioRepository.cs rename to SIG.Web/App_Code/Contracts/General/IRepositorioProductoServicio.cs index 6fe39b7..6939c23 100644 --- a/SIG.Web/App_Code/Contracts/General/IProductoServicioRepository.cs +++ b/SIG.Web/App_Code/Contracts/General/IRepositorioProductoServicio.cs @@ -4,31 +4,31 @@ using SIG.Web.AppCode.Models.General; namespace SIG.Web.AppCode.Contracts.General { - public interface IProductoServicioRepository + public interface IRepositorioProductoServicio { - DbResult> List( + DbResult> Listar( string texto, bool incluirInactivos, int usuario, string dominio); - DbResult Get( + DbResult Obtener( int cvePS, int usuario, string dominio); - DbResult ListOptions( + DbResult ListarOpciones( int? cveClasificacionActual, int? cveUnidadMedidaActual, int usuario, string dominio); - DbResult Save( - ProductoServicioModel productoServicio, + DbResult Guardar( + ModeloProductoServicio productoServicio, int usuario, string dominio); - DbResult Delete( + DbResult Eliminar( int cvePS, int usuario, string dominio); diff --git a/SIG.Web/App_Code/Contracts/General/IProductoCatalogRepository.cs b/SIG.Web/App_Code/Contracts/General/IServicioCatalogoProducto.cs similarity index 60% rename from SIG.Web/App_Code/Contracts/General/IProductoCatalogRepository.cs rename to SIG.Web/App_Code/Contracts/General/IServicioCatalogoProducto.cs index 5f8df3e..9942507 100644 --- a/SIG.Web/App_Code/Contracts/General/IProductoCatalogRepository.cs +++ b/SIG.Web/App_Code/Contracts/General/IServicioCatalogoProducto.cs @@ -4,46 +4,46 @@ using SIG.Web.AppCode.Models.General; namespace SIG.Web.AppCode.Contracts.General { - public interface IProductoCatalogRepository + public interface IServicioCatalogoProducto { - DbResult> ListClasificaciones( + DbResult> ListarClasificaciones( string texto, bool incluirInactivos, int usuario, string dominio); - DbResult GetClasificacion( + DbResult ObtenerClasificacion( int cveClasificacion, int usuario, string dominio); - DbResult SaveClasificacion( - ClasificacionModel clasificacion, + DbResult GuardarClasificacion( + ModeloClasificacion clasificacion, int usuario, string dominio); - DbResult DeleteClasificacion( + DbResult EliminarClasificacion( int cveClasificacion, int usuario, string dominio); - DbResult> ListUnidadesMedida( + DbResult> ListarUnidadesMedida( string texto, bool incluirInactivos, int usuario, string dominio); - DbResult GetUnidadMedida( + DbResult ObtenerUnidadMedida( int cveUnidadMedida, int usuario, string dominio); - DbResult SaveUnidadMedida( - UnidadMedidaModel unidadMedida, + DbResult GuardarUnidadMedida( + ModeloUnidadMedida unidadMedida, int usuario, string dominio); - DbResult DeleteUnidadMedida( + DbResult EliminarUnidadMedida( int cveUnidadMedida, int usuario, string dominio); diff --git a/SIG.Web/App_Code/Contracts/General/IProductoServicioService.cs b/SIG.Web/App_Code/Contracts/General/IServicioProductoServicio.cs similarity index 65% rename from SIG.Web/App_Code/Contracts/General/IProductoServicioService.cs rename to SIG.Web/App_Code/Contracts/General/IServicioProductoServicio.cs index 9fcb2a1..c6d042a 100644 --- a/SIG.Web/App_Code/Contracts/General/IProductoServicioService.cs +++ b/SIG.Web/App_Code/Contracts/General/IServicioProductoServicio.cs @@ -4,31 +4,31 @@ using SIG.Web.AppCode.Models.General; namespace SIG.Web.AppCode.Contracts.General { - public interface IProductoServicioService + public interface IServicioProductoServicio { - DbResult> List( + DbResult> Listar( string texto, bool incluirInactivos, int usuario, string dominio); - DbResult Get( + DbResult Obtener( int cvePS, int usuario, string dominio); - DbResult ListOptions( + DbResult ListarOpciones( int? cveClasificacionActual, int? cveUnidadMedidaActual, int usuario, string dominio); - DbResult Save( - ProductoServicioModel productoServicio, + DbResult Guardar( + ModeloProductoServicio productoServicio, int usuario, string dominio); - DbResult Delete( + DbResult Eliminar( int cvePS, int usuario, string dominio); diff --git a/SIG.Web/App_Code/Contracts/Security/IPerfilUsuarioRepository.cs b/SIG.Web/App_Code/Contracts/Security/IRepositorioPerfilUsuario.cs similarity index 70% rename from SIG.Web/App_Code/Contracts/Security/IPerfilUsuarioRepository.cs rename to SIG.Web/App_Code/Contracts/Security/IRepositorioPerfilUsuario.cs index 5287c35..f2a30fd 100644 --- a/SIG.Web/App_Code/Contracts/Security/IPerfilUsuarioRepository.cs +++ b/SIG.Web/App_Code/Contracts/Security/IRepositorioPerfilUsuario.cs @@ -4,14 +4,14 @@ using SIG.Web.AppCode.Models.Security; namespace SIG.Web.AppCode.Contracts.Security { - public interface IPerfilUsuarioRepository + public interface IRepositorioPerfilUsuario { - DbResult ObtenerPerfil( + DbResult ObtenerPerfil( int cveUsuario, int cveUsuarioEjecuta, string nombreDominio); - DbResult ActualizarSesion( + DbResult ActualizarSesion( int cveUsuario, string nombreUsuario, string hashContrasena, @@ -19,17 +19,17 @@ namespace SIG.Web.AppCode.Contracts.Security string nombreDominio); DbResult ActualizarCliente( - PerfilClienteModel cliente, + ModeloPerfilCliente cliente, int cveUsuarioEjecuta, string nombreDominio); - DbResult> + DbResult> ListarUsuariosCambio( string texto, int cveUsuarioEjecuta, string nombreDominio); - DbResult ObtenerUsuarioContexto( + DbResult ObtenerUsuarioContexto( int cveUsuario, int cveUsuarioEjecuta, string nombreDominio); diff --git a/SIG.Web/App_Code/Contracts/Security/IPerfilUsuarioService.cs b/SIG.Web/App_Code/Contracts/Security/IServicioPerfilUsuario.cs similarity index 73% rename from SIG.Web/App_Code/Contracts/Security/IPerfilUsuarioService.cs rename to SIG.Web/App_Code/Contracts/Security/IServicioPerfilUsuario.cs index da17948..fe2f4be 100644 --- a/SIG.Web/App_Code/Contracts/Security/IPerfilUsuarioService.cs +++ b/SIG.Web/App_Code/Contracts/Security/IServicioPerfilUsuario.cs @@ -5,21 +5,21 @@ using SIG.Web.AppCode.Session; namespace SIG.Web.AppCode.Contracts.Security { - public interface IPerfilUsuarioService + public interface IServicioPerfilUsuario { - DbResult ObtenerPerfil( + DbResult ObtenerPerfil( UserSessionModel usuarioSesion); - DbResult ActualizarSesion( + DbResult ActualizarSesion( UserSessionModel usuarioSesion, string nombreUsuario, string contrasena); DbResult ActualizarCliente( UserSessionModel usuarioSesion, - PerfilClienteModel cliente); + ModeloPerfilCliente cliente); - DbResult> + DbResult> ListarUsuariosCambio( UserSessionModel usuarioSesion, string texto); diff --git a/SIG.Web/App_Code/Contracts/Tramites/ITramiteCatalogService.cs b/SIG.Web/App_Code/Contracts/Tramites/ITramiteCatalogService.cs index b7d136d..efc2f12 100644 --- a/SIG.Web/App_Code/Contracts/Tramites/ITramiteCatalogService.cs +++ b/SIG.Web/App_Code/Contracts/Tramites/ITramiteCatalogService.cs @@ -39,8 +39,8 @@ namespace SIG.Web.AppCode.Contracts.Tramites DbResult GetPagoDetalle(int id, int usuario, string dominio); DbResult SavePagoDetalle(TramitePagoDetalleModel model, int usuario, string dominio); DbResult DeletePagoDetalle(int id, int usuario, string dominio); - DbResult> ListProductosServicios(string texto, bool incluirInactivos, int usuario, string dominio); - DbResult GetProductoServicio(int id, int usuario, string dominio); + DbResult> ListProductosServicios(string texto, bool incluirInactivos, int usuario, string dominio); + DbResult GetProductoServicio(int id, int usuario, string dominio); DbResult UpdateProductoServicioPrecio(int id, decimal precio, int usuario, string dominio); DbResult MoveOrder(TramiteCatalogOrderEntity entity, int id, int referenceId, bool placeAfter, int usuario, string dominio); } diff --git a/SIG.Web/App_Code/Contracts/Ventas/IVentaTramiteRepository.cs b/SIG.Web/App_Code/Contracts/Ventas/IRepositorioVentaTramite.cs similarity index 100% rename from SIG.Web/App_Code/Contracts/Ventas/IVentaTramiteRepository.cs rename to SIG.Web/App_Code/Contracts/Ventas/IRepositorioVentaTramite.cs diff --git a/SIG.Web/App_Code/Contracts/Ventas/IVentaTramiteService.cs b/SIG.Web/App_Code/Contracts/Ventas/IServicioVentaTramite.cs similarity index 100% rename from SIG.Web/App_Code/Contracts/Ventas/IVentaTramiteService.cs rename to SIG.Web/App_Code/Contracts/Ventas/IServicioVentaTramite.cs diff --git a/SIG.Web/App_Code/Models/Facturacion/CfdiModels.cs b/SIG.Web/App_Code/Models/Facturacion/ModelosCfdi.cs similarity index 87% rename from SIG.Web/App_Code/Models/Facturacion/CfdiModels.cs rename to SIG.Web/App_Code/Models/Facturacion/ModelosCfdi.cs index d34c87b..0108dc1 100644 --- a/SIG.Web/App_Code/Models/Facturacion/CfdiModels.cs +++ b/SIG.Web/App_Code/Models/Facturacion/ModelosCfdi.cs @@ -22,12 +22,12 @@ namespace SIG.Web.AppCode.Models.Facturacion public const string Duplicado = "DUPLICADO"; } - public sealed class CfdiSolicitudModel + public sealed class ModeloSolicitudCfdi { - public CfdiSolicitudModel() + public ModeloSolicitudCfdi() { - Conceptos = new List(); - CfdiRelacionados = new List(); + Conceptos = new List(); + CfdiRelacionados = new List(); } public long CveCfdiDocumento { get; set; } @@ -48,11 +48,11 @@ namespace SIG.Web.AppCode.Models.Facturacion public string Exportacion { get; set; } public string UsoCfdi { get; set; } public string LugarExpedicion { get; set; } - public IList Conceptos { get; private set; } - public IList CfdiRelacionados { get; private set; } + public IList Conceptos { get; private set; } + public IList CfdiRelacionados { get; private set; } } - public sealed class CfdiEmisorFiscalModel + public sealed class ModeloEmisorFiscalCfdi { public int CveEmisorFiscal { get; set; } public int CveEmpresa { get; set; } @@ -73,7 +73,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public bool EsActivo { get; set; } } - public sealed class CfdiReceptorFiscalModel + public sealed class ModeloReceptorFiscalCfdi { public int CveCliente { get; set; } public string Rfc { get; set; } @@ -83,11 +83,11 @@ namespace SIG.Web.AppCode.Models.Facturacion public string UsoCfdi { get; set; } } - public sealed class CfdiConceptoModel + public sealed class ModeloConceptoCfdi { - public CfdiConceptoModel() + public ModeloConceptoCfdi() { - Impuestos = new List(); + Impuestos = new List(); } public string ClaveProductoServicio { get; set; } @@ -99,10 +99,10 @@ namespace SIG.Web.AppCode.Models.Facturacion public decimal ValorUnitario { get; set; } public decimal Descuento { get; set; } public string ObjetoImpuesto { get; set; } - public IList Impuestos { get; private set; } + public IList Impuestos { get; private set; } } - public sealed class CfdiImpuestoConceptoModel + public sealed class ModeloImpuestoConceptoCfdi { public bool EsRetencion { get; set; } public decimal Base { get; set; } @@ -112,13 +112,13 @@ namespace SIG.Web.AppCode.Models.Facturacion public decimal Importe { get; set; } } - public sealed class CfdiRelacionadoModel + public sealed class ModeloCfdiRelacionado { public string TipoRelacion { get; set; } public string Uuid { get; set; } } - public sealed class CfdiDocumentoModel + public sealed class ModeloDocumentoCfdi { public long CveCfdiDocumento { get; set; } public Guid IdentificadorDocumento { get; set; } @@ -158,16 +158,16 @@ namespace SIG.Web.AppCode.Models.Facturacion public long? CveCfdiTimbradoVigente { get; set; } public string UuidVigente { get; set; } public byte[] VersionFila { get; set; } - public CfdiEmisorFiscalModel EmisorFiscal { get; set; } + public ModeloEmisorFiscalCfdi EmisorFiscal { get; set; } } - public sealed class CfdiXmlBuildResultModel + public sealed class ModeloResultadoConstruccionXmlCfdi { - public CfdiDocumentoModel Documento { get; set; } + public ModeloDocumentoCfdi Documento { get; set; } public string Xml { get; set; } } - public sealed class CfdiTimbradoInicioModel + public sealed class ModeloInicioTimbradoCfdi { public long CveCfdiTimbrado { get; set; } public int NumeroIntento { get; set; } @@ -176,7 +176,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public bool PuedeEnviar { get; set; } } - public sealed class CfdiTimbradoIntentoModel + public sealed class ModeloIntentoTimbradoCfdi { public long CveCfdiTimbrado { get; set; } public long CveCfdiDocumento { get; set; } @@ -207,7 +207,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public byte[] CodigoBidimensional { get; set; } } - public sealed class CfdiPacSolicitudModel + public sealed class ModeloSolicitudPacCfdi { public long CveCfdiDocumento { get; set; } public long CveCfdiTimbrado { get; set; } @@ -220,7 +220,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public byte[] XmlSinTimbrar { get; set; } } - public sealed class CfdiPacResultadoModel + public sealed class ModeloResultadoPacCfdi { public bool Exitoso { get; set; } public bool ResultadoIndeterminado { get; set; } @@ -240,14 +240,14 @@ namespace SIG.Web.AppCode.Models.Facturacion public byte[] CodigoBidimensional { get; set; } } - public sealed class CfdiCancelacionSolicitudModel + public sealed class ModeloSolicitudCancelacionCfdi { public long CveCfdiDocumento { get; set; } public string Motivo { get; set; } public string UuidSustitucion { get; set; } } - public sealed class CfdiCancelacionInicioModel + public sealed class ModeloInicioCancelacionCfdi { public long CveCfdiCancelacion { get; set; } public long CveCfdiDocumento { get; set; } @@ -260,7 +260,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public bool PuedeEnviar { get; set; } } - public sealed class CfdiPacCancelacionSolicitudModel + public sealed class ModeloSolicitudCancelacionPacCfdi { public string RfcEmisor { get; set; } public string Uuid { get; set; } @@ -270,7 +270,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public string ReferenciaCredencialPac { get; set; } } - public sealed class CfdiPacCancelacionResultadoModel + public sealed class ModeloResultadoCancelacionPacCfdi { public bool Exitoso { get; set; } public bool ResultadoIndeterminado { get; set; } @@ -279,7 +279,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public string TipoExcepcion { get; set; } } - public sealed class CfdiCancelacionResultadoModel + public sealed class ModeloResultadoCancelacionCfdi { public long CveCfdiDocumento { get; set; } public long CveCfdiCancelacion { get; set; } @@ -289,7 +289,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public string Mensaje { get; set; } } - public sealed class CfdiTimbradoResultadoModel + public sealed class ModeloResultadoTimbradoCfdi { public long CveCfdiDocumento { get; set; } public long CveCfdiTimbrado { get; set; } @@ -302,7 +302,7 @@ namespace SIG.Web.AppCode.Models.Facturacion public string Mensaje { get; set; } } - public sealed class CfdiArchivoModel + public sealed class ModeloArchivoCfdi { public long CveCfdiDocumento { get; set; } public long? CveCfdiTimbrado { get; set; } diff --git a/SIG.Web/App_Code/Models/General/ProductoCatalogModels.cs b/SIG.Web/App_Code/Models/General/ModelosCatalogoProducto.cs similarity index 84% rename from SIG.Web/App_Code/Models/General/ProductoCatalogModels.cs rename to SIG.Web/App_Code/Models/General/ModelosCatalogoProducto.cs index 476602b..384e85c 100644 --- a/SIG.Web/App_Code/Models/General/ProductoCatalogModels.cs +++ b/SIG.Web/App_Code/Models/General/ModelosCatalogoProducto.cs @@ -1,6 +1,6 @@ namespace SIG.Web.AppCode.Models.General { - public sealed class ClasificacionModel + public sealed class ModeloClasificacion { public int CveClasificacion { get; set; } public string Codigo { get; set; } @@ -9,7 +9,7 @@ namespace SIG.Web.AppCode.Models.General public bool EsActivo { get; set; } } - public sealed class UnidadMedidaModel + public sealed class ModeloUnidadMedida { public int CveUnidadMedida { get; set; } public string UnidadMedida { get; set; } diff --git a/SIG.Web/App_Code/Models/General/ProductoServicioModels.cs b/SIG.Web/App_Code/Models/General/ModelosProductoServicio.cs similarity index 64% rename from SIG.Web/App_Code/Models/General/ProductoServicioModels.cs rename to SIG.Web/App_Code/Models/General/ModelosProductoServicio.cs index e964683..45037dd 100644 --- a/SIG.Web/App_Code/Models/General/ProductoServicioModels.cs +++ b/SIG.Web/App_Code/Models/General/ModelosProductoServicio.cs @@ -3,7 +3,7 @@ using System.Collections.Generic; namespace SIG.Web.AppCode.Models.General { [System.Serializable] - public sealed class ProductoServicioModel + public sealed class ModeloProductoServicio { public int CvePS { get; set; } public string Codigo { get; set; } @@ -18,34 +18,34 @@ namespace SIG.Web.AppCode.Models.General public bool EsActivo { get; set; } } - public sealed class ProductoServicioOpcionesModel + public sealed class ModeloOpcionesProductoServicio { - public ProductoServicioOpcionesModel() + public ModeloOpcionesProductoServicio() { - Clasificaciones = new List(); - UnidadesMedida = new List(); + Clasificaciones = new List(); + UnidadesMedida = new List(); } - public List Clasificaciones + public List Clasificaciones { get; set; } - public List UnidadesMedida + public List UnidadesMedida { get; set; } } - public sealed class ClasificacionProductoOpcionModel + public sealed class ModeloOpcionClasificacionProducto { public int CveClasificacion { get; set; } public string Clasificacion { get; set; } } - public sealed class UnidadMedidaOpcionModel + public sealed class ModeloOpcionUnidadMedida { public int CveUnidadMedida { get; set; } public string UnidadMedida { get; set; } diff --git a/SIG.Web/App_Code/Models/Security/PerfilUsuarioModels.cs b/SIG.Web/App_Code/Models/Security/ModelosPerfilUsuario.cs similarity index 78% rename from SIG.Web/App_Code/Models/Security/PerfilUsuarioModels.cs rename to SIG.Web/App_Code/Models/Security/ModelosPerfilUsuario.cs index fa23d9c..dbf779e 100644 --- a/SIG.Web/App_Code/Models/Security/PerfilUsuarioModels.cs +++ b/SIG.Web/App_Code/Models/Security/ModelosPerfilUsuario.cs @@ -4,7 +4,7 @@ using System.Collections.Generic; namespace SIG.Web.AppCode.Models.Security { [Serializable] - public sealed class PerfilSesionModel + public sealed class ModeloPerfilSesion { public int CveUsuario { get; set; } public string NombreUsuario { get; set; } @@ -16,7 +16,7 @@ namespace SIG.Web.AppCode.Models.Security } [Serializable] - public sealed class PerfilClienteModel + public sealed class ModeloPerfilCliente { public int CveCliente { get; set; } public string Nombre { get; set; } @@ -41,7 +41,7 @@ namespace SIG.Web.AppCode.Models.Security } [Serializable] - public sealed class RegimenFiscalPerfilOpcionModel + public sealed class ModeloOpcionRegimenFiscalPerfil { public int CveRegimenFiscal { get; set; } public string CodigoRegimenFiscal { get; set; } @@ -57,7 +57,7 @@ namespace SIG.Web.AppCode.Models.Security } [Serializable] - public sealed class UsoCfdiPerfilOpcionModel + public sealed class ModeloOpcionUsoCfdiPerfil { public int CveUsoCFDI { get; set; } public string UsoCFDI { get; set; } @@ -70,24 +70,24 @@ namespace SIG.Web.AppCode.Models.Security } [Serializable] - public sealed class PerfilUsuarioConsultaModel + public sealed class ModeloConsultaPerfilUsuario { - public PerfilUsuarioConsultaModel() + public ModeloConsultaPerfilUsuario() { RegimenesFiscales = - new List(); - UsosCfdi = new List(); + new List(); + UsosCfdi = new List(); } - public PerfilSesionModel Sesion { get; set; } - public PerfilClienteModel Cliente { get; set; } - public List + public ModeloPerfilSesion Sesion { get; set; } + public ModeloPerfilCliente Cliente { get; set; } + public List RegimenesFiscales { get; set; } - public List UsosCfdi { get; set; } + public List UsosCfdi { get; set; } } [Serializable] - public sealed class UsuarioCambioContextoModel + public sealed class ModeloUsuarioCambioContexto { public int CveUsuario { get; set; } public string NombreUsuario { get; set; } diff --git a/SIG.Web/App_Code/Models/Tramites/TramiteCatalogModels.cs b/SIG.Web/App_Code/Models/Tramites/TramiteCatalogModels.cs index 93b3286..f331eaa 100644 --- a/SIG.Web/App_Code/Models/Tramites/TramiteCatalogModels.cs +++ b/SIG.Web/App_Code/Models/Tramites/TramiteCatalogModels.cs @@ -145,7 +145,7 @@ namespace SIG.Web.AppCode.Models.Tramites } [Serializable] - public sealed class ProductoServicioTramiteModel + public sealed class ModeloProductoServicioTramite { public int CvePS { get; set; } public string Codigo { get; set; } diff --git a/SIG.Web/App_Code/Models/Ventas/PagoTarjetaModels.cs b/SIG.Web/App_Code/Models/Ventas/ModelosPagoTarjeta.cs similarity index 100% rename from SIG.Web/App_Code/Models/Ventas/PagoTarjetaModels.cs rename to SIG.Web/App_Code/Models/Ventas/ModelosPagoTarjeta.cs diff --git a/SIG.Web/App_Code/Models/Ventas/VentaTramiteModels.cs b/SIG.Web/App_Code/Models/Ventas/ModelosVentaTramite.cs similarity index 100% rename from SIG.Web/App_Code/Models/Ventas/VentaTramiteModels.cs rename to SIG.Web/App_Code/Models/Ventas/ModelosVentaTramite.cs diff --git a/SIG.Web/App_Code/Repositories/Facturacion/CfdiRepository.cs b/SIG.Web/App_Code/Repositories/Facturacion/RepositorioCfdi.cs similarity index 71% rename from SIG.Web/App_Code/Repositories/Facturacion/CfdiRepository.cs rename to SIG.Web/App_Code/Repositories/Facturacion/RepositorioCfdi.cs index a0dc130..e064f66 100644 --- a/SIG.Web/App_Code/Repositories/Facturacion/CfdiRepository.cs +++ b/SIG.Web/App_Code/Repositories/Facturacion/RepositorioCfdi.cs @@ -11,48 +11,48 @@ using SIG.Web.AppCode.Utilities; namespace SIG.Web.AppCode.Repositories.Facturacion { - public sealed class CfdiRepository - : RepositoryBase, ICfdiRepository + public sealed class RepositorioCfdi + : RepositoryBase, IRepositorioCfdi { - public CfdiRepository(IDbExecutor db) - : base(db) + public RepositorioCfdi(IDbExecutor ejecutorBaseDatos) + : base(ejecutorBaseDatos) { } - public DbResult ObtenerEmisor( + public DbResult ObtenerEmisor( int cveEmpresa, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_EmisorFiscalGet", cveUsuarioEjecuta, nombreDominio, - command => StoredProcedureCommand.AddInput( - command, + comando => StoredProcedureCommand.AddInput( + comando, "@CveEmpresa", cveEmpresa, DbType.Int32)); } - public DbResult ObtenerReceptor( + public DbResult ObtenerReceptor( int cveCliente, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_ReceptorFiscalGet", cveUsuarioEjecuta, nombreDominio, - command => StoredProcedureCommand.AddInput( - command, + comando => StoredProcedureCommand.AddInput( + comando, "@CveCliente", cveCliente, DbType.Int32)); } public DbResult GuardarBorrador( - CfdiDocumentoModel documento, + ModeloDocumentoCfdi documento, int cveUsuarioEjecuta, string nombreDominio) { @@ -60,195 +60,195 @@ namespace SIG.Web.AppCode.Repositories.Facturacion "dbo.PA_Fac_CfdiDocumentoSaveDraft", cveUsuarioEjecuta, nombreDominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveCfdiDocumento", documento.CveCfdiDocumento <= 0 ? (object)null : documento.CveCfdiDocumento, DbType.Int64); - Add( - command, + Agregar( + comando, "@CveEmpresa", documento.CveEmpresa, DbType.Int32); - Add( - command, + Agregar( + comando, "@CveCliente", documento.CveCliente, DbType.Int32); - Add( - command, + Agregar( + comando, "@TipoOrigen", documento.TipoOrigen, DbType.String); - Add( - command, + Agregar( + comando, "@CveOrigen", documento.CveOrigen, DbType.Int64); - Add( - command, + Agregar( + comando, "@ReferenciaOrigen", documento.ReferenciaOrigen, DbType.String); - Add( - command, + Agregar( + comando, "@VersionCfdi", documento.VersionCfdi, DbType.String); - Add( - command, + Agregar( + comando, "@Serie", documento.Serie, DbType.String); - Add( - command, + Agregar( + comando, "@Folio", documento.Folio, DbType.String); - Add( - command, + Agregar( + comando, "@FechaEmision", documento.FechaEmision, DbType.DateTime2); - Add( - command, + Agregar( + comando, "@TipoComprobante", documento.TipoComprobante, DbType.String); - Add( - command, + Agregar( + comando, "@FormaPago", documento.FormaPago, DbType.String); - Add( - command, + Agregar( + comando, "@MetodoPago", documento.MetodoPago, DbType.String); - Add( - command, + Agregar( + comando, "@CondicionesPago", documento.CondicionesPago, DbType.String); - Add( - command, + Agregar( + comando, "@Moneda", documento.Moneda, DbType.String); - Add( - command, + Agregar( + comando, "@TipoCambio", documento.TipoCambio, DbType.Decimal); - Add( - command, + Agregar( + comando, "@Exportacion", documento.Exportacion, DbType.String); - Add( - command, + Agregar( + comando, "@LugarExpedicion", documento.LugarExpedicion, DbType.String); - Add( - command, + Agregar( + comando, "@Subtotal", documento.Subtotal, DbType.Decimal); - Add( - command, + Agregar( + comando, "@Descuento", documento.Descuento, DbType.Decimal); - Add( - command, + Agregar( + comando, "@TotalImpuestosTrasladados", documento.TotalImpuestosTrasladados, DbType.Decimal); - Add( - command, + Agregar( + comando, "@TotalImpuestosRetenidos", documento.TotalImpuestosRetenidos, DbType.Decimal); - Add( - command, + Agregar( + comando, "@Total", documento.Total, DbType.Decimal); - Add( - command, + Agregar( + comando, "@RfcEmisor", documento.RfcEmisor, DbType.String); - Add( - command, + Agregar( + comando, "@NombreEmisor", documento.NombreEmisor, DbType.String); - Add( - command, + Agregar( + comando, "@RegimenFiscalEmisor", documento.RegimenFiscalEmisor, DbType.String); - Add( - command, + Agregar( + comando, "@RfcReceptor", documento.RfcReceptor, DbType.String); - Add( - command, + Agregar( + comando, "@NombreReceptor", documento.NombreReceptor, DbType.String); - Add( - command, + Agregar( + comando, "@DomicilioFiscalReceptor", documento.DomicilioFiscalReceptor, DbType.String); - Add( - command, + Agregar( + comando, "@RegimenFiscalReceptor", documento.RegimenFiscalReceptor, DbType.String); - Add( - command, + Agregar( + comando, "@UsoCfdi", documento.UsoCfdi, DbType.String); - Add( - command, + Agregar( + comando, "@XmlSinTimbrar", documento.XmlSinTimbrar, DbType.Binary); - Add( - command, + Agregar( + comando, "@HashXmlSinTimbrar", documento.HashXmlSinTimbrar, DbType.Binary); }); } - public DbResult ObtenerDocumento( + public DbResult ObtenerDocumento( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_CfdiDocumentoGet", cveUsuarioEjecuta, nombreDominio, - command => Add( - command, + comando => Agregar( + comando, "@CveCfdiDocumento", cveCfdiDocumento, DbType.Int64)); } - public DbResult IniciarIntento( + public DbResult IniciarIntento( long cveCfdiDocumento, Guid idSolicitud, string proveedorPac, @@ -257,199 +257,199 @@ namespace SIG.Web.AppCode.Repositories.Facturacion int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_CfdiTimbradoAttemptStart", cveUsuarioEjecuta, nombreDominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveCfdiDocumento", cveCfdiDocumento, DbType.Int64); - Add( - command, + Agregar( + comando, "@IdSolicitud", idSolicitud, DbType.Guid); - Add( - command, + Agregar( + comando, "@ProveedorPac", proveedorPac, DbType.String); - Add( - command, + Agregar( + comando, "@Ambiente", ambiente, DbType.String); - Add( - command, + Agregar( + comando, "@ReferenciaContratoPac", referenciaContratoPac, DbType.String); }); } - public DbResult FinalizarIntento( + public DbResult FinalizarIntento( long cveCfdiTimbrado, - CfdiPacResultadoModel resultadoPac, + ModeloResultadoPacCfdi resultadoPac, int cveUsuarioEjecuta, string nombreDominio) { byte[] hashXmlTimbrado = - ProfactPacTimbradoClient.CalcularSha256( + ClienteTimbradoPacProfact.CalcularSha256( resultadoPac.XmlTimbrado); - return QueryOne( + return QueryOne( "dbo.PA_Fac_CfdiTimbradoAttemptComplete", cveUsuarioEjecuta, nombreDominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveCfdiTimbrado", cveCfdiTimbrado, DbType.Int64); - Add( - command, + Agregar( + comando, "@Exitoso", resultadoPac.Exitoso, DbType.Boolean); - Add( - command, + Agregar( + comando, "@ResultadoIndeterminado", resultadoPac.ResultadoIndeterminado, DbType.Boolean); - Add( - command, + Agregar( + comando, "@IdOperacionPac", resultadoPac.IdOperacionPac, DbType.String); - Add( - command, + Agregar( + comando, "@CodigoRespuesta", resultadoPac.CodigoRespuesta, DbType.String); - Add( - command, + Agregar( + comando, "@MensajeRespuesta", resultadoPac.MensajeRespuesta, DbType.String); - Add( - command, + Agregar( + comando, "@TipoExcepcion", resultadoPac.TipoExcepcion, DbType.String); - Add( - command, + Agregar( + comando, "@Uuid", resultadoPac.Uuid, DbType.String); - Add( - command, + Agregar( + comando, "@FechaTimbrado", resultadoPac.FechaTimbrado, DbType.DateTime2); - Add( - command, + Agregar( + comando, "@RfcProveedorCertificacion", resultadoPac.RfcProveedorCertificacion, DbType.String); - Add( - command, + Agregar( + comando, "@NumeroCertificadoEmisor", resultadoPac.NumeroCertificadoEmisor, DbType.String); - Add( - command, + Agregar( + comando, "@NumeroCertificadoSat", resultadoPac.NumeroCertificadoSat, DbType.String); - Add( - command, + Agregar( + comando, "@SelloCfdi", resultadoPac.SelloCfdi, DbType.String); - Add( - command, + Agregar( + comando, "@SelloSat", resultadoPac.SelloSat, DbType.String); - Add( - command, + Agregar( + comando, "@CadenaTimbre", resultadoPac.CadenaTimbre, DbType.String); - Add( - command, + Agregar( + comando, "@XmlTimbrado", resultadoPac.XmlTimbrado, DbType.Binary); - Add( - command, + Agregar( + comando, "@HashXmlTimbrado", hashXmlTimbrado, DbType.Binary); - Add( - command, + Agregar( + comando, "@CodigoBidimensional", resultadoPac.CodigoBidimensional, DbType.Binary); }); } - public DbResult> ListarIntentos( + public DbResult> ListarIntentos( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio) { - return QueryList( + return QueryList( "dbo.PA_Fac_CfdiTimbradoAttemptList", cveUsuarioEjecuta, nombreDominio, - command => Add( - command, + comando => Agregar( + comando, "@CveCfdiDocumento", cveCfdiDocumento, DbType.Int64)); } - public DbResult ObtenerXml( + public DbResult ObtenerXml( long cveCfdiDocumento, bool timbrado, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_CfdiXmlGet", cveUsuarioEjecuta, nombreDominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveCfdiDocumento", cveCfdiDocumento, DbType.Int64); - Add( - command, + Agregar( + comando, "@Timbrado", timbrado, DbType.Boolean); }); } - public DbResult IniciarCancelacion( - CfdiCancelacionSolicitudModel solicitud, + public DbResult IniciarCancelacion( + ModeloSolicitudCancelacionCfdi solicitud, System.Guid idSolicitud, string proveedorPac, string ambiente, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_CfdiCancelacionAttemptStart", cveUsuarioEjecuta, nombreDominio, @@ -488,13 +488,13 @@ namespace SIG.Web.AppCode.Repositories.Facturacion }); } - public DbResult FinalizarCancelacion( + public DbResult FinalizarCancelacion( long cveCfdiCancelacion, - CfdiPacCancelacionResultadoModel resultadoPac, + ModeloResultadoCancelacionPacCfdi resultadoPac, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Fac_CfdiCancelacionAttemptComplete", cveUsuarioEjecuta, nombreDominio, @@ -533,17 +533,17 @@ namespace SIG.Web.AppCode.Repositories.Facturacion }); } - private static void Add( - IDbCommand command, - string name, - object value, - DbType type) + private static void Agregar( + IDbCommand comando, + string nombre, + object valor, + DbType tipo) { StoredProcedureCommand.AddInput( - command, - name, - value, - type); + comando, + nombre, + valor, + tipo); } } } diff --git a/SIG.Web/App_Code/Repositories/General/ProductoCatalogRepository.cs b/SIG.Web/App_Code/Repositories/General/RepositorioCatalogoProducto.cs similarity index 63% rename from SIG.Web/App_Code/Repositories/General/ProductoCatalogRepository.cs rename to SIG.Web/App_Code/Repositories/General/RepositorioCatalogoProducto.cs index 1a1e17e..aa5d676 100644 --- a/SIG.Web/App_Code/Repositories/General/ProductoCatalogRepository.cs +++ b/SIG.Web/App_Code/Repositories/General/RepositorioCatalogoProducto.cs @@ -8,53 +8,53 @@ using SIG.Web.AppCode.Repositories.Database; namespace SIG.Web.AppCode.Repositories.General { - public sealed class ProductoCatalogRepository - : RepositoryBase, IProductoCatalogRepository + public sealed class RepositorioCatalogoProducto + : RepositoryBase, IRepositorioCatalogoProducto { - public ProductoCatalogRepository(IDbExecutor dbExecutor) - : base(dbExecutor) + public RepositorioCatalogoProducto(IDbExecutor ejecutorBaseDatos) + : base(ejecutorBaseDatos) { } - public DbResult> ListClasificaciones( + public DbResult> ListarClasificaciones( string texto, bool incluirInactivos, int usuario, string dominio) { - return QueryList( + return QueryList( "dbo.PA_Gral_ClasificacionList", usuario, dominio, - command => + comando => { - Add(command, "@Texto", texto, DbType.String); - Add( - command, + Agregar(comando, "@Texto", texto, DbType.String); + Agregar( + comando, "@IncluirInactivos", incluirInactivos, DbType.Boolean); }); } - public DbResult GetClasificacion( + public DbResult ObtenerClasificacion( int cveClasificacion, int usuario, string dominio) { - return QueryOne( + return QueryOne( "dbo.PA_Gral_ClasificacionGet", usuario, dominio, - command => Add( - command, + comando => Agregar( + comando, "@CveClasificacion", cveClasificacion, DbType.Int32)); } - public DbResult SaveClasificacion( - ClasificacionModel clasificacion, + public DbResult GuardarClasificacion( + ModeloClasificacion clasificacion, int usuario, string dominio) { @@ -62,35 +62,35 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_ClasificacionSave", usuario, dominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveClasificacion", clasificacion.CveClasificacion > 0 ? (object)clasificacion.CveClasificacion : null, DbType.Int32); - Add(command, "@Codigo", clasificacion.Codigo, DbType.String); - Add( - command, + Agregar(comando, "@Codigo", clasificacion.Codigo, DbType.String); + Agregar( + comando, "@Clasificacion", clasificacion.Clasificacion, DbType.String); - Add( - command, + Agregar( + comando, "@Afectable", clasificacion.Afectable, DbType.Boolean); - Add( - command, + Agregar( + comando, "@EsActivo", clasificacion.EsActivo, DbType.Boolean); }); } - public DbResult DeleteClasificacion( + public DbResult EliminarClasificacion( int cveClasificacion, int usuario, string dominio) @@ -99,52 +99,52 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_ClasificacionDelete", usuario, dominio, - command => Add( - command, + comando => Agregar( + comando, "@CveClasificacion", cveClasificacion, DbType.Int32)); } - public DbResult> ListUnidadesMedida( + public DbResult> ListarUnidadesMedida( string texto, bool incluirInactivos, int usuario, string dominio) { - return QueryList( + return QueryList( "dbo.PA_Gral_UnidadMedidaList", usuario, dominio, - command => + comando => { - Add(command, "@Texto", texto, DbType.String); - Add( - command, + Agregar(comando, "@Texto", texto, DbType.String); + Agregar( + comando, "@IncluirInactivos", incluirInactivos, DbType.Boolean); }); } - public DbResult GetUnidadMedida( + public DbResult ObtenerUnidadMedida( int cveUnidadMedida, int usuario, string dominio) { - return QueryOne( + return QueryOne( "dbo.PA_Gral_UnidadMedidaGet", usuario, dominio, - command => Add( - command, + comando => Agregar( + comando, "@CveUnidadMedida", cveUnidadMedida, DbType.Int32)); } - public DbResult SaveUnidadMedida( - UnidadMedidaModel unidadMedida, + public DbResult GuardarUnidadMedida( + ModeloUnidadMedida unidadMedida, int usuario, string dominio) { @@ -152,34 +152,34 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_UnidadMedidaSave", usuario, dominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveUnidadMedida", unidadMedida.CveUnidadMedida > 0 ? (object)unidadMedida.CveUnidadMedida : null, DbType.Int32); - Add( - command, + Agregar( + comando, "@UnidadMedida", unidadMedida.UnidadMedida, DbType.String); - Add( - command, + Agregar( + comando, "@Abreviatura", unidadMedida.Abreviatura, DbType.String); - Add( - command, + Agregar( + comando, "@EsActivo", unidadMedida.EsActivo, DbType.Boolean); }); } - public DbResult DeleteUnidadMedida( + public DbResult EliminarUnidadMedida( int cveUnidadMedida, int usuario, string dominio) @@ -188,20 +188,20 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_UnidadMedidaDelete", usuario, dominio, - command => Add( - command, + comando => Agregar( + comando, "@CveUnidadMedida", cveUnidadMedida, DbType.Int32)); } - private static void Add( - IDbCommand command, - string name, - object value, - DbType type) + private static void Agregar( + IDbCommand comando, + string nombre, + object valor, + DbType tipo) { - StoredProcedureCommand.AddInput(command, name, value, type); + StoredProcedureCommand.AddInput(comando, nombre, valor, tipo); } } } diff --git a/SIG.Web/App_Code/Repositories/General/ProductoServicioRepository.cs b/SIG.Web/App_Code/Repositories/General/RepositorioProductoServicio.cs similarity index 59% rename from SIG.Web/App_Code/Repositories/General/ProductoServicioRepository.cs rename to SIG.Web/App_Code/Repositories/General/RepositorioProductoServicio.cs index 82b84b6..448f7f4 100644 --- a/SIG.Web/App_Code/Repositories/General/ProductoServicioRepository.cs +++ b/SIG.Web/App_Code/Repositories/General/RepositorioProductoServicio.cs @@ -9,48 +9,48 @@ using SIG.Web.AppCode.Utilities; namespace SIG.Web.AppCode.Repositories.General { - public sealed class ProductoServicioRepository - : RepositoryBase, IProductoServicioRepository + public sealed class RepositorioProductoServicio + : RepositoryBase, IRepositorioProductoServicio { - public ProductoServicioRepository(IDbExecutor dbExecutor) - : base(dbExecutor) + public RepositorioProductoServicio(IDbExecutor ejecutorBaseDatos) + : base(ejecutorBaseDatos) { } - public DbResult> List( + public DbResult> Listar( string texto, bool incluirInactivos, int usuario, string dominio) { - return QueryList( + return QueryList( "dbo.PA_Gral_ProductoServicioList", usuario, dominio, - command => + comando => { - Add(command, "@Texto", texto, DbType.String); - Add( - command, + Agregar(comando, "@Texto", texto, DbType.String); + Agregar( + comando, "@IncluirInactivos", incluirInactivos, DbType.Boolean); }); } - public DbResult Get( + public DbResult Obtener( int cvePS, int usuario, string dominio) { - return QueryOne( + return QueryOne( "dbo.PA_Gral_ProductoServicioGet", usuario, dominio, - command => Add(command, "@CvePS", cvePS, DbType.Int32)); + comando => Agregar(comando, "@CvePS", cvePS, DbType.Int32)); } - public DbResult ListOptions( + public DbResult ListarOpciones( int? cveClasificacionActual, int? cveUnidadMedidaActual, int usuario, @@ -60,39 +60,39 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_ProductoServicioOpcionesList", usuario, dominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CveClasificacionActual", cveClasificacionActual, DbType.Int32); - Add( - command, + Agregar( + comando, "@CveUnidadMedidaActual", cveUnidadMedidaActual, DbType.Int32); }, - reader => + lector => { - var options = new ProductoServicioOpcionesModel + var opciones = new ModeloOpcionesProductoServicio { Clasificaciones = - reader.ToList() + lector.ToList() }; - if (reader.NextResult()) + if (lector.NextResult()) { - options.UnidadesMedida = - reader.ToList(); + opciones.UnidadesMedida = + lector.ToList(); } - return options; + return opciones; }); } - public DbResult Save( - ProductoServicioModel productoServicio, + public DbResult Guardar( + ModeloProductoServicio productoServicio, int usuario, string dominio) { @@ -100,50 +100,50 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_ProductoServicioSave", usuario, dominio, - command => + comando => { - Add( - command, + Agregar( + comando, "@CvePS", productoServicio.CvePS > 0 ? (object)productoServicio.CvePS : null, DbType.Int32); - Add( - command, + Agregar( + comando, "@Codigo", productoServicio.Codigo, DbType.String); - Add(command, "@PS", productoServicio.PS, DbType.String); - Add( - command, + Agregar(comando, "@PS", productoServicio.PS, DbType.String); + Agregar( + comando, "@CveTipoPS", productoServicio.CveTipoPS, DbType.Int32); - Add( - command, + Agregar( + comando, "@CveClasificacion", productoServicio.CveClasificacion, DbType.Int32); - Add( - command, + Agregar( + comando, "@CveUnidadMedida", productoServicio.CveUnidadMedida, DbType.Int32); - Add( - command, + Agregar( + comando, "@Precio", productoServicio.Precio, DbType.Decimal); - Add( - command, + Agregar( + comando, "@EsActivo", productoServicio.EsActivo, DbType.Boolean); }); } - public DbResult Delete( + public DbResult Eliminar( int cvePS, int usuario, string dominio) @@ -152,20 +152,20 @@ namespace SIG.Web.AppCode.Repositories.General "dbo.PA_Gral_ProductoServicioDelete", usuario, dominio, - command => Add( - command, + comando => Agregar( + comando, "@CvePS", cvePS, DbType.Int32)); } - private static void Add( - IDbCommand command, - string name, - object value, - DbType type) + private static void Agregar( + IDbCommand comando, + string nombre, + object valor, + DbType tipo) { - StoredProcedureCommand.AddInput(command, name, value, type); + StoredProcedureCommand.AddInput(comando, nombre, valor, tipo); } } } diff --git a/SIG.Web/App_Code/Repositories/Security/PerfilUsuarioRepository.cs b/SIG.Web/App_Code/Repositories/Security/RepositorioPerfilUsuario.cs similarity index 86% rename from SIG.Web/App_Code/Repositories/Security/PerfilUsuarioRepository.cs rename to SIG.Web/App_Code/Repositories/Security/RepositorioPerfilUsuario.cs index fc5a051..1804a7d 100644 --- a/SIG.Web/App_Code/Repositories/Security/PerfilUsuarioRepository.cs +++ b/SIG.Web/App_Code/Repositories/Security/RepositorioPerfilUsuario.cs @@ -9,15 +9,15 @@ using SIG.Web.AppCode.Utilities; namespace SIG.Web.AppCode.Repositories.Security { - public sealed class PerfilUsuarioRepository - : RepositoryBase, IPerfilUsuarioRepository + public sealed class RepositorioPerfilUsuario + : RepositoryBase, IRepositorioPerfilUsuario { - public PerfilUsuarioRepository(IDbExecutor ejecutorBaseDatos) + public RepositorioPerfilUsuario(IDbExecutor ejecutorBaseDatos) : base(ejecutorBaseDatos) { } - public DbResult ObtenerPerfil( + public DbResult ObtenerPerfil( int cveUsuario, int cveUsuarioEjecuta, string nombreDominio) @@ -33,41 +33,41 @@ namespace SIG.Web.AppCode.Repositories.Security DbType.Int32), lector => { - var perfil = new PerfilUsuarioConsultaModel + var perfil = new ModeloConsultaPerfilUsuario { - Sesion = lector.ToObject() + Sesion = lector.ToObject() }; if (lector.NextResult()) { perfil.Cliente = - lector.ToObject(); + lector.ToObject(); } if (lector.NextResult()) { perfil.RegimenesFiscales = lector.ToList< - RegimenFiscalPerfilOpcionModel>(); + ModeloOpcionRegimenFiscalPerfil>(); } if (lector.NextResult()) { perfil.UsosCfdi = - lector.ToList(); + lector.ToList(); } return perfil; }); } - public DbResult ActualizarSesion( + public DbResult ActualizarSesion( int cveUsuario, string nombreUsuario, string hashContrasena, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Sis_PerfilSesionUpdate", cveUsuarioEjecuta, nombreDominio, @@ -92,7 +92,7 @@ namespace SIG.Web.AppCode.Repositories.Security } public DbResult ActualizarCliente( - PerfilClienteModel cliente, + ModeloPerfilCliente cliente, int cveUsuarioEjecuta, string nombreDominio) { @@ -106,13 +106,13 @@ namespace SIG.Web.AppCode.Repositories.Security }); } - public DbResult> + public DbResult> ListarUsuariosCambio( string texto, int cveUsuarioEjecuta, string nombreDominio) { - return QueryList( + return QueryList( "dbo.PA_Sis_UsuarioContextoList", cveUsuarioEjecuta, nombreDominio, @@ -123,12 +123,12 @@ namespace SIG.Web.AppCode.Repositories.Security DbType.String)); } - public DbResult ObtenerUsuarioContexto( + public DbResult ObtenerUsuarioContexto( int cveUsuario, int cveUsuarioEjecuta, string nombreDominio) { - return QueryOne( + return QueryOne( "dbo.PA_Sis_UsuarioContextoGet", cveUsuarioEjecuta, nombreDominio, @@ -141,7 +141,7 @@ namespace SIG.Web.AppCode.Repositories.Security private static void AgregarDatosCliente( IDbCommand comando, - PerfilClienteModel cliente) + ModeloPerfilCliente cliente) { StoredProcedureCommand.AddInput( comando, diff --git a/SIG.Web/App_Code/Repositories/Tramites/TramiteCatalogRepository.cs b/SIG.Web/App_Code/Repositories/Tramites/TramiteCatalogRepository.cs index bbf3b0d..b87383f 100644 --- a/SIG.Web/App_Code/Repositories/Tramites/TramiteCatalogRepository.cs +++ b/SIG.Web/App_Code/Repositories/Tramites/TramiteCatalogRepository.cs @@ -314,22 +314,22 @@ namespace SIG.Web.AppCode.Repositories.Tramites return Delete("dbo.PA_Tra_PagoDetalleDelete", "@CveTramitePagoDetalle", id, usuario, dominio); } - public DbResult> ListProductosServicios( + public DbResult> ListProductosServicios( string texto, bool incluirInactivos, int usuario, string dominio) { - return QueryList("dbo.PA_Tra_ProductoServicioList", usuario, dominio, command => + return QueryList("dbo.PA_Tra_ProductoServicioList", usuario, dominio, command => { Add(command, "@Texto", texto, DbType.String); Add(command, "@IncluirInactivos", incluirInactivos, DbType.Boolean); }); } - public DbResult GetProductoServicio(int id, int usuario, string dominio) + public DbResult GetProductoServicio(int id, int usuario, string dominio) { - return QueryOne("dbo.PA_Tra_ProductoServicioGet", usuario, dominio, command => + return QueryOne("dbo.PA_Tra_ProductoServicioGet", usuario, dominio, command => Add(command, "@CvePS", id, DbType.Int32)); } diff --git a/SIG.Web/App_Code/Repositories/Ventas/VentaTramiteRepository.cs b/SIG.Web/App_Code/Repositories/Ventas/RepositorioVentaTramite.cs similarity index 100% rename from SIG.Web/App_Code/Repositories/Ventas/VentaTramiteRepository.cs rename to SIG.Web/App_Code/Repositories/Ventas/RepositorioVentaTramite.cs diff --git a/SIG.Web/App_Code/Services/Facturacion/AlmacenArchivosCfdi.cs b/SIG.Web/App_Code/Services/Facturacion/AlmacenArchivosCfdi.cs index a4aad73..6568727 100644 --- a/SIG.Web/App_Code/Services/Facturacion/AlmacenArchivosCfdi.cs +++ b/SIG.Web/App_Code/Services/Facturacion/AlmacenArchivosCfdi.cs @@ -10,8 +10,8 @@ namespace SIG.Web.AppCode.Services.Facturacion public sealed class AlmacenArchivosCfdi : IAlmacenArchivosCfdi { public DbResult GuardarXmlTimbrado( - CfdiDocumentoModel documento, - CfdiTimbradoIntentoModel intento) + ModeloDocumentoCfdi documento, + ModeloIntentoTimbradoCfdi intento) { if (documento == null || intento == null) { @@ -101,24 +101,24 @@ namespace SIG.Web.AppCode.Services.Facturacion return DbResult.Ok( rutaRelativaDirectorio + nombreArchivo); } - catch (Exception exception) + catch (Exception excepcion) { return Error( "No fue posible crear el archivo XML timbrado.", - exception); + excepcion); } } private static DbResult Error( string mensaje, - Exception exception) + Exception excepcion) { return DbResult.Fail( mensaje, - exception == null + excepcion == null ? mensaje - : exception.ToString(), - exception); + : excepcion.ToString(), + excepcion); } } } diff --git a/SIG.Web/App_Code/Services/Facturacion/ProfactPacTimbradoClient.cs b/SIG.Web/App_Code/Services/Facturacion/ClienteTimbradoPacProfact.cs similarity index 72% rename from SIG.Web/App_Code/Services/Facturacion/ProfactPacTimbradoClient.cs rename to SIG.Web/App_Code/Services/Facturacion/ClienteTimbradoPacProfact.cs index 483bcd2..df3429a 100644 --- a/SIG.Web/App_Code/Services/Facturacion/ProfactPacTimbradoClient.cs +++ b/SIG.Web/App_Code/Services/Facturacion/ClienteTimbradoPacProfact.cs @@ -12,8 +12,8 @@ using SIG.Web.AppCode.Models.Facturacion; namespace SIG.Web.AppCode.Services.Facturacion { - public sealed class ConfigurationPacCredentialProvider - : IPacCredentialProvider + public sealed class ProveedorCredencialPacConfiguracion + : IProveedorCredencialPac { public string ObtenerCredencial(string referencia) { @@ -22,13 +22,13 @@ namespace SIG.Web.AppCode.Services.Facturacion return null; } - string environmentValue = + string valorAmbiente = Environment.GetEnvironmentVariable( referencia.Trim()); - if (!string.IsNullOrWhiteSpace(environmentValue)) + if (!string.IsNullOrWhiteSpace(valorAmbiente)) { - return environmentValue; + return valorAmbiente; } return ConfigurationManager.AppSettings[ @@ -36,15 +36,15 @@ namespace SIG.Web.AppCode.Services.Facturacion } } - public sealed class ProfactPacTimbradoClient - : IPacTimbradoClient, IPacCancelacionClient + public sealed class ClienteTimbradoPacProfact + : IClienteTimbradoPac, IClienteCancelacionPac { - private readonly IPacCredentialProvider _credentialProvider; + private readonly IProveedorCredencialPac _proveedorCredencial; - public ProfactPacTimbradoClient( - IPacCredentialProvider credentialProvider) + public ClienteTimbradoPacProfact( + IProveedorCredencialPac proveedorCredencial) { - _credentialProvider = credentialProvider; + _proveedorCredencial = proveedorCredencial; } public string Proveedor @@ -52,8 +52,8 @@ namespace SIG.Web.AppCode.Services.Facturacion get { return "PROFACT"; } } - public CfdiPacResultadoModel Timbrar( - CfdiPacSolicitudModel solicitud) + public ModeloResultadoPacCfdi Timbrar( + ModeloSolicitudPacCfdi solicitud) { if (solicitud == null || solicitud.XmlSinTimbrar == null @@ -64,11 +64,11 @@ namespace SIG.Web.AppCode.Services.Facturacion "El documento no contiene un XML para timbrar."); } - string credential = - _credentialProvider.ObtenerCredencial( + string credencial = + _proveedorCredencial.ObtenerCredencial( solicitud.ReferenciaCredencialPac); - if (string.IsNullOrWhiteSpace(credential)) + if (string.IsNullOrWhiteSpace(credencial)) { return Fallo( "PAC_NO_CONFIGURADO", @@ -82,16 +82,16 @@ namespace SIG.Web.AppCode.Services.Facturacion var conector = new ProfactConnector40( solicitud.AmbienteProduccion); - conector.EstableceCredenciales(credential); + conector.EstableceCredenciales(credencial); ResultadoTimbre resultado = conector.TimbraCFDI(xml, false); return ConvertirResultado(resultado); } - catch (FaultException exception) + catch (FaultException excepcion) { - return new CfdiPacResultadoModel + return new ModeloResultadoPacCfdi { Exitoso = false, ResultadoIndeterminado = false, @@ -99,20 +99,20 @@ namespace SIG.Web.AppCode.Services.Facturacion MensajeRespuesta = "El PAC rechazó la solicitud de timbrado.", TipoExcepcion = - exception.GetType().FullName + excepcion.GetType().FullName }; } - catch (TimeoutException exception) + catch (TimeoutException excepcion) { - return Indeterminado(exception); + return Indeterminado(excepcion); } - catch (CommunicationException exception) + catch (CommunicationException excepcion) { - return Indeterminado(exception); + return Indeterminado(excepcion); } - catch (Exception exception) + catch (Exception excepcion) { - return new CfdiPacResultadoModel + return new ModeloResultadoPacCfdi { Exitoso = false, ResultadoIndeterminado = false, @@ -120,13 +120,13 @@ namespace SIG.Web.AppCode.Services.Facturacion MensajeRespuesta = "El PAC rechazó la solicitud o no pudo procesarla.", TipoExcepcion = - exception.GetType().FullName + excepcion.GetType().FullName }; } } - public CfdiPacCancelacionResultadoModel Cancelar( - CfdiPacCancelacionSolicitudModel solicitud) + public ModeloResultadoCancelacionPacCfdi Cancelar( + ModeloSolicitudCancelacionPacCfdi solicitud) { if (solicitud == null || string.IsNullOrWhiteSpace(solicitud.RfcEmisor) || @@ -139,7 +139,7 @@ namespace SIG.Web.AppCode.Services.Facturacion } string credencial = - _credentialProvider.ObtenerCredencial( + _proveedorCredencial.ObtenerCredencial( solicitud.ReferenciaCredencialPac); if (string.IsNullOrWhiteSpace(credencial)) @@ -166,7 +166,7 @@ namespace SIG.Web.AppCode.Services.Facturacion ? FalloCancelacion( "PAC_SIN_RESPUESTA", "El PAC no devolvió una respuesta de cancelación.") - : new CfdiPacCancelacionResultadoModel + : new ModeloResultadoCancelacionPacCfdi { Exitoso = resultado.Exitoso, CodigoRespuesta = Texto(resultado.NumeroError), @@ -178,33 +178,33 @@ namespace SIG.Web.AppCode.Services.Facturacion TipoExcepcion = Texto(resultado.TipoExcepcion) }; } - catch (TimeoutException exception) + catch (TimeoutException excepcion) { - return CancelacionIndeterminada(exception); + return CancelacionIndeterminada(excepcion); } - catch (CommunicationException exception) + catch (CommunicationException excepcion) { - return CancelacionIndeterminada(exception); + return CancelacionIndeterminada(excepcion); } - catch (Exception exception) + catch (Exception excepcion) { - return new CfdiPacCancelacionResultadoModel + return new ModeloResultadoCancelacionPacCfdi { Exitoso = false, ResultadoIndeterminado = false, CodigoRespuesta = "PAC_EXCEPCION", MensajeRespuesta = "El PAC rechazó la cancelación o no pudo procesarla.", - TipoExcepcion = exception.GetType().FullName + TipoExcepcion = excepcion.GetType().FullName }; } } - private static CfdiPacCancelacionResultadoModel FalloCancelacion( + private static ModeloResultadoCancelacionPacCfdi FalloCancelacion( string codigo, string mensaje) { - return new CfdiPacCancelacionResultadoModel + return new ModeloResultadoCancelacionPacCfdi { Exitoso = false, ResultadoIndeterminado = false, @@ -213,21 +213,21 @@ namespace SIG.Web.AppCode.Services.Facturacion }; } - private static CfdiPacCancelacionResultadoModel CancelacionIndeterminada( - Exception exception) + private static ModeloResultadoCancelacionPacCfdi CancelacionIndeterminada( + Exception excepcion) { - return new CfdiPacCancelacionResultadoModel + return new ModeloResultadoCancelacionPacCfdi { Exitoso = false, ResultadoIndeterminado = true, CodigoRespuesta = "PAC_RESULTADO_INDETERMINADO", MensajeRespuesta = "El PAC no confirmó la cancelación. Debe consultarse antes de reenviar.", - TipoExcepcion = exception.GetType().FullName + TipoExcepcion = excepcion.GetType().FullName }; } - private static CfdiPacResultadoModel ConvertirResultado( + private static ModeloResultadoPacCfdi ConvertirResultado( ResultadoTimbre resultado) { if (resultado == null) @@ -242,7 +242,7 @@ namespace SIG.Web.AppCode.Services.Facturacion ? null : ConvertirXmlAUtf8(resultado.Xml); - var converted = new CfdiPacResultadoModel + var convertido = new ModeloResultadoPacCfdi { Exitoso = resultado.Exitoso, ResultadoIndeterminado = false, @@ -274,12 +274,12 @@ namespace SIG.Web.AppCode.Services.Facturacion resultado.CodigoBidimensional }; - CompletarDesdeTimbreFiscal(converted); - return converted; + CompletarDesdeTimbreFiscal(convertido); + return convertido; } private static void CompletarDesdeTimbreFiscal( - CfdiPacResultadoModel resultado) + ModeloResultadoPacCfdi resultado) { if (resultado.XmlTimbrado == null || resultado.XmlTimbrado.Length == 0) @@ -289,15 +289,15 @@ namespace SIG.Web.AppCode.Services.Facturacion try { - var document = new XmlDocument + var documentoXml = new XmlDocument { PreserveWhitespace = true }; - document.LoadXml( + documentoXml.LoadXml( Encoding.UTF8.GetString( resultado.XmlTimbrado)); - XmlNode timbre = document.SelectSingleNode( + XmlNode timbre = documentoXml.SelectSingleNode( "//*[local-name()='TimbreFiscalDigital']"); if (timbre == null) @@ -341,38 +341,38 @@ namespace SIG.Web.AppCode.Services.Facturacion } private static string ValorAtributo( - XmlNode node, - string name, - string fallback) + XmlNode nodo, + string nombre, + string valorAlternativo) { - XmlAttribute attribute = - node.Attributes == null + XmlAttribute atributo = + nodo.Attributes == null ? null - : node.Attributes[name]; + : nodo.Attributes[nombre]; - return attribute == null - || string.IsNullOrWhiteSpace(attribute.Value) - ? fallback - : attribute.Value.Trim(); + return atributo == null + || string.IsNullOrWhiteSpace(atributo.Value) + ? valorAlternativo + : atributo.Value.Trim(); } - private static CfdiPacResultadoModel Fallo( - string code, - string message) + private static ModeloResultadoPacCfdi Fallo( + string codigo, + string mensaje) { - return new CfdiPacResultadoModel + return new ModeloResultadoPacCfdi { Exitoso = false, ResultadoIndeterminado = false, - CodigoRespuesta = code, - MensajeRespuesta = message + CodigoRespuesta = codigo, + MensajeRespuesta = mensaje }; } - private static CfdiPacResultadoModel Indeterminado( - Exception exception) + private static ModeloResultadoPacCfdi Indeterminado( + Exception excepcion) { - return new CfdiPacResultadoModel + return new ModeloResultadoPacCfdi { Exitoso = false, ResultadoIndeterminado = true, @@ -380,34 +380,34 @@ namespace SIG.Web.AppCode.Services.Facturacion MensajeRespuesta = "El PAC no confirmó si el CFDI fue timbrado. Debe consultarse antes de reenviar.", TipoExcepcion = - exception.GetType().FullName + excepcion.GetType().FullName }; } - private static DateTime? ConvertirFecha(string value) + private static DateTime? ConvertirFecha(string valor) { - DateTime date; - return DateTime.TryParse(value, out date) - ? (DateTime?)date + DateTime fecha; + return DateTime.TryParse(valor, out fecha) + ? (DateTime?)fecha : null; } - private static string Texto(string value) + private static string Texto(string valor) { - return string.IsNullOrWhiteSpace(value) + return string.IsNullOrWhiteSpace(valor) ? null - : value.Trim(); + : valor.Trim(); } private static byte[] ConvertirXmlAUtf8(string xml) { - string normalized = Regex.Replace( + string normalizado = Regex.Replace( xml, "encoding\\s*=\\s*([\"'])utf-16\\1", "encoding=\"utf-8\"", RegexOptions.IgnoreCase); - return new UTF8Encoding(false).GetBytes(normalized); + return new UTF8Encoding(false).GetBytes(normalizado); } public static byte[] CalcularSha256(byte[] contenido) diff --git a/SIG.Web/App_Code/Services/Facturacion/ProfactCfdi40XmlBuilder.cs b/SIG.Web/App_Code/Services/Facturacion/ConstructorXmlCfdi40Profact.cs similarity index 87% rename from SIG.Web/App_Code/Services/Facturacion/ProfactCfdi40XmlBuilder.cs rename to SIG.Web/App_Code/Services/Facturacion/ConstructorXmlCfdi40Profact.cs index 7c826e7..6d54ad3 100644 --- a/SIG.Web/App_Code/Services/Facturacion/ProfactCfdi40XmlBuilder.cs +++ b/SIG.Web/App_Code/Services/Facturacion/ConstructorXmlCfdi40Profact.cs @@ -11,24 +11,24 @@ using SIG.Web.AppCode.Models.Facturacion; namespace SIG.Web.AppCode.Services.Facturacion { - public sealed class ProfactCfdi40XmlBuilder : ICfdiXmlBuilder + public sealed class ConstructorXmlCfdi40Profact : IConstructorXmlCfdi { private const int DecimalesMoneda = 2; private const int DecimalesConcepto = 6; - public DbResult Construir( - CfdiSolicitudModel solicitud, - CfdiEmisorFiscalModel emisor, - CfdiReceptorFiscalModel receptor) + public DbResult Construir( + ModeloSolicitudCfdi solicitud, + ModeloEmisorFiscalCfdi emisor, + ModeloReceptorFiscalCfdi receptor) { - string validationMessage = + string mensajeValidacion = Validar(solicitud, emisor, receptor); - if (validationMessage != null) + if (mensajeValidacion != null) { - return DbResult.Fail( - validationMessage, - validationMessage, + return DbResult.Fail( + mensajeValidacion, + mensajeValidacion, null); } @@ -47,14 +47,14 @@ namespace SIG.Web.AppCode.Services.Facturacion if (string.IsNullOrWhiteSpace(xml)) { - return DbResult.Fail( + return DbResult.Fail( "No fue posible generar el XML del CFDI.", "Profact no devolvió contenido al generar el XML CFDI 4.0.", null); } byte[] xmlUtf8 = ConvertirXmlAUtf8(xml); - CfdiDocumentoModel documento = + ModeloDocumentoCfdi documento = CrearDocumento( solicitud, emisor, @@ -62,26 +62,26 @@ namespace SIG.Web.AppCode.Services.Facturacion comprobante, xmlUtf8); - return DbResult.Ok( - new CfdiXmlBuildResultModel + return DbResult.Ok( + new ModeloResultadoConstruccionXmlCfdi { Documento = documento, Xml = Encoding.UTF8.GetString(xmlUtf8) }); } - catch (Exception exception) + catch (Exception excepcion) { - return DbResult.Fail( + return DbResult.Fail( "No fue posible generar el XML del CFDI.", - exception.Message, - exception); + excepcion.Message, + excepcion); } } private static Comprobante CrearComprobante( - CfdiSolicitudModel solicitud, - CfdiEmisorFiscalModel emisor, - CfdiReceptorFiscalModel receptor) + ModeloSolicitudCfdi solicitud, + ModeloEmisorFiscalCfdi emisor, + ModeloReceptorFiscalCfdi receptor) { var comprobante = new Comprobante { @@ -181,7 +181,7 @@ namespace SIG.Web.AppCode.Services.Facturacion } private static ComprobanteConcepto CrearConcepto( - CfdiConceptoModel concepto) + ModeloConceptoCfdi concepto) { decimal importe = Math.Round( concepto.Cantidad * concepto.ValorUnitario, @@ -209,11 +209,11 @@ namespace SIG.Web.AppCode.Services.Facturacion resultado.DescuentoSpecified = true; } - IList traslados = + IList traslados = concepto.Impuestos .Where(impuesto => !impuesto.EsRetencion) .ToList(); - IList retenciones = + IList retenciones = concepto.Impuestos .Where(impuesto => impuesto.EsRetencion) .ToList(); @@ -241,7 +241,7 @@ namespace SIG.Web.AppCode.Services.Facturacion private static ComprobanteConceptoImpuestosTraslado CrearTrasladoConcepto( - CfdiImpuestoConceptoModel impuesto) + ModeloImpuestoConceptoCfdi impuesto) { var resultado = new ComprobanteConceptoImpuestosTraslado @@ -269,7 +269,7 @@ namespace SIG.Web.AppCode.Services.Facturacion private static ComprobanteConceptoImpuestosRetencion CrearRetencionConcepto( - CfdiImpuestoConceptoModel impuesto) + ModeloImpuestoConceptoCfdi impuesto) { return new ComprobanteConceptoImpuestosRetencion { @@ -282,19 +282,19 @@ namespace SIG.Web.AppCode.Services.Facturacion } private static void CrearImpuestosGlobales( - CfdiSolicitudModel solicitud, + ModeloSolicitudCfdi solicitud, Comprobante comprobante, out decimal totalTrasladados, out decimal totalRetenidos) { - IList impuestos = + IList impuestos = solicitud.Conceptos .SelectMany(concepto => concepto.Impuestos) .ToList(); - IList traslados = + IList traslados = impuestos.Where(impuesto => !impuesto.EsRetencion) .ToList(); - IList retenciones = + IList retenciones = impuestos.Where(impuesto => impuesto.EsRetencion) .ToList(); @@ -325,7 +325,7 @@ namespace SIG.Web.AppCode.Services.Facturacion var traslado = new ComprobanteImpuestosTraslado { - Base = grupo.Sum(item => item.Base), + Base = grupo.Sum(elemento => elemento.Base), Impuesto = grupo.Key.Impuesto, TipoFactor = grupo.Key.TipoFactor }; @@ -340,7 +340,7 @@ namespace SIG.Web.AppCode.Services.Facturacion if (!EsExento(grupo.Key.TipoFactor)) { traslado.Importe = - grupo.Sum(item => item.Importe); + grupo.Sum(elemento => elemento.Importe); traslado.ImporteSpecified = true; } @@ -364,7 +364,7 @@ namespace SIG.Web.AppCode.Services.Facturacion Impuesto = grupo.Key, Importe = RedondearMoneda( - grupo.Sum(item => item.Importe)) + grupo.Sum(elemento => elemento.Importe)) }) .ToArray(); @@ -377,7 +377,7 @@ namespace SIG.Web.AppCode.Services.Facturacion private static ComprobanteCfdiRelacionados[] CrearCfdiRelacionados( - IEnumerable relacionados) + IEnumerable relacionados) { return relacionados .Where(relacion => @@ -400,14 +400,14 @@ namespace SIG.Web.AppCode.Services.Facturacion .ToArray(); } - private static CfdiDocumentoModel CrearDocumento( - CfdiSolicitudModel solicitud, - CfdiEmisorFiscalModel emisor, - CfdiReceptorFiscalModel receptor, + private static ModeloDocumentoCfdi CrearDocumento( + ModeloSolicitudCfdi solicitud, + ModeloEmisorFiscalCfdi emisor, + ModeloReceptorFiscalCfdi receptor, Comprobante comprobante, byte[] xmlUtf8) { - return new CfdiDocumentoModel + return new ModeloDocumentoCfdi { CveCfdiDocumento = solicitud.CveCfdiDocumento, CveEmpresa = solicitud.CveEmpresa, @@ -473,9 +473,9 @@ namespace SIG.Web.AppCode.Services.Facturacion } private static string Validar( - CfdiSolicitudModel solicitud, - CfdiEmisorFiscalModel emisor, - CfdiReceptorFiscalModel receptor) + ModeloSolicitudCfdi solicitud, + ModeloEmisorFiscalCfdi emisor, + ModeloReceptorFiscalCfdi receptor) { if (solicitud == null) { @@ -542,7 +542,7 @@ namespace SIG.Web.AppCode.Services.Facturacion return "Agregue al menos un concepto al CFDI."; } - foreach (CfdiConceptoModel concepto in solicitud.Conceptos) + foreach (ModeloConceptoCfdi concepto in solicitud.Conceptos) { if (concepto == null || !ClaveLongitud( @@ -575,11 +575,11 @@ namespace SIG.Web.AppCode.Services.Facturacion } private static bool ClaveLongitud( - string value, - int length) + string valor, + int longitud) { - return !string.IsNullOrWhiteSpace(value) - && value.Trim().Length == length; + return !string.IsNullOrWhiteSpace(valor) + && valor.Trim().Length == longitud; } private static bool EsExento(string tipoFactor) @@ -597,30 +597,30 @@ namespace SIG.Web.AppCode.Services.Facturacion System.Globalization.CultureInfo.InvariantCulture); } - private static decimal RedondearMoneda(decimal value) + private static decimal RedondearMoneda(decimal valor) { return Math.Round( - value, + valor, DecimalesMoneda, MidpointRounding.AwayFromZero); } - private static string TextoOpcional(string value) + private static string TextoOpcional(string valor) { - return string.IsNullOrWhiteSpace(value) + return string.IsNullOrWhiteSpace(valor) ? null - : value.Trim(); + : valor.Trim(); } private static byte[] ConvertirXmlAUtf8(string xml) { - string normalized = Regex.Replace( + string normalizado = Regex.Replace( xml, "encoding\\s*=\\s*([\"'])utf-16\\1", "encoding=\"utf-8\"", RegexOptions.IgnoreCase); - return new UTF8Encoding(false).GetBytes(normalized); + return new UTF8Encoding(false).GetBytes(normalizado); } private static byte[] CalcularSha256(byte[] contenido) diff --git a/SIG.Web/App_Code/Services/Facturacion/CfdiTimbradoService.cs b/SIG.Web/App_Code/Services/Facturacion/ServicioTimbradoCfdi.cs similarity index 57% rename from SIG.Web/App_Code/Services/Facturacion/CfdiTimbradoService.cs rename to SIG.Web/App_Code/Services/Facturacion/ServicioTimbradoCfdi.cs index 3094cf2..3440324 100644 --- a/SIG.Web/App_Code/Services/Facturacion/CfdiTimbradoService.cs +++ b/SIG.Web/App_Code/Services/Facturacion/ServicioTimbradoCfdi.cs @@ -8,33 +8,33 @@ using SIG.Web.AppCode.Models.Facturacion; namespace SIG.Web.AppCode.Services.Facturacion { - public sealed class CfdiTimbradoService - : ICfdiTimbradoService + public sealed class ServicioTimbradoCfdi + : IServicioTimbradoCfdi { - private readonly ICfdiRepository _repository; - private readonly ICfdiXmlBuilder _xmlBuilder; - private readonly IDictionary - _pacClients; - private readonly IDictionary + private readonly IRepositorioCfdi _repositorio; + private readonly IConstructorXmlCfdi _constructorXml; + private readonly IDictionary + _clientesTimbradoPac; + private readonly IDictionary _clientesCancelacionPac; private readonly IAlmacenArchivosCfdi _almacenArchivosCfdi; - public CfdiTimbradoService( - ICfdiRepository repository, - ICfdiXmlBuilder xmlBuilder, - IEnumerable pacClients, - IEnumerable clientesCancelacionPac, + public ServicioTimbradoCfdi( + IRepositorioCfdi repositorio, + IConstructorXmlCfdi constructorXml, + IEnumerable clientesTimbradoPac, + IEnumerable clientesCancelacionPac, IAlmacenArchivosCfdi almacenArchivosCfdi) { - _repository = repository; - _xmlBuilder = xmlBuilder; - _pacClients = (pacClients - ?? Enumerable.Empty()) + _repositorio = repositorio; + _constructorXml = constructorXml; + _clientesTimbradoPac = (clientesTimbradoPac + ?? Enumerable.Empty()) .ToDictionary( - client => client.Proveedor, + cliente => cliente.Proveedor, StringComparer.OrdinalIgnoreCase); _clientesCancelacionPac = (clientesCancelacionPac - ?? Enumerable.Empty()) + ?? Enumerable.Empty()) .ToDictionary( cliente => cliente.Proveedor, StringComparer.OrdinalIgnoreCase); @@ -44,73 +44,73 @@ namespace SIG.Web.AppCode.Services.Facturacion } public DbResult GuardarBorrador( - CfdiSolicitudModel solicitud, + ModeloSolicitudCfdi solicitud, int cveUsuarioEjecuta, string nombreDominio) { if (solicitud == null) { - return Fail( + return Fallar( "No se recibieron los datos del CFDI."); } - DbResult emisorResult = - _repository.ObtenerEmisor( + DbResult resultadoEmisor = + _repositorio.ObtenerEmisor( solicitud.CveEmpresa, cveUsuarioEjecuta, nombreDominio); - if (!emisorResult.Success) + if (!resultadoEmisor.Success) { - return CopyFailure< - CfdiEmisorFiscalModel, - long>(emisorResult); + return CopiarFallo< + ModeloEmisorFiscalCfdi, + long>(resultadoEmisor); } - DbResult receptorResult = - _repository.ObtenerReceptor( + DbResult resultadoReceptor = + _repositorio.ObtenerReceptor( solicitud.CveCliente, cveUsuarioEjecuta, nombreDominio); - if (!receptorResult.Success) + if (!resultadoReceptor.Success) { - return CopyFailure< - CfdiReceptorFiscalModel, - long>(receptorResult); + return CopiarFallo< + ModeloReceptorFiscalCfdi, + long>(resultadoReceptor); } - DbResult buildResult = - _xmlBuilder.Construir( + DbResult resultadoConstruccion = + _constructorXml.Construir( solicitud, - emisorResult.Data, - receptorResult.Data); + resultadoEmisor.Data, + resultadoReceptor.Data); - if (!buildResult.Success) + if (!resultadoConstruccion.Success) { - return CopyFailure< - CfdiXmlBuildResultModel, - long>(buildResult); + return CopiarFallo< + ModeloResultadoConstruccionXmlCfdi, + long>(resultadoConstruccion); } - using (var transaction = new TransactionLogic()) + using (var transaccion = new TransactionLogic()) { - DbResult saveResult = - _repository.GuardarBorrador( - buildResult.Data.Documento, + DbResult resultadoGuardado = + _repositorio.GuardarBorrador( + resultadoConstruccion.Data.Documento, cveUsuarioEjecuta, nombreDominio); - if (saveResult.Success) + if (resultadoGuardado.Success) { - transaction.Commit(); + transaccion.Commit(); } - return saveResult; + return resultadoGuardado; } } - public DbResult Timbrar( + public DbResult Timbrar( long cveCfdiDocumento, Guid? idSolicitud, int cveUsuarioEjecuta, @@ -118,29 +118,29 @@ namespace SIG.Web.AppCode.Services.Facturacion { if (cveCfdiDocumento <= 0) { - return Fail( + return Fallar( "Seleccione un CFDI válido."); } - DbResult documentResult = - _repository.ObtenerDocumento( + DbResult resultadoDocumento = + _repositorio.ObtenerDocumento( cveCfdiDocumento, cveUsuarioEjecuta, nombreDominio); - if (!documentResult.Success) + if (!resultadoDocumento.Success) { - return CopyFailure< - CfdiDocumentoModel, - CfdiTimbradoResultadoModel>( - documentResult); + return CopiarFallo< + ModeloDocumentoCfdi, + ModeloResultadoTimbradoCfdi>( + resultadoDocumento); } - CfdiDocumentoModel documento = documentResult.Data; + ModeloDocumentoCfdi documento = resultadoDocumento.Data; if (documento == null) { - return Fail( + return Fallar( "No se encontró el CFDI solicitado."); } @@ -149,14 +149,14 @@ namespace SIG.Web.AppCode.Services.Facturacion CfdiEstados.Revisar, StringComparison.OrdinalIgnoreCase)) { - return Fail( + return Fallar( "El resultado anterior es indeterminado. Consulte el PAC antes de reenviar el CFDI."); } if (documento.CveCfdiTimbradoVigente.HasValue) { - return DbResult.Ok( - new CfdiTimbradoResultadoModel + return DbResult.Ok( + new ModeloResultadoTimbradoCfdi { CveCfdiDocumento = documento.CveCfdiDocumento, @@ -173,117 +173,117 @@ namespace SIG.Web.AppCode.Services.Facturacion if (documento.XmlSinTimbrar == null || documento.XmlSinTimbrar.Length == 0) { - return Fail( + return Fallar( "El CFDI no contiene un XML listo para timbrar."); } - DbResult emitterResult = - _repository.ObtenerEmisor( + DbResult resultadoEmisor = + _repositorio.ObtenerEmisor( documento.CveEmpresa, cveUsuarioEjecuta, nombreDominio); - if (!emitterResult.Success) + if (!resultadoEmisor.Success) { - return CopyFailure< - CfdiEmisorFiscalModel, - CfdiTimbradoResultadoModel>( - emitterResult); + return CopiarFallo< + ModeloEmisorFiscalCfdi, + ModeloResultadoTimbradoCfdi>( + resultadoEmisor); } - CfdiEmisorFiscalModel emisor = emitterResult.Data; - Guid requestId = idSolicitud ?? Guid.NewGuid(); - string environment = emisor.AmbienteProduccion + ModeloEmisorFiscalCfdi emisor = resultadoEmisor.Data; + Guid identificadorSolicitud = idSolicitud ?? Guid.NewGuid(); + string ambiente = emisor.AmbienteProduccion ? "PRODUCCION" : "PRUEBAS"; - DbResult startResult; + DbResult resultadoInicio; - using (var transaction = new TransactionLogic()) + using (var transaccion = new TransactionLogic()) { - startResult = _repository.IniciarIntento( + resultadoInicio = _repositorio.IniciarIntento( cveCfdiDocumento, - requestId, + identificadorSolicitud, emisor.ProveedorPac, - environment, + ambiente, emisor.ReferenciaContratoPac, cveUsuarioEjecuta, nombreDominio); - if (startResult.Success) + if (resultadoInicio.Success) { - transaction.Commit(); + transaccion.Commit(); } } - if (!startResult.Success) + if (!resultadoInicio.Success) { - return CopyFailure< - CfdiTimbradoInicioModel, - CfdiTimbradoResultadoModel>( - startResult); + return CopiarFallo< + ModeloInicioTimbradoCfdi, + ModeloResultadoTimbradoCfdi>( + resultadoInicio); } - if (startResult.Data == null) + if (resultadoInicio.Data == null) { - return Fail( + return Fallar( "No fue posible registrar el intento de timbrado."); } - if (!startResult.Data.PuedeEnviar) + if (!resultadoInicio.Data.PuedeEnviar) { - return DbResult.Ok( - new CfdiTimbradoResultadoModel + return DbResult.Ok( + new ModeloResultadoTimbradoCfdi { CveCfdiDocumento = cveCfdiDocumento, CveCfdiTimbrado = - startResult.Data.CveCfdiTimbrado, + resultadoInicio.Data.CveCfdiTimbrado, NumeroIntento = - startResult.Data.NumeroIntento, + resultadoInicio.Data.NumeroIntento, TimbradoExitoso = string.Equals( - startResult.Data.Estado, + resultadoInicio.Data.Estado, CfdiIntentoEstados.Exitoso, StringComparison.OrdinalIgnoreCase), - Estado = startResult.Data.Estado, + Estado = resultadoInicio.Data.Estado, Mensaje = "La solicitud ya fue registrada y no se enviará nuevamente al PAC." }); } - CfdiPacResultadoModel pacResult = + ModeloResultadoPacCfdi resultadoPac = EnviarAlPac( documento, emisor, - startResult.Data); + resultadoInicio.Data); - DbResult completeResult; + DbResult resultadoFinalizacion; - using (var transaction = new TransactionLogic()) + using (var transaccion = new TransactionLogic()) { - completeResult = _repository.FinalizarIntento( - startResult.Data.CveCfdiTimbrado, - pacResult, + resultadoFinalizacion = _repositorio.FinalizarIntento( + resultadoInicio.Data.CveCfdiTimbrado, + resultadoPac, cveUsuarioEjecuta, nombreDominio); - if (completeResult.Success) + if (resultadoFinalizacion.Success) { - transaction.Commit(); + transaccion.Commit(); } } - if (!completeResult.Success) + if (!resultadoFinalizacion.Success) { - return DbResult.Fail( + return DbResult.Fail( "El PAC respondió, pero no fue posible guardar el resultado. No reenvíe el CFDI hasta revisar el intento registrado.", - completeResult.TechnicalMessage, - completeResult.Exception); + resultadoFinalizacion.TechnicalMessage, + resultadoFinalizacion.Exception); } - CfdiTimbradoIntentoModel intento = - completeResult.Data; - string message = intento.MensajeRespuesta; + ModeloIntentoTimbradoCfdi intento = + resultadoFinalizacion.Data; + string mensaje = intento.MensajeRespuesta; if (intento.Exitoso) { @@ -297,14 +297,14 @@ namespace SIG.Web.AppCode.Services.Facturacion const string advertenciaArchivo = "El timbre quedó guardado, pero el archivo XML requiere revisión."; - message = string.IsNullOrWhiteSpace(message) + mensaje = string.IsNullOrWhiteSpace(mensaje) ? advertenciaArchivo - : message + " " + advertenciaArchivo; + : mensaje + " " + advertenciaArchivo; } } - return DbResult.Ok( - new CfdiTimbradoResultadoModel + return DbResult.Ok( + new ModeloResultadoTimbradoCfdi { CveCfdiDocumento = intento.CveCfdiDocumento, @@ -323,60 +323,60 @@ namespace SIG.Web.AppCode.Services.Facturacion CodigoRespuesta = intento.CodigoRespuesta, Mensaje = - message + mensaje }); } - public DbResult ObtenerDocumento( + public DbResult ObtenerDocumento( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio) { - return _repository.ObtenerDocumento( + return _repositorio.ObtenerDocumento( cveCfdiDocumento, cveUsuarioEjecuta, nombreDominio); } - public DbResult> + public DbResult> ListarIntentos( long cveCfdiDocumento, int cveUsuarioEjecuta, string nombreDominio) { - return _repository.ListarIntentos( + return _repositorio.ListarIntentos( cveCfdiDocumento, cveUsuarioEjecuta, nombreDominio); } - public DbResult ObtenerXml( + public DbResult ObtenerXml( long cveCfdiDocumento, bool timbrado, int cveUsuarioEjecuta, string nombreDominio) { - return _repository.ObtenerXml( + return _repositorio.ObtenerXml( cveCfdiDocumento, timbrado, cveUsuarioEjecuta, nombreDominio); } - public DbResult Cancelar( - CfdiCancelacionSolicitudModel solicitud, + public DbResult Cancelar( + ModeloSolicitudCancelacionCfdi solicitud, Guid? idSolicitud, int cveUsuarioEjecuta, string nombreDominio) { if (solicitud == null || solicitud.CveCfdiDocumento <= 0) { - return Fail( + return Fallar( "Seleccione un timbre válido para cancelar."); } - DbResult documentoResultado = - _repository.ObtenerDocumento( + DbResult documentoResultado = + _repositorio.ObtenerDocumento( solicitud.CveCfdiDocumento, cveUsuarioEjecuta, nombreDominio); @@ -384,23 +384,23 @@ namespace SIG.Web.AppCode.Services.Facturacion if (!documentoResultado.Success || documentoResultado.Data == null) { return documentoResultado.Success - ? Fail( + ? Fallar( "No se encontró el CFDI solicitado.") - : CopyFailure( + : CopiarFallo( documentoResultado); } - CfdiDocumentoModel documento = documentoResultado.Data; + ModeloDocumentoCfdi documento = documentoResultado.Data; if (!documento.CveCfdiTimbradoVigente.HasValue || string.IsNullOrWhiteSpace(documento.UuidVigente)) { - return Fail( + return Fallar( "La venta no tiene un timbre vigente para cancelar."); } - DbResult emisorResultado = - _repository.ObtenerEmisor( + DbResult emisorResultado = + _repositorio.ObtenerEmisor( documento.CveEmpresa, cveUsuarioEjecuta, nombreDominio); @@ -408,29 +408,29 @@ namespace SIG.Web.AppCode.Services.Facturacion if (!emisorResultado.Success || emisorResultado.Data == null) { return emisorResultado.Success - ? Fail( + ? Fallar( "La empresa no tiene un emisor fiscal activo.") - : CopyFailure( + : CopiarFallo( emisorResultado); } - CfdiEmisorFiscalModel emisor = emisorResultado.Data; - IPacCancelacionClient clienteCancelacion; + ModeloEmisorFiscalCfdi emisor = emisorResultado.Data; + IClienteCancelacionPac clienteCancelacion; if (string.IsNullOrWhiteSpace(emisor.ProveedorPac) || !_clientesCancelacionPac.TryGetValue( emisor.ProveedorPac.Trim(), out clienteCancelacion)) { - return Fail( + return Fallar( "El proveedor PAC configurado no permite cancelar el timbre desde la aplicación."); } - DbResult inicioResultado; + DbResult inicioResultado; using (var transaccion = new TransactionLogic()) { - inicioResultado = _repository.IniciarCancelacion( + inicioResultado = _repositorio.IniciarCancelacion( solicitud, idSolicitud ?? Guid.NewGuid(), emisor.ProveedorPac, @@ -447,23 +447,23 @@ namespace SIG.Web.AppCode.Services.Facturacion if (!inicioResultado.Success || inicioResultado.Data == null) { return inicioResultado.Success - ? Fail( + ? Fallar( "No fue posible registrar la solicitud de cancelación.") - : CopyFailure( + : CopiarFallo( inicioResultado); } - CfdiCancelacionInicioModel inicio = inicioResultado.Data; + ModeloInicioCancelacionCfdi inicio = inicioResultado.Data; if (!inicio.PuedeEnviar) { - return Fail( + return Fallar( "La solicitud de cancelación ya fue procesada."); } - CfdiPacCancelacionResultadoModel resultadoPac = + ModeloResultadoCancelacionPacCfdi resultadoPac = clienteCancelacion.Cancelar( - new CfdiPacCancelacionSolicitudModel + new ModeloSolicitudCancelacionPacCfdi { RfcEmisor = inicio.RfcEmisor, Uuid = inicio.Uuid, @@ -474,11 +474,11 @@ namespace SIG.Web.AppCode.Services.Facturacion emisor.ReferenciaCredencialPac }); - DbResult finResultado; + DbResult finResultado; using (var transaccion = new TransactionLogic()) { - finResultado = _repository.FinalizarCancelacion( + finResultado = _repositorio.FinalizarCancelacion( inicio.CveCfdiCancelacion, resultadoPac, cveUsuarioEjecuta, @@ -493,19 +493,19 @@ namespace SIG.Web.AppCode.Services.Facturacion return finResultado; } - private CfdiPacResultadoModel EnviarAlPac( - CfdiDocumentoModel documento, - CfdiEmisorFiscalModel emisor, - CfdiTimbradoInicioModel intento) + private ModeloResultadoPacCfdi EnviarAlPac( + ModeloDocumentoCfdi documento, + ModeloEmisorFiscalCfdi emisor, + ModeloInicioTimbradoCfdi intento) { - IPacTimbradoClient pacClient; + IClienteTimbradoPac clientePac; if (string.IsNullOrWhiteSpace(emisor.ProveedorPac) - || !_pacClients.TryGetValue( + || !_clientesTimbradoPac.TryGetValue( emisor.ProveedorPac.Trim(), - out pacClient)) + out clientePac)) { - return new CfdiPacResultadoModel + return new ModeloResultadoPacCfdi { Exitoso = false, CodigoRespuesta = "PAC_NO_SOPORTADO", @@ -514,8 +514,8 @@ namespace SIG.Web.AppCode.Services.Facturacion }; } - return pacClient.Timbrar( - new CfdiPacSolicitudModel + return clientePac.Timbrar( + new ModeloSolicitudPacCfdi { CveCfdiDocumento = documento.CveCfdiDocumento, @@ -538,23 +538,23 @@ namespace SIG.Web.AppCode.Services.Facturacion }); } - private static DbResult Fail(string message) + private static DbResult Fallar(string mensaje) { return DbResult.Fail( - message, - message, + mensaje, + mensaje, null); } - private static DbResult CopyFailure< - TSource, - TTarget>( - DbResult source) + private static DbResult CopiarFallo< + TOrigen, + TDestino>( + DbResult origen) { - return DbResult.Fail( - source.UserMessage, - source.TechnicalMessage, - source.Exception); + return DbResult.Fail( + origen.UserMessage, + origen.TechnicalMessage, + origen.Exception); } } } diff --git a/SIG.Web/App_Code/Services/General/FabricaBitacoraCatalogoProducto.cs b/SIG.Web/App_Code/Services/General/FabricaBitacoraCatalogoProducto.cs new file mode 100644 index 0000000..1eea4fa --- /dev/null +++ b/SIG.Web/App_Code/Services/General/FabricaBitacoraCatalogoProducto.cs @@ -0,0 +1,161 @@ +using System.Collections.Generic; +using SIG.Web.AppCode.Models.Bitacora; +using SIG.Web.AppCode.Models.General; + +namespace SIG.Web.AppCode.Services.General +{ + internal static class FabricaBitacoraCatalogoProducto + { + public static BitacoraEventoModel CrearClasificacion( + ModeloClasificacion anterior, + ModeloClasificacion actual, + int cveClasificacion, + BitacoraTipoMovimiento movimiento) + { + ModeloClasificacion valor = actual ?? anterior; + var eventoBitacora = CrearEvento( + "Clasificaciones", + "CveClasificacion", + cveClasificacion, + movimiento, + CrearDescripcion( + movimiento, + "la clasificación", + valor.Clasificacion), + movimiento == BitacoraTipoMovimiento.Eliminado + ? new List() + : new List + { + CrearCampo( + "Codigo", + anterior == null ? null : anterior.Codigo, + actual.Codigo), + CrearCampo( + "Clasificacion", + anterior == null + ? null + : anterior.Clasificacion, + actual.Clasificacion), + CrearCampo( + "Afectable", + anterior == null + ? (object)null + : anterior.Afectable, + actual.Afectable), + CrearCampo( + "Estado", + anterior == null + ? (object)null + : anterior.EsActivo, + actual.EsActivo) + }); + + return eventoBitacora; + } + + public static BitacoraEventoModel CrearUnidadMedida( + ModeloUnidadMedida anterior, + ModeloUnidadMedida actual, + int cveUnidadMedida, + BitacoraTipoMovimiento movimiento) + { + ModeloUnidadMedida valor = actual ?? anterior; + return CrearEvento( + "UnidadesMedida", + "CveUnidadMedida", + cveUnidadMedida, + movimiento, + CrearDescripcion( + movimiento, + "la unidad de medida", + valor.UnidadMedida), + movimiento == BitacoraTipoMovimiento.Eliminado + ? new List() + : new List + { + CrearCampo( + "UnidadMedida", + anterior == null + ? null + : anterior.UnidadMedida, + actual.UnidadMedida), + CrearCampo( + "Abreviatura", + anterior == null + ? null + : anterior.Abreviatura, + actual.Abreviatura), + CrearCampo( + "Estado", + anterior == null + ? (object)null + : anterior.EsActivo, + actual.EsActivo) + }); + } + + private static BitacoraEventoModel CrearEvento( + string tabla, + string campoLlave, + int llave, + BitacoraTipoMovimiento movimiento, + string descripcion, + IList campos) + { + var eventoBitacora = new BitacoraEventoModel + { + NombreTablaSQL = tabla, + TipoMovimiento = movimiento, + LlaveRegistro = llave.ToString(), + DescripcionMovimiento = descripcion, + DiscriminarCamposSinCambios = movimiento != + BitacoraTipoMovimiento.Agregado, + Campos = campos + }; + + eventoBitacora.Relaciones.Add( + new BitacoraRelacionEventoModel + { + TipoRelacion = BitacoraTipoRelacion.Directa, + NombreTablaSQL = tabla, + NombreCampoSQL = campoLlave, + Valor = llave, + VisibleDesarrollador = false, + DescripcionRelacion = "Registro de catálogo afectado." + }); + + return eventoBitacora; + } + + private static BitacoraCampoEventoModel CrearCampo( + string nombre, + object anterior, + object actual) + { + return new BitacoraCampoEventoModel + { + NombreCampoSQL = nombre, + ValorAnterior = anterior, + ValorNuevo = actual + }; + } + + private static string CrearDescripcion( + BitacoraTipoMovimiento movimiento, + string entidad, + string nombre) + { + if (movimiento == BitacoraTipoMovimiento.Agregado) + { + return "Se agregó " + entidad + " " + nombre + "."; + } + + if (movimiento == BitacoraTipoMovimiento.Editado) + { + return "Se modificó " + entidad + " " + nombre + "."; + } + + return "Se eliminó " + entidad + " " + nombre + "."; + } + } +} diff --git a/SIG.Web/App_Code/Services/General/FabricaBitacoraProductoServicio.cs b/SIG.Web/App_Code/Services/General/FabricaBitacoraProductoServicio.cs new file mode 100644 index 0000000..7785008 --- /dev/null +++ b/SIG.Web/App_Code/Services/General/FabricaBitacoraProductoServicio.cs @@ -0,0 +1,124 @@ +using System; +using System.Collections.Generic; +using SIG.Web.AppCode.Models.Bitacora; +using SIG.Web.AppCode.Models.General; + +namespace SIG.Web.AppCode.Services.General +{ + internal static class FabricaBitacoraProductoServicio + { + public static BitacoraEventoModel Crear( + ModeloProductoServicio anterior, + ModeloProductoServicio actual, + int cvePS, + BitacoraTipoMovimiento movimiento) + { + ModeloProductoServicio valor = actual ?? anterior; + var eventoBitacora = new BitacoraEventoModel + { + NombreTablaSQL = "ProductosServicios", + TipoMovimiento = movimiento, + LlaveRegistro = cvePS.ToString(), + DescripcionMovimiento = CrearDescripcion(movimiento, valor.PS), + DiscriminarCamposSinCambios = movimiento != + BitacoraTipoMovimiento.Agregado, + Campos = movimiento == BitacoraTipoMovimiento.Eliminado + ? new List() + : CrearCampos(anterior, actual) + }; + + eventoBitacora.Relaciones.Add( + new BitacoraRelacionEventoModel + { + TipoRelacion = BitacoraTipoRelacion.Directa, + NombreTablaSQL = "ProductosServicios", + NombreCampoSQL = "CvePS", + Valor = cvePS, + VisibleDesarrollador = false, + DescripcionRelacion = + "Producto o servicio afectado." + }); + + return eventoBitacora; + } + + private static string CrearDescripcion( + BitacoraTipoMovimiento movimiento, + string nombreProducto) + { + if (movimiento == BitacoraTipoMovimiento.Agregado) + { + return "Se agregó el producto o servicio " + + nombreProducto + "."; + } + + if (movimiento == BitacoraTipoMovimiento.Editado) + { + return "Se modificó el producto o servicio " + + nombreProducto + "."; + } + + return "Se eliminó el producto o servicio " + + nombreProducto + "."; + } + + private static IList CrearCampos( + ModeloProductoServicio anterior, + ModeloProductoServicio actual) + { + return new List + { + CrearCampo( + "Codigo", + ObtenerValor(anterior, elemento => elemento.Codigo), + actual.Codigo), + CrearCampo( + "PS", + ObtenerValor(anterior, elemento => elemento.PS), + actual.PS), + CrearCampo( + "CveTipoPS", + ObtenerValor(anterior, elemento => elemento.CveTipoPS), + actual.CveTipoPS), + CrearCampo( + "CveClasificacion", + ObtenerValor(anterior, elemento => elemento.CveClasificacion), + actual.CveClasificacion), + CrearCampo( + "CveUnidadMedida", + ObtenerValor(anterior, elemento => elemento.CveUnidadMedida), + actual.CveUnidadMedida), + CrearCampo( + "Precio", + ObtenerValor(anterior, elemento => elemento.Precio), + actual.Precio), + CrearCampo( + "Estado", + ObtenerValor(anterior, elemento => elemento.EsActivo), + actual.EsActivo) + }; + } + + private static BitacoraCampoEventoModel CrearCampo( + string nombre, + object anterior, + object actual) + { + return new BitacoraCampoEventoModel + { + NombreCampoSQL = nombre, + ValorAnterior = anterior, + ValorNuevo = actual + }; + } + + private static object ObtenerValor( + ModeloProductoServicio modelo, + Func selectorValor) + { + return modelo == null + ? null + : (object)selectorValor(modelo); + } + } +} diff --git a/SIG.Web/App_Code/Services/General/ProductoCatalogBitacoraFactory.cs b/SIG.Web/App_Code/Services/General/ProductoCatalogBitacoraFactory.cs deleted file mode 100644 index ced97e6..0000000 --- a/SIG.Web/App_Code/Services/General/ProductoCatalogBitacoraFactory.cs +++ /dev/null @@ -1,161 +0,0 @@ -using System.Collections.Generic; -using SIG.Web.AppCode.Models.Bitacora; -using SIG.Web.AppCode.Models.General; - -namespace SIG.Web.AppCode.Services.General -{ - internal static class ProductoCatalogBitacoraFactory - { - public static BitacoraEventoModel CreateClasificacion( - ClasificacionModel previous, - ClasificacionModel current, - int cveClasificacion, - BitacoraTipoMovimiento movement) - { - ClasificacionModel value = current ?? previous; - var auditEvent = CreateEvent( - "Clasificaciones", - "CveClasificacion", - cveClasificacion, - movement, - Description( - movement, - "la clasificación", - value.Clasificacion), - movement == BitacoraTipoMovimiento.Eliminado - ? new List() - : new List - { - Field( - "Codigo", - previous == null ? null : previous.Codigo, - current.Codigo), - Field( - "Clasificacion", - previous == null - ? null - : previous.Clasificacion, - current.Clasificacion), - Field( - "Afectable", - previous == null - ? (object)null - : previous.Afectable, - current.Afectable), - Field( - "Estado", - previous == null - ? (object)null - : previous.EsActivo, - current.EsActivo) - }); - - return auditEvent; - } - - public static BitacoraEventoModel CreateUnidadMedida( - UnidadMedidaModel previous, - UnidadMedidaModel current, - int cveUnidadMedida, - BitacoraTipoMovimiento movement) - { - UnidadMedidaModel value = current ?? previous; - return CreateEvent( - "UnidadesMedida", - "CveUnidadMedida", - cveUnidadMedida, - movement, - Description( - movement, - "la unidad de medida", - value.UnidadMedida), - movement == BitacoraTipoMovimiento.Eliminado - ? new List() - : new List - { - Field( - "UnidadMedida", - previous == null - ? null - : previous.UnidadMedida, - current.UnidadMedida), - Field( - "Abreviatura", - previous == null - ? null - : previous.Abreviatura, - current.Abreviatura), - Field( - "Estado", - previous == null - ? (object)null - : previous.EsActivo, - current.EsActivo) - }); - } - - private static BitacoraEventoModel CreateEvent( - string table, - string keyField, - int key, - BitacoraTipoMovimiento movement, - string description, - IList fields) - { - var auditEvent = new BitacoraEventoModel - { - NombreTablaSQL = table, - TipoMovimiento = movement, - LlaveRegistro = key.ToString(), - DescripcionMovimiento = description, - DiscriminarCamposSinCambios = movement != - BitacoraTipoMovimiento.Agregado, - Campos = fields - }; - - auditEvent.Relaciones.Add( - new BitacoraRelacionEventoModel - { - TipoRelacion = BitacoraTipoRelacion.Directa, - NombreTablaSQL = table, - NombreCampoSQL = keyField, - Valor = key, - VisibleDesarrollador = false, - DescripcionRelacion = "Registro de catálogo afectado." - }); - - return auditEvent; - } - - private static BitacoraCampoEventoModel Field( - string name, - object previous, - object current) - { - return new BitacoraCampoEventoModel - { - NombreCampoSQL = name, - ValorAnterior = previous, - ValorNuevo = current - }; - } - - private static string Description( - BitacoraTipoMovimiento movement, - string entity, - string name) - { - if (movement == BitacoraTipoMovimiento.Agregado) - { - return "Se agregó " + entity + " " + name + "."; - } - - if (movement == BitacoraTipoMovimiento.Editado) - { - return "Se modificó " + entity + " " + name + "."; - } - - return "Se eliminó " + entity + " " + name + "."; - } - } -} diff --git a/SIG.Web/App_Code/Services/General/ProductoCatalogService.cs b/SIG.Web/App_Code/Services/General/ProductoCatalogService.cs deleted file mode 100644 index e9b4485..0000000 --- a/SIG.Web/App_Code/Services/General/ProductoCatalogService.cs +++ /dev/null @@ -1,438 +0,0 @@ -using System; -using System.Collections.Generic; -using SIG.Web.AppCode.Contracts.Bitacora; -using SIG.Web.AppCode.Contracts.General; -using SIG.Web.AppCode.Infrastructure.Transactions; -using SIG.Web.AppCode.Models.Bitacora; -using SIG.Web.AppCode.Models.Common; -using SIG.Web.AppCode.Models.General; - -namespace SIG.Web.AppCode.Services.General -{ - public sealed class ProductoCatalogService : IProductoCatalogService - { - private readonly IProductoCatalogRepository _repository; - private readonly IBitacoraService _bitacora; - - public ProductoCatalogService( - IProductoCatalogRepository repository, - IBitacoraService bitacora) - { - _repository = repository ?? - throw new ArgumentNullException("repository"); - _bitacora = bitacora ?? - throw new ArgumentNullException("bitacora"); - } - - public DbResult> ListClasificaciones( - string texto, - bool incluirInactivos, - int usuario, - string dominio) - { - return _repository.ListClasificaciones( - TrimOrNull(texto), - incluirInactivos, - usuario, - dominio); - } - - public DbResult GetClasificacion( - int cveClasificacion, - int usuario, - string dominio) - { - return cveClasificacion > 0 - ? _repository.GetClasificacion( - cveClasificacion, - usuario, - dominio) - : Fail( - "Seleccione una clasificación válida."); - } - - public DbResult SaveClasificacion( - ClasificacionModel clasificacion, - int usuario, - string dominio) - { - DbResult validation = Validate(clasificacion); - - if (!validation.Success) - { - return validation; - } - - clasificacion.Codigo = TrimOrNull(clasificacion.Codigo); - clasificacion.Clasificacion = clasificacion.Clasificacion.Trim(); - - using (var transaction = new TransactionLogic()) - { - ClasificacionModel previous = null; - - if (clasificacion.CveClasificacion > 0) - { - DbResult previousResult = - _repository.GetClasificacion( - clasificacion.CveClasificacion, - usuario, - dominio); - - if (!previousResult.Success || previousResult.Data == null) - { - return FailFrom( - previousResult, - "La clasificación seleccionada no existe."); - } - - previous = previousResult.Data; - } - - DbResult result = _repository.SaveClasificacion( - clasificacion, - usuario, - dominio); - - if (!result.Success) - { - return result; - } - - DbResult currentResult = - _repository.GetClasificacion( - result.Data, - usuario, - dominio); - - if (!currentResult.Success || currentResult.Data == null) - { - return FailFrom( - currentResult, - "No fue posible recuperar la clasificación guardada."); - } - - DbResult auditResult = _bitacora.Registrar( - ProductoCatalogBitacoraFactory.CreateClasificacion( - previous, - currentResult.Data, - result.Data, - previous == null - ? BitacoraTipoMovimiento.Agregado - : BitacoraTipoMovimiento.Editado)); - - if (!auditResult.Success) - { - return FailFrom( - auditResult, - "No fue posible registrar la bitácora."); - } - - transaction.Commit(); - return result; - } - } - - public DbResult DeleteClasificacion( - int cveClasificacion, - int usuario, - string dominio) - { - if (cveClasificacion <= 0) - { - return Fail("Seleccione una clasificación válida."); - } - - using (var transaction = new TransactionLogic()) - { - DbResult previousResult = - _repository.GetClasificacion( - cveClasificacion, - usuario, - dominio); - - if (!previousResult.Success || previousResult.Data == null) - { - return FailFrom( - previousResult, - "La clasificación seleccionada no existe."); - } - - DbResult result = _repository.DeleteClasificacion( - cveClasificacion, - usuario, - dominio); - - if (!result.Success) - { - return result; - } - - DbResult auditResult = _bitacora.Registrar( - ProductoCatalogBitacoraFactory.CreateClasificacion( - previousResult.Data, - null, - cveClasificacion, - BitacoraTipoMovimiento.Eliminado)); - - if (!auditResult.Success) - { - return FailFrom( - auditResult, - "No fue posible registrar la bitácora."); - } - - transaction.Commit(); - return result; - } - } - - public DbResult> ListUnidadesMedida( - string texto, - bool incluirInactivos, - int usuario, - string dominio) - { - return _repository.ListUnidadesMedida( - TrimOrNull(texto), - incluirInactivos, - usuario, - dominio); - } - - public DbResult GetUnidadMedida( - int cveUnidadMedida, - int usuario, - string dominio) - { - return cveUnidadMedida > 0 - ? _repository.GetUnidadMedida( - cveUnidadMedida, - usuario, - dominio) - : Fail( - "Seleccione una unidad de medida válida."); - } - - public DbResult SaveUnidadMedida( - UnidadMedidaModel unidadMedida, - int usuario, - string dominio) - { - DbResult validation = Validate(unidadMedida); - - if (!validation.Success) - { - return validation; - } - - unidadMedida.UnidadMedida = unidadMedida.UnidadMedida.Trim(); - unidadMedida.Abreviatura = unidadMedida.Abreviatura.Trim(); - - using (var transaction = new TransactionLogic()) - { - UnidadMedidaModel previous = null; - - if (unidadMedida.CveUnidadMedida > 0) - { - DbResult previousResult = - _repository.GetUnidadMedida( - unidadMedida.CveUnidadMedida, - usuario, - dominio); - - if (!previousResult.Success || previousResult.Data == null) - { - return FailFrom( - previousResult, - "La unidad de medida seleccionada no existe."); - } - - previous = previousResult.Data; - } - - DbResult result = _repository.SaveUnidadMedida( - unidadMedida, - usuario, - dominio); - - if (!result.Success) - { - return result; - } - - DbResult currentResult = - _repository.GetUnidadMedida( - result.Data, - usuario, - dominio); - - if (!currentResult.Success || currentResult.Data == null) - { - return FailFrom( - currentResult, - "No fue posible recuperar la unidad de medida guardada."); - } - - DbResult auditResult = _bitacora.Registrar( - ProductoCatalogBitacoraFactory.CreateUnidadMedida( - previous, - currentResult.Data, - result.Data, - previous == null - ? BitacoraTipoMovimiento.Agregado - : BitacoraTipoMovimiento.Editado)); - - if (!auditResult.Success) - { - return FailFrom( - auditResult, - "No fue posible registrar la bitácora."); - } - - transaction.Commit(); - return result; - } - } - - public DbResult DeleteUnidadMedida( - int cveUnidadMedida, - int usuario, - string dominio) - { - if (cveUnidadMedida <= 0) - { - return Fail( - "Seleccione una unidad de medida válida."); - } - - using (var transaction = new TransactionLogic()) - { - DbResult previousResult = - _repository.GetUnidadMedida( - cveUnidadMedida, - usuario, - dominio); - - if (!previousResult.Success || previousResult.Data == null) - { - return FailFrom( - previousResult, - "La unidad de medida seleccionada no existe."); - } - - DbResult result = _repository.DeleteUnidadMedida( - cveUnidadMedida, - usuario, - dominio); - - if (!result.Success) - { - return result; - } - - DbResult auditResult = _bitacora.Registrar( - ProductoCatalogBitacoraFactory.CreateUnidadMedida( - previousResult.Data, - null, - cveUnidadMedida, - BitacoraTipoMovimiento.Eliminado)); - - if (!auditResult.Success) - { - return FailFrom( - auditResult, - "No fue posible registrar la bitácora."); - } - - transaction.Commit(); - return result; - } - } - - private static DbResult Validate( - ClasificacionModel clasificacion) - { - if (clasificacion == null || - string.IsNullOrWhiteSpace(clasificacion.Clasificacion)) - { - return Fail("Capture la clasificación."); - } - - if (clasificacion.Clasificacion.Trim().Length > 200) - { - return Fail( - "La clasificación no puede exceder 200 caracteres."); - } - - if (!string.IsNullOrWhiteSpace(clasificacion.Codigo) && - clasificacion.Codigo.Trim().Length > 20) - { - return Fail( - "El código no puede exceder 20 caracteres."); - } - - return DbResult.Ok(clasificacion.CveClasificacion); - } - - private static DbResult Validate( - UnidadMedidaModel unidadMedida) - { - if (unidadMedida == null || - string.IsNullOrWhiteSpace(unidadMedida.UnidadMedida)) - { - return Fail("Capture la unidad de medida."); - } - - if (string.IsNullOrWhiteSpace(unidadMedida.Abreviatura)) - { - return Fail("Capture la abreviatura."); - } - - if (unidadMedida.UnidadMedida.Trim().Length > 50) - { - return Fail( - "La unidad de medida no puede exceder 50 caracteres."); - } - - if (unidadMedida.Abreviatura.Trim().Length > 15) - { - return Fail( - "La abreviatura no puede exceder 15 caracteres."); - } - - return DbResult.Ok(unidadMedida.CveUnidadMedida); - } - - private static string TrimOrNull(string value) - { - return string.IsNullOrWhiteSpace(value) - ? null - : value.Trim(); - } - - private static DbResult Fail(string message) - { - return DbResult.Fail( - message, - message, - new ArgumentException(message)); - } - - private static DbResult FailFrom( - DbResult source, - string fallbackMessage) - { - string message = source == null || - string.IsNullOrWhiteSpace(source.UserMessage) - ? fallbackMessage - : source.UserMessage; - - return DbResult.Fail( - message, - source == null - ? fallbackMessage - : source.TechnicalMessage, - source == null ? null : source.Exception); - } - } -} diff --git a/SIG.Web/App_Code/Services/General/ProductoServicioBitacoraFactory.cs b/SIG.Web/App_Code/Services/General/ProductoServicioBitacoraFactory.cs deleted file mode 100644 index 752cd23..0000000 --- a/SIG.Web/App_Code/Services/General/ProductoServicioBitacoraFactory.cs +++ /dev/null @@ -1,124 +0,0 @@ -using System; -using System.Collections.Generic; -using SIG.Web.AppCode.Models.Bitacora; -using SIG.Web.AppCode.Models.General; - -namespace SIG.Web.AppCode.Services.General -{ - internal static class ProductoServicioBitacoraFactory - { - public static BitacoraEventoModel Create( - ProductoServicioModel previous, - ProductoServicioModel current, - int cvePS, - BitacoraTipoMovimiento movement) - { - ProductoServicioModel value = current ?? previous; - var auditEvent = new BitacoraEventoModel - { - NombreTablaSQL = "ProductosServicios", - TipoMovimiento = movement, - LlaveRegistro = cvePS.ToString(), - DescripcionMovimiento = Description(movement, value.PS), - DiscriminarCamposSinCambios = movement != - BitacoraTipoMovimiento.Agregado, - Campos = movement == BitacoraTipoMovimiento.Eliminado - ? new List() - : CreateFields(previous, current) - }; - - auditEvent.Relaciones.Add( - new BitacoraRelacionEventoModel - { - TipoRelacion = BitacoraTipoRelacion.Directa, - NombreTablaSQL = "ProductosServicios", - NombreCampoSQL = "CvePS", - Valor = cvePS, - VisibleDesarrollador = false, - DescripcionRelacion = - "Producto o servicio afectado." - }); - - return auditEvent; - } - - private static string Description( - BitacoraTipoMovimiento movement, - string productName) - { - if (movement == BitacoraTipoMovimiento.Agregado) - { - return "Se agregó el producto o servicio " + - productName + "."; - } - - if (movement == BitacoraTipoMovimiento.Editado) - { - return "Se modificó el producto o servicio " + - productName + "."; - } - - return "Se eliminó el producto o servicio " + - productName + "."; - } - - private static IList CreateFields( - ProductoServicioModel previous, - ProductoServicioModel current) - { - return new List - { - Field( - "Codigo", - Value(previous, item => item.Codigo), - current.Codigo), - Field( - "PS", - Value(previous, item => item.PS), - current.PS), - Field( - "CveTipoPS", - Value(previous, item => item.CveTipoPS), - current.CveTipoPS), - Field( - "CveClasificacion", - Value(previous, item => item.CveClasificacion), - current.CveClasificacion), - Field( - "CveUnidadMedida", - Value(previous, item => item.CveUnidadMedida), - current.CveUnidadMedida), - Field( - "Precio", - Value(previous, item => item.Precio), - current.Precio), - Field( - "Estado", - Value(previous, item => item.EsActivo), - current.EsActivo) - }; - } - - private static BitacoraCampoEventoModel Field( - string name, - object previous, - object current) - { - return new BitacoraCampoEventoModel - { - NombreCampoSQL = name, - ValorAnterior = previous, - ValorNuevo = current - }; - } - - private static object Value( - ProductoServicioModel model, - Func selector) - { - return model == null - ? null - : (object)selector(model); - } - } -} diff --git a/SIG.Web/App_Code/Services/General/ProductoServicioService.cs b/SIG.Web/App_Code/Services/General/ProductoServicioService.cs deleted file mode 100644 index d369708..0000000 --- a/SIG.Web/App_Code/Services/General/ProductoServicioService.cs +++ /dev/null @@ -1,276 +0,0 @@ -using System; -using System.Collections.Generic; -using SIG.Web.AppCode.Contracts.Bitacora; -using SIG.Web.AppCode.Contracts.General; -using SIG.Web.AppCode.Infrastructure.Transactions; -using SIG.Web.AppCode.Models.Bitacora; -using SIG.Web.AppCode.Models.Common; -using SIG.Web.AppCode.Models.General; - -namespace SIG.Web.AppCode.Services.General -{ - public sealed class ProductoServicioService : IProductoServicioService - { - private readonly IProductoServicioRepository _repository; - private readonly IBitacoraService _bitacora; - - public ProductoServicioService( - IProductoServicioRepository repository, - IBitacoraService bitacora) - { - _repository = repository ?? - throw new ArgumentNullException("repository"); - _bitacora = bitacora ?? - throw new ArgumentNullException("bitacora"); - } - - public DbResult> List( - string texto, - bool incluirInactivos, - int usuario, - string dominio) - { - return _repository.List( - TrimOrNull(texto), - incluirInactivos, - usuario, - dominio); - } - - public DbResult Get( - int cvePS, - int usuario, - string dominio) - { - return cvePS > 0 - ? _repository.Get(cvePS, usuario, dominio) - : Fail( - "Seleccione un producto o servicio válido."); - } - - public DbResult ListOptions( - int? cveClasificacionActual, - int? cveUnidadMedidaActual, - int usuario, - string dominio) - { - return _repository.ListOptions( - cveClasificacionActual, - cveUnidadMedidaActual, - usuario, - dominio); - } - - public DbResult Save( - ProductoServicioModel productoServicio, - int usuario, - string dominio) - { - DbResult validation = Validate(productoServicio); - - if (!validation.Success) - { - return validation; - } - - productoServicio.Codigo = TrimOrNull( - productoServicio.Codigo); - productoServicio.PS = productoServicio.PS.Trim(); - - using (var transaction = new TransactionLogic()) - { - ProductoServicioModel previous = null; - - if (productoServicio.CvePS > 0) - { - DbResult previousResult = - _repository.Get( - productoServicio.CvePS, - usuario, - dominio); - - if (!previousResult.Success || - previousResult.Data == null) - { - return FailFrom( - previousResult, - "El producto o servicio seleccionado no existe."); - } - - previous = previousResult.Data; - } - - DbResult result = _repository.Save( - productoServicio, - usuario, - dominio); - - if (!result.Success) - { - return result; - } - - DbResult currentResult = - _repository.Get(result.Data, usuario, dominio); - - if (!currentResult.Success || currentResult.Data == null) - { - return FailFrom( - currentResult, - "No fue posible recuperar el producto o servicio guardado."); - } - - BitacoraTipoMovimiento movement = previous == null - ? BitacoraTipoMovimiento.Agregado - : BitacoraTipoMovimiento.Editado; - DbResult auditResult = _bitacora.Registrar( - ProductoServicioBitacoraFactory.Create( - previous, - currentResult.Data, - result.Data, - movement)); - - if (!auditResult.Success) - { - return DbResult.Fail( - auditResult.UserMessage, - auditResult.TechnicalMessage, - auditResult.Exception); - } - - transaction.Commit(); - return result; - } - } - - public DbResult Delete( - int cvePS, - int usuario, - string dominio) - { - if (cvePS <= 0) - { - return Fail( - "Seleccione un producto o servicio válido."); - } - - using (var transaction = new TransactionLogic()) - { - DbResult previousResult = - _repository.Get(cvePS, usuario, dominio); - - if (!previousResult.Success || previousResult.Data == null) - { - return FailFrom( - previousResult, - "El producto o servicio seleccionado no existe."); - } - - DbResult result = _repository.Delete( - cvePS, - usuario, - dominio); - - if (!result.Success) - { - return result; - } - - DbResult auditResult = _bitacora.Registrar( - ProductoServicioBitacoraFactory.Create( - previousResult.Data, - null, - cvePS, - BitacoraTipoMovimiento.Eliminado)); - - if (!auditResult.Success) - { - return DbResult.Fail( - auditResult.UserMessage, - auditResult.TechnicalMessage, - auditResult.Exception); - } - - transaction.Commit(); - return result; - } - } - - private static DbResult Validate( - ProductoServicioModel productoServicio) - { - if (productoServicio == null || - string.IsNullOrWhiteSpace(productoServicio.PS)) - { - return Fail( - "Capture la descripción del producto o servicio."); - } - - if (productoServicio.PS.Trim().Length > 846) - { - return Fail( - "La descripción no puede exceder 846 caracteres."); - } - - if (!string.IsNullOrWhiteSpace(productoServicio.Codigo) && - productoServicio.Codigo.Trim().Length > 50) - { - return Fail( - "El código no puede exceder 50 caracteres."); - } - - if (productoServicio.CveTipoPS != 1 && - productoServicio.CveTipoPS != 2) - { - return Fail( - "Seleccione si el registro es producto o servicio."); - } - - if (productoServicio.CveClasificacion <= 0 || - productoServicio.CveUnidadMedida <= 0) - { - return Fail( - "Seleccione la clasificación y la unidad de medida."); - } - - if (productoServicio.Precio < 0) - { - return Fail("El precio no puede ser negativo."); - } - - return DbResult.Ok(productoServicio.CvePS); - } - - private static string TrimOrNull(string value) - { - return string.IsNullOrWhiteSpace(value) - ? null - : value.Trim(); - } - - private static DbResult Fail(string message) - { - return DbResult.Fail( - message, - message, - new ArgumentException(message)); - } - - private static DbResult FailFrom( - DbResult source, - string fallbackMessage) - { - string message = source == null || - string.IsNullOrWhiteSpace(source.UserMessage) - ? fallbackMessage - : source.UserMessage; - - return DbResult.Fail( - message, - source == null - ? fallbackMessage - : source.TechnicalMessage, - source == null ? null : source.Exception); - } - } -} diff --git a/SIG.Web/App_Code/Services/General/ServicioCatalogoProducto.cs b/SIG.Web/App_Code/Services/General/ServicioCatalogoProducto.cs new file mode 100644 index 0000000..ea33766 --- /dev/null +++ b/SIG.Web/App_Code/Services/General/ServicioCatalogoProducto.cs @@ -0,0 +1,438 @@ +using System; +using System.Collections.Generic; +using SIG.Web.AppCode.Contracts.Bitacora; +using SIG.Web.AppCode.Contracts.General; +using SIG.Web.AppCode.Infrastructure.Transactions; +using SIG.Web.AppCode.Models.Bitacora; +using SIG.Web.AppCode.Models.Common; +using SIG.Web.AppCode.Models.General; + +namespace SIG.Web.AppCode.Services.General +{ + public sealed class ServicioCatalogoProducto : IServicioCatalogoProducto + { + private readonly IRepositorioCatalogoProducto _repositorio; + private readonly IBitacoraService _bitacora; + + public ServicioCatalogoProducto( + IRepositorioCatalogoProducto repositorio, + IBitacoraService bitacora) + { + _repositorio = repositorio ?? + throw new ArgumentNullException("repositorio"); + _bitacora = bitacora ?? + throw new ArgumentNullException("bitacora"); + } + + public DbResult> ListarClasificaciones( + string texto, + bool incluirInactivos, + int usuario, + string dominio) + { + return _repositorio.ListarClasificaciones( + RecortarONulo(texto), + incluirInactivos, + usuario, + dominio); + } + + public DbResult ObtenerClasificacion( + int cveClasificacion, + int usuario, + string dominio) + { + return cveClasificacion > 0 + ? _repositorio.ObtenerClasificacion( + cveClasificacion, + usuario, + dominio) + : Fallar( + "Seleccione una clasificación válida."); + } + + public DbResult GuardarClasificacion( + ModeloClasificacion clasificacion, + int usuario, + string dominio) + { + DbResult validacion = Validar(clasificacion); + + if (!validacion.Success) + { + return validacion; + } + + clasificacion.Codigo = RecortarONulo(clasificacion.Codigo); + clasificacion.Clasificacion = clasificacion.Clasificacion.Trim(); + + using (var transaccion = new TransactionLogic()) + { + ModeloClasificacion anterior = null; + + if (clasificacion.CveClasificacion > 0) + { + DbResult resultadoAnterior = + _repositorio.ObtenerClasificacion( + clasificacion.CveClasificacion, + usuario, + dominio); + + if (!resultadoAnterior.Success || resultadoAnterior.Data == null) + { + return FallarDesde( + resultadoAnterior, + "La clasificación seleccionada no existe."); + } + + anterior = resultadoAnterior.Data; + } + + DbResult resultado = _repositorio.GuardarClasificacion( + clasificacion, + usuario, + dominio); + + if (!resultado.Success) + { + return resultado; + } + + DbResult resultadoActual = + _repositorio.ObtenerClasificacion( + resultado.Data, + usuario, + dominio); + + if (!resultadoActual.Success || resultadoActual.Data == null) + { + return FallarDesde( + resultadoActual, + "No fue posible recuperar la clasificación guardada."); + } + + DbResult resultadoBitacora = _bitacora.Registrar( + FabricaBitacoraCatalogoProducto.CrearClasificacion( + anterior, + resultadoActual.Data, + resultado.Data, + anterior == null + ? BitacoraTipoMovimiento.Agregado + : BitacoraTipoMovimiento.Editado)); + + if (!resultadoBitacora.Success) + { + return FallarDesde( + resultadoBitacora, + "No fue posible registrar la bitácora."); + } + + transaccion.Commit(); + return resultado; + } + } + + public DbResult EliminarClasificacion( + int cveClasificacion, + int usuario, + string dominio) + { + if (cveClasificacion <= 0) + { + return Fallar("Seleccione una clasificación válida."); + } + + using (var transaccion = new TransactionLogic()) + { + DbResult resultadoAnterior = + _repositorio.ObtenerClasificacion( + cveClasificacion, + usuario, + dominio); + + if (!resultadoAnterior.Success || resultadoAnterior.Data == null) + { + return FallarDesde( + resultadoAnterior, + "La clasificación seleccionada no existe."); + } + + DbResult resultado = _repositorio.EliminarClasificacion( + cveClasificacion, + usuario, + dominio); + + if (!resultado.Success) + { + return resultado; + } + + DbResult resultadoBitacora = _bitacora.Registrar( + FabricaBitacoraCatalogoProducto.CrearClasificacion( + resultadoAnterior.Data, + null, + cveClasificacion, + BitacoraTipoMovimiento.Eliminado)); + + if (!resultadoBitacora.Success) + { + return FallarDesde( + resultadoBitacora, + "No fue posible registrar la bitácora."); + } + + transaccion.Commit(); + return resultado; + } + } + + public DbResult> ListarUnidadesMedida( + string texto, + bool incluirInactivos, + int usuario, + string dominio) + { + return _repositorio.ListarUnidadesMedida( + RecortarONulo(texto), + incluirInactivos, + usuario, + dominio); + } + + public DbResult ObtenerUnidadMedida( + int cveUnidadMedida, + int usuario, + string dominio) + { + return cveUnidadMedida > 0 + ? _repositorio.ObtenerUnidadMedida( + cveUnidadMedida, + usuario, + dominio) + : Fallar( + "Seleccione una unidad de medida válida."); + } + + public DbResult GuardarUnidadMedida( + ModeloUnidadMedida unidadMedida, + int usuario, + string dominio) + { + DbResult validacion = Validar(unidadMedida); + + if (!validacion.Success) + { + return validacion; + } + + unidadMedida.UnidadMedida = unidadMedida.UnidadMedida.Trim(); + unidadMedida.Abreviatura = unidadMedida.Abreviatura.Trim(); + + using (var transaccion = new TransactionLogic()) + { + ModeloUnidadMedida anterior = null; + + if (unidadMedida.CveUnidadMedida > 0) + { + DbResult resultadoAnterior = + _repositorio.ObtenerUnidadMedida( + unidadMedida.CveUnidadMedida, + usuario, + dominio); + + if (!resultadoAnterior.Success || resultadoAnterior.Data == null) + { + return FallarDesde( + resultadoAnterior, + "La unidad de medida seleccionada no existe."); + } + + anterior = resultadoAnterior.Data; + } + + DbResult resultado = _repositorio.GuardarUnidadMedida( + unidadMedida, + usuario, + dominio); + + if (!resultado.Success) + { + return resultado; + } + + DbResult resultadoActual = + _repositorio.ObtenerUnidadMedida( + resultado.Data, + usuario, + dominio); + + if (!resultadoActual.Success || resultadoActual.Data == null) + { + return FallarDesde( + resultadoActual, + "No fue posible recuperar la unidad de medida guardada."); + } + + DbResult resultadoBitacora = _bitacora.Registrar( + FabricaBitacoraCatalogoProducto.CrearUnidadMedida( + anterior, + resultadoActual.Data, + resultado.Data, + anterior == null + ? BitacoraTipoMovimiento.Agregado + : BitacoraTipoMovimiento.Editado)); + + if (!resultadoBitacora.Success) + { + return FallarDesde( + resultadoBitacora, + "No fue posible registrar la bitácora."); + } + + transaccion.Commit(); + return resultado; + } + } + + public DbResult EliminarUnidadMedida( + int cveUnidadMedida, + int usuario, + string dominio) + { + if (cveUnidadMedida <= 0) + { + return Fallar( + "Seleccione una unidad de medida válida."); + } + + using (var transaccion = new TransactionLogic()) + { + DbResult resultadoAnterior = + _repositorio.ObtenerUnidadMedida( + cveUnidadMedida, + usuario, + dominio); + + if (!resultadoAnterior.Success || resultadoAnterior.Data == null) + { + return FallarDesde( + resultadoAnterior, + "La unidad de medida seleccionada no existe."); + } + + DbResult resultado = _repositorio.EliminarUnidadMedida( + cveUnidadMedida, + usuario, + dominio); + + if (!resultado.Success) + { + return resultado; + } + + DbResult resultadoBitacora = _bitacora.Registrar( + FabricaBitacoraCatalogoProducto.CrearUnidadMedida( + resultadoAnterior.Data, + null, + cveUnidadMedida, + BitacoraTipoMovimiento.Eliminado)); + + if (!resultadoBitacora.Success) + { + return FallarDesde( + resultadoBitacora, + "No fue posible registrar la bitácora."); + } + + transaccion.Commit(); + return resultado; + } + } + + private static DbResult Validar( + ModeloClasificacion clasificacion) + { + if (clasificacion == null || + string.IsNullOrWhiteSpace(clasificacion.Clasificacion)) + { + return Fallar("Capture la clasificación."); + } + + if (clasificacion.Clasificacion.Trim().Length > 200) + { + return Fallar( + "La clasificación no puede exceder 200 caracteres."); + } + + if (!string.IsNullOrWhiteSpace(clasificacion.Codigo) && + clasificacion.Codigo.Trim().Length > 20) + { + return Fallar( + "El código no puede exceder 20 caracteres."); + } + + return DbResult.Ok(clasificacion.CveClasificacion); + } + + private static DbResult Validar( + ModeloUnidadMedida unidadMedida) + { + if (unidadMedida == null || + string.IsNullOrWhiteSpace(unidadMedida.UnidadMedida)) + { + return Fallar("Capture la unidad de medida."); + } + + if (string.IsNullOrWhiteSpace(unidadMedida.Abreviatura)) + { + return Fallar("Capture la abreviatura."); + } + + if (unidadMedida.UnidadMedida.Trim().Length > 50) + { + return Fallar( + "La unidad de medida no puede exceder 50 caracteres."); + } + + if (unidadMedida.Abreviatura.Trim().Length > 15) + { + return Fallar( + "La abreviatura no puede exceder 15 caracteres."); + } + + return DbResult.Ok(unidadMedida.CveUnidadMedida); + } + + private static string RecortarONulo(string valor) + { + return string.IsNullOrWhiteSpace(valor) + ? null + : valor.Trim(); + } + + private static DbResult Fallar(string mensaje) + { + return DbResult.Fail( + mensaje, + mensaje, + new ArgumentException(mensaje)); + } + + private static DbResult FallarDesde( + DbResult origen, + string mensajeAlternativo) + { + string mensaje = origen == null || + string.IsNullOrWhiteSpace(origen.UserMessage) + ? mensajeAlternativo + : origen.UserMessage; + + return DbResult.Fail( + mensaje, + origen == null + ? mensajeAlternativo + : origen.TechnicalMessage, + origen == null ? null : origen.Exception); + } + } +} diff --git a/SIG.Web/App_Code/Services/General/ServicioProductoServicio.cs b/SIG.Web/App_Code/Services/General/ServicioProductoServicio.cs new file mode 100644 index 0000000..2d922d0 --- /dev/null +++ b/SIG.Web/App_Code/Services/General/ServicioProductoServicio.cs @@ -0,0 +1,276 @@ +using System; +using System.Collections.Generic; +using SIG.Web.AppCode.Contracts.Bitacora; +using SIG.Web.AppCode.Contracts.General; +using SIG.Web.AppCode.Infrastructure.Transactions; +using SIG.Web.AppCode.Models.Bitacora; +using SIG.Web.AppCode.Models.Common; +using SIG.Web.AppCode.Models.General; + +namespace SIG.Web.AppCode.Services.General +{ + public sealed class ServicioProductoServicio : IServicioProductoServicio + { + private readonly IRepositorioProductoServicio _repositorio; + private readonly IBitacoraService _bitacora; + + public ServicioProductoServicio( + IRepositorioProductoServicio repositorio, + IBitacoraService bitacora) + { + _repositorio = repositorio ?? + throw new ArgumentNullException("repositorio"); + _bitacora = bitacora ?? + throw new ArgumentNullException("bitacora"); + } + + public DbResult> Listar( + string texto, + bool incluirInactivos, + int usuario, + string dominio) + { + return _repositorio.Listar( + RecortarONulo(texto), + incluirInactivos, + usuario, + dominio); + } + + public DbResult Obtener( + int cvePS, + int usuario, + string dominio) + { + return cvePS > 0 + ? _repositorio.Obtener(cvePS, usuario, dominio) + : Fallar( + "Seleccione un producto o servicio válido."); + } + + public DbResult ListarOpciones( + int? cveClasificacionActual, + int? cveUnidadMedidaActual, + int usuario, + string dominio) + { + return _repositorio.ListarOpciones( + cveClasificacionActual, + cveUnidadMedidaActual, + usuario, + dominio); + } + + public DbResult Guardar( + ModeloProductoServicio productoServicio, + int usuario, + string dominio) + { + DbResult validacion = Validar(productoServicio); + + if (!validacion.Success) + { + return validacion; + } + + productoServicio.Codigo = RecortarONulo( + productoServicio.Codigo); + productoServicio.PS = productoServicio.PS.Trim(); + + using (var transaccion = new TransactionLogic()) + { + ModeloProductoServicio anterior = null; + + if (productoServicio.CvePS > 0) + { + DbResult resultadoAnterior = + _repositorio.Obtener( + productoServicio.CvePS, + usuario, + dominio); + + if (!resultadoAnterior.Success || + resultadoAnterior.Data == null) + { + return FallarDesde( + resultadoAnterior, + "El producto o servicio seleccionado no existe."); + } + + anterior = resultadoAnterior.Data; + } + + DbResult resultado = _repositorio.Guardar( + productoServicio, + usuario, + dominio); + + if (!resultado.Success) + { + return resultado; + } + + DbResult resultadoActual = + _repositorio.Obtener(resultado.Data, usuario, dominio); + + if (!resultadoActual.Success || resultadoActual.Data == null) + { + return FallarDesde( + resultadoActual, + "No fue posible recuperar el producto o servicio guardado."); + } + + BitacoraTipoMovimiento movimiento = anterior == null + ? BitacoraTipoMovimiento.Agregado + : BitacoraTipoMovimiento.Editado; + DbResult resultadoBitacora = _bitacora.Registrar( + FabricaBitacoraProductoServicio.Crear( + anterior, + resultadoActual.Data, + resultado.Data, + movimiento)); + + if (!resultadoBitacora.Success) + { + return DbResult.Fail( + resultadoBitacora.UserMessage, + resultadoBitacora.TechnicalMessage, + resultadoBitacora.Exception); + } + + transaccion.Commit(); + return resultado; + } + } + + public DbResult Eliminar( + int cvePS, + int usuario, + string dominio) + { + if (cvePS <= 0) + { + return Fallar( + "Seleccione un producto o servicio válido."); + } + + using (var transaccion = new TransactionLogic()) + { + DbResult resultadoAnterior = + _repositorio.Obtener(cvePS, usuario, dominio); + + if (!resultadoAnterior.Success || resultadoAnterior.Data == null) + { + return FallarDesde( + resultadoAnterior, + "El producto o servicio seleccionado no existe."); + } + + DbResult resultado = _repositorio.Eliminar( + cvePS, + usuario, + dominio); + + if (!resultado.Success) + { + return resultado; + } + + DbResult resultadoBitacora = _bitacora.Registrar( + FabricaBitacoraProductoServicio.Crear( + resultadoAnterior.Data, + null, + cvePS, + BitacoraTipoMovimiento.Eliminado)); + + if (!resultadoBitacora.Success) + { + return DbResult.Fail( + resultadoBitacora.UserMessage, + resultadoBitacora.TechnicalMessage, + resultadoBitacora.Exception); + } + + transaccion.Commit(); + return resultado; + } + } + + private static DbResult Validar( + ModeloProductoServicio productoServicio) + { + if (productoServicio == null || + string.IsNullOrWhiteSpace(productoServicio.PS)) + { + return Fallar( + "Capture la descripción del producto o servicio."); + } + + if (productoServicio.PS.Trim().Length > 846) + { + return Fallar( + "La descripción no puede exceder 846 caracteres."); + } + + if (!string.IsNullOrWhiteSpace(productoServicio.Codigo) && + productoServicio.Codigo.Trim().Length > 50) + { + return Fallar( + "El código no puede exceder 50 caracteres."); + } + + if (productoServicio.CveTipoPS != 1 && + productoServicio.CveTipoPS != 2) + { + return Fallar( + "Seleccione si el registro es producto o servicio."); + } + + if (productoServicio.CveClasificacion <= 0 || + productoServicio.CveUnidadMedida <= 0) + { + return Fallar( + "Seleccione la clasificación y la unidad de medida."); + } + + if (productoServicio.Precio < 0) + { + return Fallar("El precio no puede ser negativo."); + } + + return DbResult.Ok(productoServicio.CvePS); + } + + private static string RecortarONulo(string valor) + { + return string.IsNullOrWhiteSpace(valor) + ? null + : valor.Trim(); + } + + private static DbResult Fallar(string mensaje) + { + return DbResult.Fail( + mensaje, + mensaje, + new ArgumentException(mensaje)); + } + + private static DbResult FallarDesde( + DbResult origen, + string mensajeAlternativo) + { + string mensaje = origen == null || + string.IsNullOrWhiteSpace(origen.UserMessage) + ? mensajeAlternativo + : origen.UserMessage; + + return DbResult.Fail( + mensaje, + origen == null + ? mensajeAlternativo + : origen.TechnicalMessage, + origen == null ? null : origen.Exception); + } + } +} diff --git a/SIG.Web/App_Code/Services/Security/PerfilUsuarioService.cs b/SIG.Web/App_Code/Services/Security/ServicioPerfilUsuario.cs similarity index 88% rename from SIG.Web/App_Code/Services/Security/PerfilUsuarioService.cs rename to SIG.Web/App_Code/Services/Security/ServicioPerfilUsuario.cs index ae4784f..18c2ae9 100644 --- a/SIG.Web/App_Code/Services/Security/PerfilUsuarioService.cs +++ b/SIG.Web/App_Code/Services/Security/ServicioPerfilUsuario.cs @@ -8,13 +8,13 @@ using SIG.Web.AppCode.Session; namespace SIG.Web.AppCode.Services.Security { - public sealed class PerfilUsuarioService : IPerfilUsuarioService + public sealed class ServicioPerfilUsuario : IServicioPerfilUsuario { - private readonly IPerfilUsuarioRepository _repositorio; + private readonly IRepositorioPerfilUsuario _repositorio; private readonly IPasswordHasher _generadorHashContrasena; - public PerfilUsuarioService( - IPerfilUsuarioRepository repositorio, + public ServicioPerfilUsuario( + IRepositorioPerfilUsuario repositorio, IPasswordHasher generadorHashContrasena) { _repositorio = repositorio ?? @@ -24,12 +24,12 @@ namespace SIG.Web.AppCode.Services.Security "generadorHashContrasena"); } - public DbResult ObtenerPerfil( + public DbResult ObtenerPerfil( UserSessionModel usuarioSesion) { if (usuarioSesion == null || usuarioSesion.CveUsuario <= 0) { - return Error( + return Error( "No se encontró la sesión del usuario."); } @@ -39,14 +39,14 @@ namespace SIG.Web.AppCode.Services.Security usuarioSesion.NombreDominio); } - public DbResult ActualizarSesion( + public DbResult ActualizarSesion( UserSessionModel usuarioSesion, string nombreUsuario, string contrasena) { if (usuarioSesion == null || usuarioSesion.CveUsuario <= 0) { - return Error( + return Error( "No se encontró la sesión del usuario."); } @@ -56,21 +56,21 @@ namespace SIG.Web.AppCode.Services.Security if (nombreUsuario.Length < 3) { - return Error( + return Error( "El nombre de usuario debe contener al menos tres caracteres."); } if (!string.IsNullOrEmpty(contrasena) && contrasena.Length < 8) { - return Error( + return Error( "La contraseña debe contener al menos ocho caracteres."); } string hashContrasena = string.IsNullOrEmpty(contrasena) ? null : _generadorHashContrasena.HashPassword(contrasena); - DbResult resultado; + DbResult resultado; using (var transaccion = new TransactionLogic()) { @@ -92,7 +92,7 @@ namespace SIG.Web.AppCode.Services.Security public DbResult ActualizarCliente( UserSessionModel usuarioSesion, - PerfilClienteModel cliente) + ModeloPerfilCliente cliente) { if (usuarioSesion == null || !usuarioSesion.EsDesarrollador || @@ -127,14 +127,14 @@ namespace SIG.Web.AppCode.Services.Security return resultado; } - public DbResult> + public DbResult> ListarUsuariosCambio( UserSessionModel usuarioSesion, string texto) { if (!PuedeCambiarUsuario(usuarioSesion)) { - return Error>( + return Error>( "La sesión no permite cambiar de usuario."); } @@ -160,7 +160,7 @@ namespace SIG.Web.AppCode.Services.Security "Seleccione un usuario válido."); } - DbResult resultadoUsuario = + DbResult resultadoUsuario = _repositorio.ObtenerUsuarioContexto( cveUsuarioSeleccionado, UsuarioAdministrador(usuarioSesion), @@ -178,7 +178,7 @@ namespace SIG.Web.AppCode.Services.Security resultadoUsuario.Exception); } - UsuarioCambioContextoModel usuario = resultadoUsuario.Data; + ModeloUsuarioCambioContexto usuario = resultadoUsuario.Data; return DbResult.Ok( new UserSessionModel diff --git a/SIG.Web/App_Code/Services/Tramites/TramiteCatalogBitacoraFactory.cs b/SIG.Web/App_Code/Services/Tramites/TramiteCatalogBitacoraFactory.cs index 9e91b68..346a3c9 100644 --- a/SIG.Web/App_Code/Services/Tramites/TramiteCatalogBitacoraFactory.cs +++ b/SIG.Web/App_Code/Services/Tramites/TramiteCatalogBitacoraFactory.cs @@ -201,12 +201,12 @@ namespace SIG.Web.AppCode.Services.Tramites } public static BitacoraEventoModel ProductoServicioPrecio( - ProductoServicioTramiteModel anterior, - ProductoServicioTramiteModel actual, + ModeloProductoServicioTramite anterior, + ModeloProductoServicioTramite actual, int id, BitacoraTipoMovimiento movimiento) { - ProductoServicioTramiteModel valor = actual ?? anterior; + ModeloProductoServicioTramite valor = actual ?? anterior; return Create( "ProductosServicios", "CvePS", diff --git a/SIG.Web/App_Code/Services/Tramites/TramiteCatalogService.cs b/SIG.Web/App_Code/Services/Tramites/TramiteCatalogService.cs index 8279726..3329565 100644 --- a/SIG.Web/App_Code/Services/Tramites/TramiteCatalogService.cs +++ b/SIG.Web/App_Code/Services/Tramites/TramiteCatalogService.cs @@ -357,7 +357,7 @@ namespace SIG.Web.AppCode.Services.Tramites BitacoraTipoMovimiento.Eliminado)); } - public DbResult> ListProductosServicios( + public DbResult> ListProductosServicios( string texto, bool incluirInactivos, int usuario, @@ -370,14 +370,14 @@ namespace SIG.Web.AppCode.Services.Tramites dominio); } - public DbResult GetProductoServicio( + public DbResult GetProductoServicio( int id, int usuario, string dominio) { return id > 0 ? _repository.GetProductoServicio(id, usuario, dominio) - : Fail("Seleccione un producto o servicio válido."); + : Fail("Seleccione un producto o servicio válido."); } public DbResult UpdateProductoServicioPrecio( diff --git a/SIG.Web/App_Code/Services/Ventas/VentaTramiteService.cs b/SIG.Web/App_Code/Services/Ventas/ServicioVentaTramite.cs similarity index 96% rename from SIG.Web/App_Code/Services/Ventas/VentaTramiteService.cs rename to SIG.Web/App_Code/Services/Ventas/ServicioVentaTramite.cs index e2f46b1..4c53ba3 100644 --- a/SIG.Web/App_Code/Services/Ventas/VentaTramiteService.cs +++ b/SIG.Web/App_Code/Services/Ventas/ServicioVentaTramite.cs @@ -12,11 +12,11 @@ namespace SIG.Web.AppCode.Services.Ventas public sealed class ServicioVentaTramite : IServicioVentaTramite { private readonly IRepositorioVentaTramite _repositorio; - private readonly ICfdiTimbradoService _servicioTimbrado; + private readonly IServicioTimbradoCfdi _servicioTimbrado; public ServicioVentaTramite( IRepositorioVentaTramite repositorio, - ICfdiTimbradoService servicioTimbrado) + IServicioTimbradoCfdi servicioTimbrado) { if (repositorio == null) { @@ -348,7 +348,7 @@ namespace SIG.Web.AppCode.Services.Ventas } ModeloDatosCfdiVentaTramite datos = datosResultado.Data; - CfdiSolicitudModel solicitud = CrearSolicitudCfdi( + ModeloSolicitudCfdi solicitud = CrearSolicitudCfdi( datos, timbrado.CveEmpresa); DbResult borradorResultado = @@ -362,7 +362,7 @@ namespace SIG.Web.AppCode.Services.Ventas return CopiarFallo(borradorResultado); } - DbResult timbradoResultado = + DbResult timbradoResultado = _servicioTimbrado.Timbrar( borradorResultado.Data, null, @@ -379,7 +379,7 @@ namespace SIG.Web.AppCode.Services.Ventas string.IsNullOrWhiteSpace(timbradoResultado.Data.Mensaje) ? "El PAC no confirmó el timbrado." : timbradoResultado.Data.Mensaje) - : CopiarFallo( + : CopiarFallo( timbradoResultado); } @@ -450,9 +450,9 @@ namespace SIG.Web.AppCode.Services.Ventas } ModeloContextoVentaTramite contexto = contextoResultado.Data; - DbResult resultado = + DbResult resultado = _servicioTimbrado.Cancelar( - new CfdiCancelacionSolicitudModel + new ModeloSolicitudCancelacionCfdi { CveCfdiDocumento = contexto.CveCfdiDocumento.Value, @@ -473,7 +473,7 @@ namespace SIG.Web.AppCode.Services.Ventas string.IsNullOrWhiteSpace(resultado.Data.Mensaje) ? "El PAC no confirmó la cancelación." : resultado.Data.Mensaje) - : CopiarFallo( + : CopiarFallo( resultado); } @@ -498,11 +498,11 @@ namespace SIG.Web.AppCode.Services.Ventas return DbResult.Ok(resultado.Data.Mensaje); } - private static CfdiSolicitudModel CrearSolicitudCfdi( + private static ModeloSolicitudCfdi CrearSolicitudCfdi( ModeloDatosCfdiVentaTramite datos, int cveEmpresa) { - var solicitud = new CfdiSolicitudModel + var solicitud = new ModeloSolicitudCfdi { CveCfdiDocumento = datos.CveCfdiDocumento ?? 0, CveEmpresa = cveEmpresa, @@ -523,7 +523,7 @@ namespace SIG.Web.AppCode.Services.Ventas foreach (ModeloConceptoCfdiVentaTramite origen in datos.Conceptos) { - var concepto = new CfdiConceptoModel + var concepto = new ModeloConceptoCfdi { ClaveProductoServicio = origen.ClaveProductoServicio, NumeroIdentificacion = origen.NumeroIdentificacion, @@ -539,7 +539,7 @@ namespace SIG.Web.AppCode.Services.Ventas if (origen.ObjetoImpuesto != "01") { concepto.Impuestos.Add( - new CfdiImpuestoConceptoModel + new ModeloImpuestoConceptoCfdi { EsRetencion = false, Base = origen.BaseIVA, diff --git a/SIG.Web/Pages/Catalogos/Clasificaciones.aspx b/SIG.Web/Pages/Catalogos/Clasificaciones.aspx index 62ff287..3ed6a65 100644 --- a/SIG.Web/Pages/Catalogos/Clasificaciones.aspx +++ b/SIG.Web/Pages/Catalogos/Clasificaciones.aspx @@ -5,36 +5,36 @@ CodeFile="Clasificaciones.aspx.cs" Inherits="SIG.Web.Pages.Catalogos.Clasificaciones" %> - + - - +
  • - + OnClick="BtnNuevo_Click"> Nueva clasificación
  • - +
    - - + @@ -162,7 +162,7 @@ - + @@ -235,7 +235,7 @@ OnAccionClick="UcBitacoraCatalogo_AccionClick" /> - + diff --git a/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.cs b/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.cs index ad03de5..f5595d4 100644 --- a/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.cs +++ b/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.cs @@ -57,218 +57,218 @@ namespace SIG.Web.Pages.Catalogos } } - protected void Page_Load(object sender, EventArgs e) + protected void Page_Load(object origenEvento, EventArgs argumentos) { if (IsPostBack) { return; } - BindGrid(); - BindBitacora(); - SyncFilters(); + CargarGrid(); + CargarBitacora(); + SincronizarFiltros(); } protected void UcFiltros_MostrarFiltros( - object sender, - EventArgs e) + object origenEvento, + EventArgs argumentos) { - ShowModal("ModalFilters"); + MostrarModal("ModalFilters"); } - protected void UcFiltros_Consultar(object sender, EventArgs e) + protected void UcFiltros_Consultar(object origenEvento, EventArgs argumentos) { - BindGrid(); - SyncFilters(); + CargarGrid(); + SincronizarFiltros(); } protected void UcFiltros_FiltrosChanged( - object sender, - EventArgs e) + object origenEvento, + EventArgs argumentos) { - List names = UcFiltros.GetFiltros() - .Select(item => item.Nombre) + List nombres = UcFiltros.GetFiltros() + .Select(elemento => elemento.Nombre) .ToList(); - if (!names.Contains("Texto")) + if (!nombres.Contains("Texto")) { - TxtSearch.Text = string.Empty; + TxtBusqueda.Text = string.Empty; } - if (!names.Contains("Inactivos")) + if (!nombres.Contains("Inactivos")) { - ChkInactive.Checked = false; + ChkInactivos.Checked = false; } - BindGrid(); - SyncFilters(); + CargarGrid(); + SincronizarFiltros(); } - protected void BtnApplyFilters_Click(object sender, EventArgs e) + protected void BtnAplicarFiltros_Click(object origenEvento, EventArgs argumentos) { - BindGrid(); - SyncFilters(); - UpCatalog.Update(); - HideModal("ModalFilters"); + CargarGrid(); + SincronizarFiltros(); + UpCatalogo.Update(); + OcultarModal("ModalFilters"); } - protected void BtnNew_Click(object sender, EventArgs e) + protected void BtnNuevo_Click(object origenEvento, EventArgs argumentos) { CveClasificacionActual = 0; - LitModalTitle.Text = "Nueva clasificación"; - TxtCode.Text = string.Empty; + LitTituloModal.Text = "Nueva clasificación"; + TxtCodigo.Text = string.Empty; TxtClassification.Text = string.Empty; ChkAffectable.Checked = true; - ChkActive.Checked = true; - UpEdit.Update(); - ShowModal("ModalEdit"); + ChkActivo.Checked = true; + UpEdicion.Update(); + MostrarModal("ModalEdit"); } protected void GvClasificaciones_RowDataBound( - object sender, - GridViewRowEventArgs e) + object origenEvento, + GridViewRowEventArgs argumentos) { - if (e.Row.RowType != DataControlRowType.DataRow) + if (argumentos.Row.RowType != DataControlRowType.DataRow) { return; } - ScriptManager scriptManager = ScriptManager.GetCurrent(Page); + ScriptManager administradorScripts = ScriptManager.GetCurrent(Page); - if (scriptManager == null) + if (administradorScripts == null) { return; } - RegisterAsyncControl(scriptManager, e.Row, "BtnViewAudit"); - RegisterAsyncControl(scriptManager, e.Row, "BtnEdit"); - RegisterAsyncControl(scriptManager, e.Row, "BtnDelete"); + RegistrarControlAsincrono(administradorScripts, argumentos.Row, "BtnVerBitacora"); + RegistrarControlAsincrono(administradorScripts, argumentos.Row, "BtnEditar"); + RegistrarControlAsincrono(administradorScripts, argumentos.Row, "BtnEliminar"); } protected void GvClasificaciones_RowCommand( - object sender, - GridViewCommandEventArgs e) + object origenEvento, + GridViewCommandEventArgs argumentos) { int cveClasificacion; if (!int.TryParse( - Convert.ToString(e.CommandArgument), + Convert.ToString(argumentos.CommandArgument), out cveClasificacion)) { return; } - if (e.CommandName == "Editar") + if (argumentos.CommandName == "Editar") { - LoadEdit(cveClasificacion); + CargarEdicion(cveClasificacion); } - else if (e.CommandName == "VerBitacora") + else if (argumentos.CommandName == "VerBitacora") { - SelectBitacora(cveClasificacion); + SeleccionarBitacora(cveClasificacion); } - else if (e.CommandName == "Eliminar") + else if (argumentos.CommandName == "Eliminar") { - Delete(cveClasificacion); + Eliminar(cveClasificacion); } } - protected void BtnSave_Click(object sender, EventArgs e) + protected void BtnGuardar_Click(object origenEvento, EventArgs argumentos) { - var clasificacion = new ClasificacionModel + var clasificacion = new ModeloClasificacion { CveClasificacion = CveClasificacionActual, - Codigo = TxtCode.Text, + Codigo = TxtCodigo.Text, Clasificacion = TxtClassification.Text, Afectable = ChkAffectable.Checked, - EsActivo = ChkActive.Checked + EsActivo = ChkActivo.Checked }; - DbResult result = - AppServices.ProductoCatalogService.SaveClasificacion( + DbResult resultado = + AppServices.ServicioCatalogoProducto.GuardarClasificacion( clasificacion, CurrentUser.CveUsuario, CurrentUser.NombreDominio); - if (!result.Success) + if (!resultado.Success) { - Alert(result.UserMessage, TipoMensaje.MsgAdvertencia); - ShowModal("ModalEdit"); + Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia); + MostrarModal("ModalEdit"); return; } - BindGrid(); - SyncFilters(); - BindBitacora(); - UpCatalog.Update(); - HideModal("ModalEdit"); + CargarGrid(); + SincronizarFiltros(); + CargarBitacora(); + UpCatalogo.Update(); + OcultarModal("ModalEdit"); Alert( "Clasificación guardada correctamente.", TipoMensaje.ToastExito); } protected void UcBitacoraCatalogo_AccionClick( - object sender, - EventArgs e) + object origenEvento, + EventArgs argumentos) { CveClasificacionBitacoraActual = 0; NombreClasificacionBitacoraActual = string.Empty; - BindBitacora(); + CargarBitacora(); } - private void LoadEdit(int cveClasificacion) + private void CargarEdicion(int cveClasificacion) { - DbResult result = - AppServices.ProductoCatalogService.GetClasificacion( + DbResult resultado = + AppServices.ServicioCatalogoProducto.ObtenerClasificacion( cveClasificacion, CurrentUser.CveUsuario, CurrentUser.NombreDominio); - if (!result.Success || result.Data == null) + if (!resultado.Success || resultado.Data == null) { - Alert(result.UserMessage, TipoMensaje.MsgAdvertencia); + Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia); return; } - CveClasificacionActual = result.Data.CveClasificacion; - LitModalTitle.Text = "Editar clasificación"; - TxtCode.Text = result.Data.Codigo; - TxtClassification.Text = result.Data.Clasificacion; - ChkAffectable.Checked = result.Data.Afectable; - ChkActive.Checked = result.Data.EsActivo; - UpEdit.Update(); - ShowModal("ModalEdit"); + CveClasificacionActual = resultado.Data.CveClasificacion; + LitTituloModal.Text = "Editar clasificación"; + TxtCodigo.Text = resultado.Data.Codigo; + TxtClassification.Text = resultado.Data.Clasificacion; + ChkAffectable.Checked = resultado.Data.Afectable; + ChkActivo.Checked = resultado.Data.EsActivo; + UpEdicion.Update(); + MostrarModal("ModalEdit"); } - private void SelectBitacora(int cveClasificacion) + private void SeleccionarBitacora(int cveClasificacion) { - DbResult result = - AppServices.ProductoCatalogService.GetClasificacion( + DbResult resultado = + AppServices.ServicioCatalogoProducto.ObtenerClasificacion( cveClasificacion, CurrentUser.CveUsuario, CurrentUser.NombreDominio); - if (!result.Success || result.Data == null) + if (!resultado.Success || resultado.Data == null) { - Alert(result.UserMessage, TipoMensaje.MsgAdvertencia); + Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia); return; } CveClasificacionBitacoraActual = cveClasificacion; - NombreClasificacionBitacoraActual = result.Data.Clasificacion; - BindBitacora(); + NombreClasificacionBitacoraActual = resultado.Data.Clasificacion; + CargarBitacora(); } - private void Delete(int cveClasificacion) + private void Eliminar(int cveClasificacion) { - DbResult result = - AppServices.ProductoCatalogService.DeleteClasificacion( + DbResult resultado = + AppServices.ServicioCatalogoProducto.EliminarClasificacion( cveClasificacion, CurrentUser.CveUsuario, CurrentUser.NombreDominio); - if (!result.Success) + if (!resultado.Success) { - Alert(result.UserMessage, TipoMensaje.MsgAdvertencia); + Alert(resultado.UserMessage, TipoMensaje.MsgAdvertencia); return; } @@ -278,43 +278,43 @@ namespace SIG.Web.Pages.Catalogos NombreClasificacionBitacoraActual = string.Empty; } - BindGrid(); - SyncFilters(); - BindBitacora(); - UpCatalog.Update(); + CargarGrid(); + SincronizarFiltros(); + CargarBitacora(); + UpCatalogo.Update(); Alert( "Clasificación eliminada correctamente.", TipoMensaje.ToastExito); } - private void BindGrid() + private void CargarGrid() { - DbResult> result = - AppServices.ProductoCatalogService.ListClasificaciones( - TxtSearch.Text, - ChkInactive.Checked, + DbResult> resultado = + AppServices.ServicioCatalogoProducto.ListarClasificaciones( + TxtBusqueda.Text, + ChkInactivos.Checked, CurrentUser.CveUsuario, CurrentUser.NombreDominio); - if (!result.Success) + if (!resultado.Success) { - Alert(result.UserMessage, TipoMensaje.MsgError); + Alert(resultado.UserMessage, TipoMensaje.MsgError); return; } GvClasificaciones.DataSource = - result.Data ?? new List(); + resultado.Data ?? new List(); GvClasificaciones.DataBind(); } - private void BindBitacora() + private void CargarBitacora() { - bool hasClassification = CveClasificacionBitacoraActual > 0; + bool tieneClasificacion = CveClasificacionBitacoraActual > 0; - UcBitacoraCatalogo.Descripcion = hasClassification + UcBitacoraCatalogo.Descripcion = tieneClasificacion ? "Historial de " + NombreClasificacionBitacoraActual : "Historial de clasificaciones"; - UcBitacoraCatalogo.AccionVisible = hasClassification; + UcBitacoraCatalogo.AccionVisible = tieneClasificacion; UcBitacoraCatalogo.ConfigurarConsulta( new List { @@ -322,11 +322,11 @@ namespace SIG.Web.Pages.Catalogos { NombreTablaSQL = "Clasificaciones", NombreCampoSQL = "CveClasificacion", - Valor = hasClassification + Valor = tieneClasificacion ? CveClasificacionBitacoraActual.ToString( CultureInfo.InvariantCulture) : string.Empty, - SoloExistencia = !hasClassification + SoloExistencia = !tieneClasificacion } }, new List @@ -341,25 +341,25 @@ namespace SIG.Web.Pages.Catalogos UcBitacoraCatalogo.Consultar(true); } - private void SyncFilters() + private void SincronizarFiltros() { - var filters = new List(); + var filtros = new List(); - if (!string.IsNullOrWhiteSpace(TxtSearch.Text)) + if (!string.IsNullOrWhiteSpace(TxtBusqueda.Text)) { - filters.Add( + filtros.Add( new FiltroActivo { Nombre = "Texto", Titulo = "Búsqueda", - Descripcion = TxtSearch.Text.Trim(), + Descripcion = TxtBusqueda.Text.Trim(), Orden = 1 }); } - if (ChkInactive.Checked) + if (ChkInactivos.Checked) { - filters.Add( + filtros.Add( new FiltroActivo { Nombre = "Inactivos", @@ -369,34 +369,34 @@ namespace SIG.Web.Pages.Catalogos }); } - UcFiltros.SetFiltros(filters); + UcFiltros.SetFiltros(filtros); } - private static void RegisterAsyncControl( - ScriptManager scriptManager, - GridViewRow row, - string controlId) + private static void RegistrarControlAsincrono( + ScriptManager administradorScripts, + GridViewRow fila, + string identificadorControl) { - Control control = row.FindControl(controlId); + Control control = fila.FindControl(identificadorControl); if (control != null) { - scriptManager.RegisterAsyncPostBackControl(control); + administradorScripts.RegisterAsyncPostBackControl(control); } } - private void ShowModal(string id) + private void MostrarModal(string identificador) { RegistraScript( - "window.SIGTramiteCatalog.show('" + id + "');", - "Show_" + id); + "window.SIGTramiteCatalog.show('" + identificador + "');", + "Mostrar_" + identificador); } - private void HideModal(string id) + private void OcultarModal(string identificador) { RegistraScript( - "window.SIGTramiteCatalog.hide('" + id + "');", - "Hide_" + id); + "window.SIGTramiteCatalog.hide('" + identificador + "');", + "Ocultar_" + identificador); } } } diff --git a/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.designer.cs b/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.designer.cs index d4e3305..bdc9433 100644 --- a/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.designer.cs +++ b/SIG.Web/Pages/Catalogos/Clasificaciones.aspx.designer.cs @@ -2,22 +2,22 @@ namespace SIG.Web.Pages.Catalogos { public partial class Clasificaciones { - protected global::System.Web.UI.UpdatePanel UpActions; - protected global::System.Web.UI.WebControls.LinkButton BtnNew; - protected global::System.Web.UI.UpdatePanel UpCatalog; + protected global::System.Web.UI.UpdatePanel UpAcciones; + protected global::System.Web.UI.WebControls.LinkButton BtnNuevo; + protected global::System.Web.UI.UpdatePanel UpCatalogo; protected global::SIG.Web.AppCode.SigControls.Filtros UcFiltros; protected global::System.Web.UI.WebControls.GridView GvClasificaciones; - protected global::System.Web.UI.UpdatePanel UpFilters; - protected global::System.Web.UI.WebControls.TextBox TxtSearch; - protected global::System.Web.UI.WebControls.CheckBox ChkInactive; - protected global::System.Web.UI.WebControls.Button BtnApplyFilters; - protected global::System.Web.UI.UpdatePanel UpEdit; - protected global::System.Web.UI.WebControls.Literal LitModalTitle; - protected global::System.Web.UI.WebControls.TextBox TxtCode; + protected global::System.Web.UI.UpdatePanel UpFiltros; + protected global::System.Web.UI.WebControls.TextBox TxtBusqueda; + protected global::System.Web.UI.WebControls.CheckBox ChkInactivos; + protected global::System.Web.UI.WebControls.Button BtnAplicarFiltros; + protected global::System.Web.UI.UpdatePanel UpEdicion; + protected global::System.Web.UI.WebControls.Literal LitTituloModal; + protected global::System.Web.UI.WebControls.TextBox TxtCodigo; protected global::System.Web.UI.WebControls.TextBox TxtClassification; protected global::System.Web.UI.WebControls.CheckBox ChkAffectable; - protected global::System.Web.UI.WebControls.CheckBox ChkActive; - protected global::System.Web.UI.WebControls.Button BtnSave; + protected global::System.Web.UI.WebControls.CheckBox ChkActivo; + protected global::System.Web.UI.WebControls.Button BtnGuardar; protected global::SIG.Web.AppCode.SigControls.BitacoraGrid UcBitacoraCatalogo; } diff --git a/SIG.Web/Pages/Catalogos/ProductosServicios.aspx b/SIG.Web/Pages/Catalogos/ProductosServicios.aspx index 5b2d959..182de73 100644 --- a/SIG.Web/Pages/Catalogos/ProductosServicios.aspx +++ b/SIG.Web/Pages/Catalogos/ProductosServicios.aspx @@ -5,36 +5,36 @@ CodeFile="ProductosServicios.aspx.cs" Inherits="SIG.Web.Pages.Catalogos.ProductosServicios" %> - + - - +
  • - + OnClick="BtnNuevo_Click"> Nuevo producto o servicio
  • - +
    - - + @@ -168,7 +168,7 @@