/// <summary> /// Cambia el contrato de Sucursal /// </summary> public void CambiarSucursal() { try { string s = this.ValidarCampos(); if (!String.IsNullOrEmpty(s)) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA); return; } ContratoBO contrato = (ContratoBO)InterfazUsuarioDato(); if (contrato == null) { throw new Exception("No se pudo obtener el contrato que sera cambiado de sucursal desde la interfaz"); } SeguridadBO seguridadBo = this.CrearObjetoSeguridad(); #region Conexion a BD Guid firma = Guid.NewGuid(); try { this.dataContext.OpenConnection(firma); this.dataContext.BeginTransaction(firma); } catch (Exception) { if (this.dataContext.ConnectionState == ConnectionState.Open) { this.dataContext.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al Cambiar la Sucursal del Contrato."); } #endregion try { bool cambioExitoso = false; switch (this.vista.TipoContrato) { case ETipoContrato.RD: this.controlador = new ContratoRDBR(); cambioExitoso = ((ContratoRDBR)controlador).CambiarSucursalContrato(this.dataContext, (ContratoRDBO)contrato, (ContratoRDBO)this.vista.ObjetoAnterior, this.vista.Observaciones, seguridadBo); break; case ETipoContrato.FSL: this.controlador = new ContratoFSLBR(); cambioExitoso = ((ContratoFSLBR)controlador).CambiarSucursalContrato(this.dataContext, (ContratoFSLBO)contrato, (ContratoFSLBO)this.vista.ObjetoAnterior, this.vista.Observaciones, seguridadBo); break; case ETipoContrato.CM: case ETipoContrato.SD: this.controlador = new ContratoManttoBR(); cambioExitoso = ((ContratoManttoBR)controlador).CambiarSucursalContrato(this.dataContext, (ContratoManttoBO)contrato, (ContratoManttoBO)this.vista.ObjetoAnterior, this.vista.Observaciones, seguridadBo); break; } if (!cambioExitoso) { throw new Exception("Ocurrio un problema al cambiar El contrato y las Unidades de Sucursal"); } ModificarPagosBR modificarPagosBr = new ModificarPagosBR(); cambioExitoso = modificarPagosBr.CambiarPagosSucursal(this.dataContext, contrato, seguridadBo); if (!cambioExitoso) { throw new Exception("Ocurrio un problema al cambiar Los Pagos de Sucursal"); } this.dataContext.CommitTransaction(firma); this.vista.PermitirGuardar(false); this.vista.MostrarMensaje("El Contrato cambio de Sucursal con Éxito", ETipoMensajeIU.EXITO); } catch (Exception ex) { this.dataContext.RollbackTransaction(firma); throw; } finally { if (this.dataContext.ConnectionState == ConnectionState.Open) { this.dataContext.CloseConnection(firma); } } } catch (Exception ex) { throw new Exception(nombreClase + ".CambiarSucursal: " + ex.Message, ex.InnerException); } }
/// <summary> /// Cambia la Frecuencia de Facturacion de un contrato de RD /// </summary> public void CambiarFrecuencia() { try { var s = this.ValidarCampos(); if (!String.IsNullOrEmpty(s)) { this.vista.MostrarMensaje(s, ETipoMensajeIU.ADVERTENCIA); return; } var contratoRd = (ContratoRDBO)this.InterfazUsuarioDato(); contratoRd.FUA = DateTime.Now; contratoRd.UUA = this.vista.UsuarioId; SeguridadBO seguridadBo = this.CrearObjetoSeguridad(); #region Conexion a BD Guid firma = Guid.NewGuid(); try { this.dataContext.OpenConnection(firma); this.dataContext.BeginTransaction(firma); } catch (Exception) { if (this.dataContext.ConnectionState == ConnectionState.Open) { this.dataContext.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al Cambiar la Frecuencia del Contrato."); } #endregion try { controladorContrato.Actualizar(this.dataContext, contratoRd, this.vista.ContratoAntiguo, seguridadBo); ModificarPagosBR modificarPagosBr = new ModificarPagosBR(); modificarPagosBr.CambiarFrecuenciaPagos(this.dataContext, contratoRd, this.vista.CantidadPagosFaltantes != 0, this.vista.CantidadPagosFaltantes, seguridadBo); this.dataContext.CommitTransaction(firma); this.vista.PermitirCancelar(false); this.vista.PermitirGuardar(false); this.vista.PermitirFrecuencia(false); this.vista.MostrarMensaje("La Frecuencia de Facturación del contrato se cambió con ÉXITO", ETipoMensajeIU.EXITO); } catch (Exception ex) { this.dataContext.RollbackTransaction(firma); throw; } finally { if (this.dataContext.ConnectionState == ConnectionState.Open) { this.dataContext.CloseConnection(firma); } } } catch (Exception ex) { throw new Exception(nombreClase + ".CambiarFrecuencia(): " + ex.Message, ex.InnerException); } }