Ejemplo n.º 1
0
        /// <summary>
        /// Inserta un Descuento
        /// </summary>
        /// <param name="id_motivo_descuento"></param>
        /// <param name="id_comprobante"></param>
        /// <param name="porcentaje"></param>
        /// <param name="cantidad_moneda_captura"></param>
        /// <param name="cantidad_moneda_nacional"></param>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public static RetornoOperacion InsertaDescuento(int id_motivo_descuento, int id_comprobante,
                                                        decimal porcentaje, decimal cantidad_moneda_captura, decimal cantidad_moneda_nacional,
                                                        int id_usuario)
        {
            //Declarando objeto de retorno
            RetornoOperacion resultado = new RetornoOperacion();


            //Creamos la transacción
            using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Validamos Existencia de Coonceptos
                if (Validacion.ValidaOrigenDatos(Concepto.RecuperaConceptosComprobantes(id_comprobante)))
                {
                    //Inicializando arreglo de parámetros
                    object[] param = { 1,                                 0, id_motivo_descuento, id_comprobante, porcentaje, cantidad_moneda_captura,
                                       cantidad_moneda_nacional, id_usuario, true,                "",             "" };

                    //Realziando inserción del concepto
                    resultado = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nombre_stored_procedure, param);

                    //Editamos encabezado del Comprobante
                    if (resultado.OperacionExitosa)
                    {
                        //Guardando Id de Descuento afectado
                        int id_descuento = resultado.IdRegistro;

                        //Intsnaciamos Comprobante
                        using (Comprobante objcomprobante = new Comprobante(id_comprobante))
                        {
                            resultado = objcomprobante.ActualizaDescuento(cantidad_moneda_captura, cantidad_moneda_nacional, id_usuario);
                        }

                        //Actualizamos Impuestos
                        if (resultado.OperacionExitosa)
                        {
                            resultado = Impuesto.RecalcularImpuestos(id_comprobante, id_usuario);
                        }
                        //Si  no hay errores
                        if (resultado.OperacionExitosa)
                        {
                            resultado = new RetornoOperacion(id_descuento);
                            //Finalizamos Transacción
                            scope.Complete();
                        }
                    }
                }
                else
                {
                    resultado = new RetornoOperacion("No existen conceptos");
                }
            }

            return(resultado);
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Edita un Descuento
        /// </summary>
        /// <param name="id_motivo_descuento"></param>
        /// <param name="id_comprobante"></param>
        /// <param name="porcentaje"></param>
        /// <param name="cantidad_moneda_captura"></param>
        /// <param name="cantidad_moneda_nacional"></param>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public RetornoOperacion EditaDescuento(int id_motivo_descuento, int id_comprobante,
                                               decimal porcentaje, decimal cantidad_moneda_captura, decimal cantidad_moneda_nacional,
                                               int id_usuario)
        {
            //Declaramos Objeto Retorno
            RetornoOperacion resultado = new RetornoOperacion();

            //Creamos la transacción
            using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Realizando actualizacion
                resultado = editaDescuento(id_motivo_descuento, id_comprobante, porcentaje, cantidad_moneda_captura,
                                           cantidad_moneda_nacional, id_usuario, this._habilitar);

                //Editamos Descuento del Comprobante
                if (resultado.OperacionExitosa)
                {
                    //Guardando Id de Descuento afectado
                    int id_descuento = resultado.IdRegistro;
                    //Instanciamos Comprobante
                    using (Comprobante objcomprobante = new Comprobante(id_comprobante))
                    {
                        resultado = objcomprobante.ActualizaDescuento(cantidad_moneda_captura, cantidad_moneda_nacional, id_usuario);
                    }
                    //Validamos edición del comprobante
                    if (resultado.OperacionExitosa)
                    {
                        resultado = Impuesto.RecalcularImpuestos(id_comprobante, id_usuario);
                    }
                    //Si  no hay errores
                    if (resultado.OperacionExitosa)
                    {
                        resultado = new RetornoOperacion(id_descuento);
                        //Finaliza transacción
                        scope.Complete();
                    }
                }
            }

            return(resultado);
        }