/// <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); }
/// <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); }