Пример #1
0
        /// <summary>
        ///  Método encargado de insertar un concepto
        /// </summary>
        /// <param name="id_comprobante"></param>
        /// <param name="cantidad"></param>
        /// <param name="id_unidad"></param>
        /// <param name="id_descripcion"></param>
        /// <param name="no_identificacion"></param>
        /// <param name="valor_unitario"></param>
        /// <param name="importe_moneda_captura"></param>
        /// <param name="importe_moneda_nacional"></param>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public static RetornoOperacion InsertaConcepto(int id_comprobante,
                                                       decimal cantidad, int id_unidad, int id_descripcion,
                                                       string no_identificacion, decimal valor_unitario, decimal importe_moneda_captura,
                                                       decimal importe_moneda_nacional, int id_usuario)
        {
            int id_concepto = 0;
            //Declarando objeto de retorno
            RetornoOperacion resultado = new RetornoOperacion();

            //Creamos la transacción
            using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciamos comprobante
                using (Comprobante objComprobante = new Comprobante(id_comprobante))
                {
                    //validamos Existencia de comprobante
                    if (objComprobante.id_comprobante > 0)
                    {
                        //Validamos existencia de Descuento
                        if (objComprobante.descuento_moneda_captura == 0 || objComprobante.descuento_moneda_nacional == 0)
                        {
                            //Inicializando arreglo de parámetros
                            object[] param = { 1,                                0, id_comprobante,                 0,                      1, cantidad, id_unidad,
                                               id_descripcion,          "",         no_identificacion, valor_unitario, importe_moneda_captura,
                                               importe_moneda_nacional, id_usuario, true,              "",             "" };

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


                            //Asignamos Id de Concopeto
                            id_concepto = resultado.IdRegistro;

                            //Recalucular Impuestos
                            if (resultado.OperacionExitosa)
                            {
                                resultado = Impuesto.RecalcularImpuestos(id_comprobante, id_usuario);
                                //Validamos Resultado
                                if (resultado.OperacionExitosa)
                                {
                                    //Declaramos Objeto Retorno
                                    resultado = new RetornoOperacion(id_concepto);
                                    //Finalizamos transacción
                                    scope.Complete();
                                }
                            }
                        }
                        else
                        {
                            resultado = new RetornoOperacion("No se puede agregar un concepto, ya que existe el decuento");
                        }
                    }
                    else
                    {
                        resultado = new RetornoOperacion("No se encontró datos complementarios Comprobante");
                    }
                }
            }
            return(resultado);
        }
Пример #2
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);
        }
Пример #3
0
        /// <summary>
        /// Editamos un Concepto
        /// </summary>
        /// <param name="id_comprobante"></param>
        /// <param name="cantidad"></param>
        /// <param name="id_unidad"></param>
        /// <param name="id_descripcion"></param>
        /// <param name="descripcion_parte"></param>
        /// <param name="no_identificacion"></param>
        /// <param name="valor_unitario"></param>
        /// <param name="importe_moneda_captura"></param>
        /// <param name="importe_moneda_nacional"></param>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public RetornoOperacion EditaConcepto(int id_comprobante, decimal cantidad, int id_unidad, int id_descripcion,
                                              int descripcion_parte, string no_identificacion, decimal valor_unitario,
                                              decimal importe_moneda_captura, decimal importe_moneda_nacional, int id_usuario)
        {
            //Declaramos Objeto Resultado
            RetornoOperacion resultado = new RetornoOperacion();

            //Creamos la transacción
            using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciamos comprobante
                using (Comprobante objComprobante = new Comprobante(id_comprobante))
                {
                    //validamos Existencia de comprobante
                    if (objComprobante.id_comprobante > 0)
                    {
                        //Validamos existencia de Descuento
                        if (objComprobante.descuento_moneda_captura == 0 || objComprobante.descuento_moneda_nacional == 0)
                        {
                            //Realizando actualizacion
                            resultado = editaConcepto(id_comprobante, 0, 1, cantidad, id_unidad, id_descripcion, "",
                                                      no_identificacion, valor_unitario, importe_moneda_captura, importe_moneda_nacional, id_usuario,
                                                      this._habilitar);



                            //Validamos Resultado
                            //Recalucular Impuestos
                            if (resultado.OperacionExitosa)
                            {
                                resultado = Impuesto.RecalcularImpuestos(id_comprobante, id_usuario);
                                //Finalizamos transacción
                                scope.Complete();
                            }
                        }
                        else
                        {
                            resultado = new RetornoOperacion("No se puede editar un concepto, ya que existe el descuento");
                        }
                    }
                    else
                    {
                        resultado = new RetornoOperacion("No se encontró datos complementarios Comprobante");
                    }
                }
            }

            return(resultado);
        }
Пример #4
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);
        }
Пример #5
0
        /// <summary>
        /// Deshabilitamos un concepto
        /// </summary>
        /// <param name="id_usuario"></param>
        /// <returns></returns>
        public RetornoOperacion DeshabilitaConcepto(int id_usuario)
        {
            //Establecemos Objeto Resultado
            RetornoOperacion resultado = new RetornoOperacion(0);

            //Creamos la transacción
            using (System.Transactions.TransactionScope scope = Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Validamos tipo de Concepto no sea Padre
                if ((TipoConcepto)this._id_tipo_concepto == TipoConcepto.ParteConcepto)
                {
                    //Realizando actualizacion
                    resultado = editaConcepto(this._id_comprobante, this._id_concepto_padre, this._id_tipo_concepto, this._cantidad, this._id_unidad, this._id_descripcion,
                                              this._descripcion_parte, this._numero_identificacion, this._valor_unitario,
                                              this._importe_moneda_captura, this._importe_moneda_nacional, id_usuario, false);
                }
                else
                {
                    //Instanciamos Comprobante
                    using (Comprobante objComprobante = new Comprobante(this._id_comprobante))
                    {
                        //Validamos existencia de descuento
                        if (objComprobante.descuento_moneda_nacional == 0 || objComprobante.descuento_moneda_captura == 0)
                        {
                            //Validamos Existencia de Conceptos Hijos
                            if (Validacion.ValidaOrigenDatos(CargaConceptosPartes(this._id_concepto)))
                            {
                                //Inicialziando párametros
                                object[] parametros = { 4, this._id_concepto, 0, 0, 0, 0, 0, 0, 0, "", 0, 0, 0, 0, false, "", "" };

                                //Realizando actualización
                                using (DataSet ds = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoDataSet(nombre_stored_procedure, parametros))
                                {
                                    //Validamos Origen de Datos
                                    if (Validacion.ValidaOrigenDatos(ds))
                                    {
                                        //Validando actualziación múltiple
                                        resultado = RetornoOperacion.ValidaResultadoOperacionMultiple(ds);
                                    }
                                }
                            }
                            //Validamos Deshabilitación hijos
                            if (resultado.OperacionExitosa)
                            {
                                //Deshabilitamos Concepto Padre
                                resultado = editaConcepto(this._id_comprobante, this._id_concepto_padre, this._id_tipo_concepto, this._cantidad, this._id_unidad, this._id_descripcion,
                                                          this._descripcion_parte, this._numero_identificacion, this._valor_unitario,
                                                          this._importe_moneda_captura, this._importe_moneda_nacional, id_usuario, false);
                                //Recalcular Impuestos
                                if (resultado.OperacionExitosa)
                                {
                                    resultado = Impuesto.RecalcularImpuestos(id_comprobante, id_usuario);
                                    //Finalziamos transacción
                                    scope.Complete();
                                }
                            }
                        }
                        else
                        {
                            resultado = new RetornoOperacion("No se puede deshabilitar un concepto, ya que existe un descuento");
                        }
                    }
                }
            }

            return(resultado);
        }