/// <summary>
        /// Libera recursos utilizados en la transacción
        /// </summary>
        public void Dispose()
        {
            CommitOrRollback();

            Transaccion.Dispose();
            Conexion.Dispose();
        }
Exemple #2
0
        public static void GuardarNomina(Nomina nueva)
        {
            var transaccion = new Transaccion();

            try
            {
                var repositorio = new Repositorio <Nomina>(transaccion);
                repositorio.Agregar(nueva);
                transaccion.GuardarCambios();
            }
            catch (Exception ex)
            {
                transaccion.Dispose();
            }
        }
        public static List <ClavesPresupuestales> Agregar(List <ClavesPresupuestales> claves)
        {
            var transaccion = new Transaccion();

            try
            {
                var repositorio = new Repositorio <ClavesPresupuestales>(transaccion);
                foreach (var clave in claves)
                {
                    repositorio.Agregar(clave);
                }
                transaccion.GuardarCambios();
            }
            catch (Exception)
            {
                transaccion.Dispose();
            }
            return(claves);
        }
Exemple #4
0
        public void ejecutarSQLTransaccion(String pSql)
        {
            // Definicion de Command
            SqlCommand     cmd = null;
            SqlTransaction Transaccion;

            IsError = false;

            // Inicio de la transaccion
            Transaccion = conexion.BeginTransaction();

            try
            {
                cmd             = new SqlCommand(pSql.ToString(), conexion);
                cmd.Transaction = Transaccion;
                cmd.Connection  = conexion;
                cmd.ExecuteNonQuery();
                Transaccion.Commit();
            }
            catch (SqlException errorSql)
            {
                IsError           = true;
                ErrorDescripcion  = "Error en ejecutarSQL \n";
                ErrorDescripcion += errorSql.Message;
                Transaccion.Rollback();
            }
            catch (Exception error)
            {
                IsError           = true;
                ErrorDescripcion  = "Error en ejecutarSQL \n";
                ErrorDescripcion += error.Message;
                Transaccion.Rollback();
            }

            cmd.Dispose();
            Transaccion.Dispose();
        }
Exemple #5
0
        //revisado
        #region Metodos para agregar contenedores y actualizar inventario general
        public static bool GuardarInventarioContenedores(int idInventario, string numeroOrden, int numeroContenedor, string FInicial, string FFinal, int TotalFormas, DateTime fechaExterna)
        {
            bool bandera = false;

            var transaccion = new Transaccion();

            var repositorio = new Repositorio <Tbl_Inventario>(transaccion);


            var inventarioFiltrado = repositorio.ObtenerPorFiltro(x => x.Id == idInventario && x.Activo == true);



            try
            {
                //Actualiza datos en la tabla inventario
                foreach (Tbl_Inventario inventarioObtenido in inventarioFiltrado)
                {
                    inventarioObtenido.FormasDisponibles    += TotalFormas;
                    inventarioObtenido.UltimoFolioInventario = FFinal;
                }



                //  agrega contenedores con folios para que coincida con el inventario
                Tbl_InventarioContenedores nuevoContenedor = new Tbl_InventarioContenedores();

                nuevoContenedor.IdInventario              = idInventario;
                nuevoContenedor.NumOrden                  = numeroOrden;
                nuevoContenedor.NumContenedor             = numeroContenedor;
                nuevoContenedor.FolioInicial              = FInicial;
                nuevoContenedor.FolioFinal                = FFinal;
                nuevoContenedor.FormasTotalesContenedor   = TotalFormas;
                nuevoContenedor.FormasDisponiblesActuales = TotalFormas;
                nuevoContenedor.FormasInhabilitadas       = 0;
                nuevoContenedor.FormasAsignadas           = 0;
                nuevoContenedor.FormasFoliadas            = 0;
                nuevoContenedor.FechaAlta                 = fechaExterna;
                nuevoContenedor.Activo = true;

                var repositorioContenedor = new Repositorio <Tbl_InventarioContenedores>(transaccion);

                var contenedorAgregado = repositorioContenedor.Agregar(nuevoContenedor);



                //Agrega el detalle de cada contenedor para saber cada uno de sus folios
                var repositorioDetalle = new Repositorio <Tbl_InventarioDetalle>(transaccion);

                for (int i = Convert.ToInt32(FInicial); i <= Convert.ToInt32(FFinal); i++)
                {
                    Tbl_InventarioDetalle nuevoDetalle = new Tbl_InventarioDetalle();

                    nuevoDetalle.IdContenedor = contenedorAgregado.Id;
                    nuevoDetalle.NumFolio     = i;
                    nuevoDetalle.Activo       = true;

                    repositorioDetalle.Agregar(nuevoDetalle);
                }
                // transaccion.Dispose();
                //se transacciona por si algo va mal se pueda hacer un roll over de todo
                transaccion.GuardarCambios();
                bandera = true;
            }
            catch (Exception e)
            {
                transaccion.Dispose();
                bandera = false;
            }



            return(bandera);
        }