Пример #1
0
        private string InformacionDelRegistro(CierreDePeriodoEN oRegistroEN)
        {
            string Cadena = @"idCierreDePeriodo: {0}, idPeriodo: {1}, idUsuarioDeCierre: {2}, FechaDeCierre: {3}, Descripcion: {4}, IdUsuarioDeCreacion: {5}, FechaDeCreacion: {6}, IdUsuarioDeModificacion: {7}, FechaDeModificacion: {8}";

            Cadena = string.Format(Cadena, oRegistroEN.idCierreDePeriodo, oRegistroEN.oPeriodoEN.idPeriodo, oRegistroEN.oUsuarioDeCierre.idUsuario, oRegistroEN.FechaDeCierre, oRegistroEN.Descripcion, oRegistroEN.IdUsuarioDeCreacion, oRegistroEN.FechaDeCreacion, oRegistroEN.IdUsuarioDeModificacion, oRegistroEN.FechaDeModificacion);
            Cadena = Cadena.Replace(",", Environment.NewLine);
            return(Cadena);
        }
        private void AplicarCierreDelPeriodo()
        {
            try
            {
                if (LosDatosIngresadosSonCorrectos())
                {
                    LimpiarEP();
                    if (string.IsNullOrEmpty(txtDescripcion.Text) || txtDescripcion.Text.Trim().Length == 0)
                    {
                        EP.SetError(txtDescripcion, "El valor del campo no puede quedar vacío");
                        txtDescripcion.Focus();
                        return;
                    }

                    if (EvaluarSiHayRegistrosEnLaTablaTMP())
                    {
                        return;
                    }

                    //realiaremos un backup dela base de datos...
                    if (RespaldarBaseDeDatos())
                    {
                        this.Cursor = Cursors.WaitCursor;

                        CierreDePeriodoEN oRegistroEN = InformacionSobreELCierreDePeriodo();
                        CierreDePeriodoLN oRegistroLN = new CierreDePeriodoLN();

                        System.Threading.Thread.Sleep(10000);

                        timer1.Interval = 5000;
                        timer1.Start();

                        if (oRegistroLN.AgregarUtilizandoLaMismaConexion(oRegistroEN, Program.oDatosDeConexion))
                        {
                            EvaluarErrorParaMensajeAPantalla(oRegistroLN.Error, "CERRAR");

                            if (CerrarVentana == true)
                            {
                                this.Close();
                            }
                        }
                        else
                        {
                            throw new ArgumentException(oRegistroLN.Error);
                        }
                    }
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message, "Aplicar cierre de periodo", MessageBoxButtons.OK, MessageBoxIcon.Warning);
            }
            finally
            {
                this.Cursor = Cursors.Default;
            }
        }
Пример #3
0
        public bool Eliminar(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos)
        {
            oTransaccionesAD = new TransaccionesAD();

            try
            {
                Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
                Cnn.Open();

                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn;
                Comando.CommandType = CommandType.Text;

                Consultas           = @"Delete from CierreDePeriodo where idCierreDePeriodo = @idCierreDePeriodo;";
                Comando.CommandText = Consultas;

                Comando.Parameters.Add(new MySqlParameter("@idCierreDePeriodo", MySqlDbType.Int32)).Value = oRegistroEN.idCierreDePeriodo;

                Comando.ExecuteNonQuery();

                DescripcionDeOperacion = string.Format("El registro fue Eliminado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN));

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Eliminar", "Elminar Registro", "CORRECTO");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(true);
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al eliminar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Eliminar", "Eliminar Registro", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally
            {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn              = null;
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
            }
        }
 public bool Listado(CierreDePeriodoEN oREgistroEN, DatosDeConexionEN oDatos)
 {
     if (oCierreDePeriodoAD.Listado(oREgistroEN, oDatos))
     {
         Error = string.Empty;
         return(true);
     }
     else
     {
         Error = oCierreDePeriodoAD.Error;
         return(false);
     }
 }
 public bool AgregarUtilizandoLaMismaConexion(CierreDePeriodoEN oREgistroEN, DatosDeConexionEN oDatos)
 {
     if (oCierreDePeriodoAD.AgregarUtilizandoLaMismaConexion(oREgistroEN, oDatos))
     {
         Error = string.Empty;
         return(true);
     }
     else
     {
         Error = oCierreDePeriodoAD.Error;
         return(false);
     }
 }
 public bool ValidarSiElRegistroEstaVinculado(CierreDePeriodoEN oREgistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion)
 {
     if (oCierreDePeriodoAD.ValidarSiElRegistroEstaVinculado(oREgistroEN, oDatos, TipoDeOperacion))
     {
         Error = oCierreDePeriodoAD.Error;
         return(true);
     }
     else
     {
         Error = string.Empty;
         return(false);
     }
 }
Пример #7
0
        public bool AplicarSaldoAlCierre(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos, ref MySqlConnection Cnn_Existente, ref MySqlTransaction Transaccion_Existente)
        {
            oTransaccionesAD = new TransaccionesAD();

            try
            {
                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn_Existente;
                Comando.Transaction = Transaccion_Existente;

                Comando.CommandType = CommandType.StoredProcedure;
                Comando.CommandText = "AplicarCierreDelPeriodo";

                Comando.Parameters.Add(new MySqlParameter("@idCierreDePeriodo_", MySqlDbType.Int32)).Value       = oRegistroEN.idCierreDePeriodo;
                Comando.Parameters.Add(new MySqlParameter("@IdUsuarioDeModificacion_", MySqlDbType.Int32)).Value = oRegistroEN.IdUsuarioDeModificacion;

                Adaptador = new MySqlDataAdapter();
                DT        = new DataTable();

                Adaptador.SelectCommand = Comando;
                Adaptador.Fill(DT);

                oRegistroEN.idCierreDePeriodo = Convert.ToInt32(DT.Rows[0].ItemArray[0].ToString());

                DescripcionDeOperacion = string.Format("El registro fue Insertado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN));

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Cierre de Saldos", "Calcular Saldos al cierre", "CORRECTO");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(true);
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al insertar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Cierre de Saldos", "Calcular Saldos al cierre", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally
            {
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
            }
        }
Пример #8
0
        public bool ListadoParaReportes(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos)
        {
            try
            {
                Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
                Cnn.Open();

                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn;
                Comando.CommandType = CommandType.Text;

                Consultas           = string.Format(@"Select 
                 cp.idCierreDePeriodo, cp.idPeriodo, cp.idUsuarioDeCierre, u.Nombre as 'UsuarioDelCierre', r.Nombre as 'Rol', cp.FechaDeCierre, cp.Descripcion,
                 cp.IdUsuarioDeCreacion, cp.FechaDeCreacion, cp.IdUsuarioDeModificacion, cp.FechaDeModificacion
                 from cierredeperiodo as cp
                inner join periodo as p on p.idPeriodo = cp.idPeriodo
                inner join usuario as u on u.idUsuario = cp.idUsuarioDeCierre
                inner join rol as r on r.idRol = u.idRol
                Where cp.idCierreDePeriodo > 0 {0} {1} ", oRegistroEN.Where, oRegistroEN.OrderBy);
                Comando.CommandText = Consultas;

                Adaptador = new MySqlDataAdapter();
                DT        = new DataTable();

                Adaptador.SelectCommand = Comando;
                Adaptador.Fill(DT);

                return(true);
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                return(false);
            }
            finally
            {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn       = null;
                Comando   = null;
                Adaptador = null;
            }
        }
        public bool Eliminar(CierreDePeriodoEN oREgistroEN, DatosDeConexionEN oDatos)
        {
            if (string.IsNullOrEmpty(oREgistroEN.idCierreDePeriodo.ToString()) || oREgistroEN.idCierreDePeriodo == 0)
            {
                this.Error = @"Se debe de seleccionar un elemento de la lista";
                return(false);
            }

            if (oCierreDePeriodoAD.Eliminar(oREgistroEN, oDatos))
            {
                Error = string.Empty;
                return(true);
            }
            else
            {
                Error = oCierreDePeriodoAD.Error;
                return(false);
            }
        }
Пример #10
0
        private TransaccionesEN InformacionDelaTransaccion(CierreDePeriodoEN oCierreDePeriodo, String TipoDeOperacion, String Descripcion, String Estado)
        {
            TransaccionesEN oRegistroEN = new TransaccionesEN();

            oRegistroEN.idregistro      = oCierreDePeriodo.idCierreDePeriodo;
            oRegistroEN.Modelo          = "TransaccionAD";
            oRegistroEN.Modulo          = "Transacciones";
            oRegistroEN.Tabla           = "CierreDePeriodoes";
            oRegistroEN.tipodeoperacion = TipoDeOperacion;
            oRegistroEN.Estado          = Estado;
            oRegistroEN.ip                    = oCierreDePeriodo.oLoginEN.NumeroIP;
            oRegistroEN.idusuario             = oCierreDePeriodo.oLoginEN.idUsuario;
            oRegistroEN.idusuarioaprueba      = oCierreDePeriodo.oLoginEN.idUsuario;
            oRegistroEN.descripciondelusuario = DescripcionDeOperacion;
            oRegistroEN.descripcioninterna    = Descripcion;
            oRegistroEN.NombreDelEquipo       = oCierreDePeriodo.oLoginEN.NombreDelComputador;

            return(oRegistroEN);
        }
        private CierreDePeriodoEN InformacionSobreELCierreDePeriodo()
        {
            CierreDePeriodoEN oRegistroEN = new CierreDePeriodoEN();

            oRegistroEN.Descripcion   = txtDescripcion.Text.Trim();
            oRegistroEN.FechaDeCierre = dtpFechaDeCierre.Value;
            oRegistroEN.oPeriodoEN    = InformacionDelRegistro();
            oRegistroEN.oUsuarioDeCierre.idUsuario = Program.oLoginEN.idUsuario;
            oRegistroEN.oUsuarioDeCierre.Nombre    = Program.oLoginEN.Usuario;

            //partes generales.
            oRegistroEN.oLoginEN                = Program.oLoginEN;
            oRegistroEN.IdUsuarioDeCreacion     = Program.oLoginEN.idUsuario;
            oRegistroEN.IdUsuarioDeModificacion = Program.oLoginEN.idUsuario;
            oRegistroEN.FechaDeCreacion         = System.DateTime.Now;
            oRegistroEN.FechaDeModificacion     = System.DateTime.Now;

            if (Controles.IsNullOEmptyElControl(txtIdTasaDeCambio))
            {
                oRegistroEN.oTasaDeCambioEN.idTasaDeCambio = 0;
            }
            else
            {
                oRegistroEN.oTasaDeCambioEN.idTasaDeCambio = Convert.ToInt32(txtIdTasaDeCambio.Text);
            }

            oRegistroEN.oTasaDeCambioEN.Cambio = Convert.ToDecimal(txtCambioOficial.Text);
            oRegistroEN.oTasaDeCambioEN.Fecha  = dtpkFechaDeLaTasaDeCambio.Value;
            oRegistroEN.oLoginEN                = Program.oLoginEN;
            oRegistroEN.IdUsuarioDeCreacion     = Program.oLoginEN.idUsuario;
            oRegistroEN.IdUsuarioDeModificacion = Program.oLoginEN.idUsuario;
            oRegistroEN.FechaDeCreacion         = System.DateTime.Now;
            oRegistroEN.FechaDeModificacion     = System.DateTime.Now;

            return(oRegistroEN);
        }
Пример #12
0
        public bool ValidarRegistroDuplicado(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion)
        {
            oTransaccionesAD = new TransaccionesAD();

            try
            {
                Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
                Cnn.Open();

                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn;
                Comando.CommandType = CommandType.Text;

                switch (TipoDeOperacion.Trim().ToUpper())
                {
                case "AGREGAR":

                    Consultas = @"SELECT CASE WHEN EXISTS(Select idCierreDePeriodo from cierredeperiodo where idPeriodo = @idPeriodo and idUsuarioDeCierre = @idUsuarioDeCierre) THEN 1 ELSE 0 END AS 'RES'";
                    Comando.Parameters.Add(new MySqlParameter("@idCierreDePeriodo", MySqlDbType.Int32)).Value = oRegistroEN.oUsuarioDeCierre.idUsuario;
                    Comando.Parameters.Add(new MySqlParameter("@idPeriodo", MySqlDbType.Int32)).Value         = oRegistroEN.oPeriodoEN.idPeriodo;

                    break;

                case "ACTUALIZAR":

                    Consultas = @"SELECT CASE WHEN EXISTS(Select idCierreDePeriodo from cierredeperiodo where idPeriodo = @idPeriodo and idUsuarioDeCierre = @idUsuarioDeCierre and idCierreDePeriodo <> @idCierreDePeriodo) THEN 1 ELSE 0 END AS 'RES'";
                    Comando.Parameters.Add(new MySqlParameter("@idCierreDePeriodo", MySqlDbType.Int32)).Value = oRegistroEN.oUsuarioDeCierre.idUsuario;
                    Comando.Parameters.Add(new MySqlParameter("@idPeriodo", MySqlDbType.Int32)).Value         = oRegistroEN.oPeriodoEN.idPeriodo;
                    Comando.Parameters.Add(new MySqlParameter("@idCierreDePeriodo", MySqlDbType.Int32)).Value = oRegistroEN.idCierreDePeriodo;

                    break;

                default:
                    throw new ArgumentException("La aperación solicitada no esta disponible");
                }

                Comando.CommandText = Consultas;

                Adaptador = new MySqlDataAdapter();
                DT        = new DataTable();

                Adaptador.SelectCommand = Comando;
                Adaptador.Fill(DT);

                if (Convert.ToInt32(DT.Rows[0]["RES"].ToString()) > 0)
                {
                    DescripcionDeOperacion = string.Format("Ya existe información del Registro dentro de nuestro sistema: {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN));
                    this.Error             = DescripcionDeOperacion;
                    return(true);
                }

                return(false);
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al validar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "REGISTRO DUPLICADO DENTRO DE LA BASE DE DATOS", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally
            {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn              = null;
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
            }
        }
Пример #13
0
        public bool ValidarSiElRegistroEstaVinculado(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos, string TipoDeOperacion)
        {
            oTransaccionesAD = new TransaccionesAD();

            try
            {
                Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
                Cnn.Open();

                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn;
                Comando.CommandType = CommandType.StoredProcedure;
                Comando.CommandText = "ValidarSiElRegistroEstaVinculado";

                Comando.Parameters.Add(new MySqlParameter("@CampoABuscar_", MySqlDbType.VarChar, 200)).Value = "idCierreDePeriodo";
                Comando.Parameters.Add(new MySqlParameter("@ValorCampoABuscar", MySqlDbType.Int32)).Value    = oRegistroEN.idCierreDePeriodo;
                Comando.Parameters.Add(new MySqlParameter("@ExcluirTabla_", MySqlDbType.VarChar, 200)).Value = string.Empty;

                Adaptador = new MySqlDataAdapter();
                DT        = new DataTable();

                Adaptador.SelectCommand = Comando;
                Adaptador.Fill(DT);

                if (DT.Rows[0].ItemArray[0].ToString().ToUpper() == "NINGUNA".ToUpper())
                {
                    return(false);
                }
                else
                {
                    this.Error             = String.Format("La Operación: '{1}', {0} no se puede completar por que el registro: {0} '{2}', {0} se encuentra asociado con: {0} {3}", Environment.NewLine, TipoDeOperacion, InformacionDelRegistro(oRegistroEN), oTransaccionesAD.ConvertirValorDeLaCadena(DT.Rows[0].ItemArray[0].ToString()));
                    DescripcionDeOperacion = this.Error;

                    //Agregamos la Transacción....
                    TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "VALIDAR SI EL REGISTRO ESTA VINCULADO", "CORRECTO");
                    oTransaccionesAD.Agregar(oTran, oDatos);

                    return(true);
                }
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al validar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "VALIDAR", "VALIDAR SI EL REGISTRO ESTA VINCULADO", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally
            {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn              = null;
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
            }
        }
Пример #14
0
        public bool Actualizar(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos)
        {
            oTransaccionesAD = new TransaccionesAD();

            try
            {
                Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
                Cnn.Open();

                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn;
                Comando.CommandType = CommandType.Text;

                Consultas = @"update cierredeperiodo set

	                idPeriodo = @idPeriodo, idUsuarioDeCierre = @idUsuarioDeCierre, FechaDeCierre = @FechaDeCierre, Descripcion = @Descripcion, 
                    IdUsuarioDeModificacion = @IdUsuarioDeModificacion, FechaDeModificacion = current_timestamp()

                where idCierreDePeriodo = @idCierreDePeriodo;";

                Comando.CommandText = Consultas;

                Comando.Parameters.Add(new MySqlParameter("@idCierreDePeriodo", MySqlDbType.Int32)).Value = oRegistroEN.idCierreDePeriodo;
                Comando.Parameters.Add(new MySqlParameter("@idPeriodo", MySqlDbType.Int32)).Value         = oRegistroEN.oPeriodoEN.idPeriodo;
                Comando.Parameters.Add(new MySqlParameter("@idUsuarioDeCierre", MySqlDbType.Int32)).Value = oRegistroEN.oUsuarioDeCierre.idUsuario;
                Comando.Parameters.Add(new MySqlParameter("@FechaDeCierre", MySqlDbType.DateTime)).Value  = oRegistroEN.FechaDeCierre;
                Comando.Parameters.Add(new MySqlParameter("@Descripcion", MySqlDbType.VarChar, oRegistroEN.Descripcion.Trim().Length)).Value = oRegistroEN.Descripcion.Trim();

                Comando.Parameters.Add(new MySqlParameter("@IdUsuarioDeModificacion", MySqlDbType.Int32)).Value = oRegistroEN.oLoginEN.idUsuario;

                Comando.ExecuteNonQuery();

                DescripcionDeOperacion = string.Format("El registro fue Actualizado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN));

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Actualizar", "Actualizar Registro", "CORRECTO");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(true);
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al actualizar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Actualizar", "Actualizar Registro", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally
            {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn              = null;
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
            }
        }
Пример #15
0
        public bool Agregar(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos)
        {
            oTransaccionesAD = new TransaccionesAD();

            try
            {
                Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
                Cnn.Open();

                Comando             = new MySqlCommand();
                Comando.Connection  = Cnn;
                Comando.CommandType = CommandType.Text;

                Consultas = @"insert into cierredeperiodo
                (idPeriodo, idUsuarioDeCierre, FechaDeCierre, Descripcion, IdUsuarioDeCreacion, FechaDeCreacion, IdUsuarioDeModificacion, FechaDeModificacion)
                values
                (@idPeriodo, @idUsuarioDeCierre, @FechaDeCierre, @Descripcion, @IdUsuarioDeCreacion, current_timestamp(), @IdUsuarioDeModificacion, current_timestamp());

                Select last_insert_id() as 'ID';";

                Comando.CommandText = Consultas;

                Comando.Parameters.Add(new MySqlParameter("@idPeriodo", MySqlDbType.Int32)).Value         = oRegistroEN.oPeriodoEN.idPeriodo;
                Comando.Parameters.Add(new MySqlParameter("@idUsuarioDeCierre", MySqlDbType.Int32)).Value = oRegistroEN.oUsuarioDeCierre.idUsuario;
                Comando.Parameters.Add(new MySqlParameter("@FechaDeCierre", MySqlDbType.DateTime)).Value  = oRegistroEN.FechaDeCierre;
                Comando.Parameters.Add(new MySqlParameter("@Descripcion", MySqlDbType.VarChar, oRegistroEN.Descripcion.Trim().Length)).Value = oRegistroEN.Descripcion.Trim();

                Comando.Parameters.Add(new MySqlParameter("@IdUsuarioDeCreacion", MySqlDbType.Int32)).Value     = oRegistroEN.oLoginEN.idUsuario;
                Comando.Parameters.Add(new MySqlParameter("@IdUsuarioDeModificacion", MySqlDbType.Int32)).Value = oRegistroEN.oLoginEN.idUsuario;

                Adaptador = new MySqlDataAdapter();
                DT        = new DataTable();

                Adaptador.SelectCommand = Comando;
                Adaptador.Fill(DT);

                oRegistroEN.idCierreDePeriodo = Convert.ToInt32(DT.Rows[0].ItemArray[0].ToString());

                DescripcionDeOperacion = string.Format("El registro fue Insertado Correctamente. {0} {1}", Environment.NewLine, InformacionDelRegistro(oRegistroEN));

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Agregar", "Agregar Nuevo Registro", "CORRECTO");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(true);
            }
            catch (Exception ex)
            {
                this.Error = ex.Message;

                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al insertar el registro. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Agregar", "Agregar Nuevo Registro", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn              = null;
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
            }
        }
Пример #16
0
        public bool AgregarUtilizandoLaMismaConexion(CierreDePeriodoEN oRegistroEN, DatosDeConexionEN oDatos)
        {
            Cnn = new MySqlConnection(TraerCadenaDeConexion(oDatos));
            Cnn.Open();

            MySqlTransaction MysqlTransaccion;

            MysqlTransaccion = Cnn.BeginTransaction();

            try
            {
                String mensaje = "";

                TasaDeCambioAD oTasaDeCambioAD = new TasaDeCambioAD();

                if (oTasaDeCambioAD.Agregar(oRegistroEN.oTasaDeCambioEN, oDatos, ref Cnn, ref MysqlTransaccion) == false)
                {
                    mensaje = String.Format("Error : '{0}', producido al intentar guardar la tasa de cambio", oTasaDeCambioAD.Error);
                    throw new System.ArgumentException(mensaje);
                }

                if (Agregar(oRegistroEN, oDatos, ref Cnn, ref MysqlTransaccion) == false)
                {
                    mensaje = String.Format("Error : '{0}', producido al intentar guardar el cierre del periodo", this.Error);
                    throw new System.ArgumentException(mensaje);
                }

                PeriodoAD oPeriodoAD = new PeriodoAD();

                if (oPeriodoAD.ActualizarElEstadoDelPeriodo(oRegistroEN.oPeriodoEN, oDatos, ref Cnn, ref MysqlTransaccion) == false)
                {
                    mensaje = String.Format("Error : '{0}', producido al intentar actualizar el estado del periodo", oPeriodoAD.Error);
                    throw new System.ArgumentException(mensaje);
                }

                if (AplicarSaldoAlCierre(oRegistroEN, oDatos, ref Cnn, ref MysqlTransaccion) == false)
                {
                    mensaje = String.Format("Error : '{0}', producido al intentar realizar el cierre del periodo", this.Error);
                    throw new System.ArgumentException(mensaje);
                }

                oPeriodoAD = null;
                MysqlTransaccion.Commit();
                return(true);
            }catch (Exception ex)
            {
                this.Error = ex.Message;

                MysqlTransaccion.Rollback();

                oTransaccionesAD       = new TransaccionesAD();
                DescripcionDeOperacion = string.Format("Se produjo el seguiente error: '{2}' al aplicar el cierre del periodo. {0} {1} ", Environment.NewLine, InformacionDelRegistro(oRegistroEN), ex.Message);

                //Agregamos la Transacción....
                TransaccionesEN oTran = InformacionDelaTransaccion(oRegistroEN, "Cerrar Periodo", "Cerrar periodo de Movimiento de cuentas", "ERROR");
                oTransaccionesAD.Agregar(oTran, oDatos);

                return(false);
            }
            finally
            {
                if (Cnn != null)
                {
                    if (Cnn.State == ConnectionState.Open)
                    {
                        Cnn.Close();
                    }
                }

                Cnn              = null;
                Comando          = null;
                Adaptador        = null;
                oTransaccionesAD = null;
                MysqlTransaccion = null;
            }
        }