/// <summary> /// Ejecuta la llamada al método que actualiza el contrato en la base de datos /// </summary> private void Editar() { #region Se inicia la Transaccion dctx.SetCurrentProvider("Outsourcing"); Guid firma = Guid.NewGuid(); try { dctx.OpenConnection(firma); dctx.BeginTransaction(firma); } catch (Exception) { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al insertar el Contrato."); } #endregion try { //Se obtiene la información del contrato a partir de la vista var bo = (ContratoManttoBO)this.InterfazUsuarioADato(); //Se crea el objeto de seguridad UsuarioBO usuario = new UsuarioBO() { Id = this.vista.UsuarioID }; AdscripcionBO adscripcion = new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion); //Se actualiza en la base de datos this.controlador.ActualizarCompleto(dctx, bo, (ContratoManttoBO)this.vista.UltimoObjeto, seguridadBO); #region SC0001 BEP1401 - Registra los pagos del Contrato if (bo.Estatus == EEstatusContrato.EnCurso) { GeneradorPagosManttoBR generadorPagos = new GeneradorPagosManttoBR(); generadorPagos.GenerarPagos(dctx, bo, seguridadBO, true); } dctx.CommitTransaction(firma); #endregion }catch (Exception ex) { dctx.RollbackTransaction(firma); throw new Exception(string.Format("{0}.Editar:{1}{2}", nombreClase, Environment.NewLine, ex.Message)); } finally { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } } }
/// <summary> /// Registra un Contrato RD /// </summary> private void Registrar() { #region Se inicia la Transaccion dctx.SetCurrentProvider("Outsourcing"); Guid firma = Guid.NewGuid(); try { dctx.OpenConnection(firma); dctx.BeginTransaction(firma); } catch (Exception) { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } throw new Exception("Se encontraron inconsistencias al insertar el Contrato."); } #endregion try { //Se obtiene la información a partir de la Interfaz de Usuario ContratoManttoBO bo = (ContratoManttoBO)this.InterfazUsuarioADato(); //Se crea el objeto de seguridad UsuarioBO usuario = new UsuarioBO() { Id = this.vista.UsuarioID }; AdscripcionBO adscripcion = new AdscripcionBO() { UnidadOperativa = new UnidadOperativaBO() { Id = this.vista.UnidadOperativaID } }; SeguridadBO seguridadBO = new SeguridadBO(Guid.Empty, usuario, adscripcion); //Se inserta en la base de datos this.controlador.InsertarCompleto(this.dctx, bo, seguridadBO); //Se consulta lo insertado para recuperar los ID DataSet ds = this.controlador.ConsultarSet(this.dctx, bo); if (ds.Tables[0].Rows.Count <= 0) { throw new Exception("Al consultar lo insertado no se encontraron coincidencias."); } if (ds.Tables[0].Rows.Count > 1) { throw new Exception("Al consultar lo insertado se encontró más de una coincidencia."); } bo.ContratoID = this.controlador.DataRowToContratoManttoBO(ds.Tables[0].Rows[0]).ContratoID; #region SC0001 BEP1401 - Registra los pagos del Contrato if (bo.Estatus == EEstatusContrato.EnCurso) { GeneradorPagosManttoBR generadorPagos = new GeneradorPagosManttoBR(); generadorPagos.GenerarPagos(dctx, bo, seguridadBO, true); } #endregion //Se despliega la información en la Interfaz de Usuario this.DatoAInterfazUsuario(bo); dctx.CommitTransaction(firma); } catch (Exception ex) { dctx.RollbackTransaction(firma); throw new Exception(this.nombreClase + ".Registrar:" + ex.Message); } finally { if (dctx.ConnectionState == ConnectionState.Open) { dctx.CloseConnection(firma); } } }