Exemplo n.º 1
0
        protected void lnkEliminar_Click(object sender, EventArgs e)
        {
            RetornoOperacion retorno   = new RetornoOperacion();
            string           depositos = "";

            //Seleccionando fila
            GridViewRow[] selected_rows = Controles.ObtenerFilasSeleccionadas(gvDepositoTesoreria, "chkVarios");
            //Verificando que existan filas seleccionadas
            if (selected_rows.Length != 0)
            {
                foreach (GridViewRow row in selected_rows)
                {
                    gvDepositoTesoreria.SelectedIndex = row.RowIndex;
                    //Instanciar Vale del valor obtenido de la fila seleccionada
                    using (SAT_CL.EgresoServicio.Deposito dep = new SAT_CL.EgresoServicio.Deposito(Convert.ToInt32(gvDepositoTesoreria.DataKeys[row.RowIndex].Value)))
                    {
                        if (dep.id_deposito != 0)
                        {
                            using (SAT_CL.EgresoServicio.DetalleLiquidacion dl = new SAT_CL.EgresoServicio.DetalleLiquidacion(dep.id_deposito, 51))
                            {
                                if (dl.id_liquidacion == 0)
                                {
                                    depositos = dep.no_deposito + " " + depositos;
                                    ucSoporte.InicializaControlUsuario(depositos, 2, Convert.ToString(gvDepositoTesoreria.SelectedDataKey["Servicio"]));
                                    //Mostrando ventana modal correspondiente
                                    ScriptServer.AlternarVentana(lnkEliminar, "Soporte", "soporteTecnicoModal", "soporteTecnico");
                                }
                                else
                                {
                                    retorno = new RetornoOperacion("El deposito " + Convert.ToInt32(gvDepositoTesoreria.SelectedDataKey["Folio"]) + " esta en la liquidacion " + Convert.ToInt32(gvDepositoTesoreria.SelectedDataKey["NoLiquidacion"]) + ", no se puede rechazar.");
                                    ScriptServer.MuestraNotificacion(this.Page, retorno.Mensaje, ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha);
                                }
                            }
                        }
                    }
                }
            }
            else//Mostrando Mensaje
            {
                retorno = new RetornoOperacion("Debe Seleccionar al menos 1 Deposito");
                ScriptServer.MuestraNotificacion(this.Page, retorno.Mensaje, ScriptServer.NaturalezaNotificacion.Error, ScriptServer.PosicionNotificacion.AbajoDerecha);
            }
        }
Exemplo n.º 2
0
        /// <summary>
        /// Método Público encargado de Insertar las Comprobaciones
        /// </summary>
        /// <param name="id_deposito">Deposito de la Comprobación</param>
        /// <param name="id_concepto_comprobacion">Concepto de la Comprobación</param>
        /// <param name="id_autorizacion_comprobacion">Autorización de la Comprobación</param>
        /// <param name="observacion_comprobacion">Observación de la Comprobación</param>
        /// <param name="bit_transferencia">Estatus de Transferencia</param>
        /// <param name="id_transferencia">Referencia de la Transferencia</param>
        /// <param name="id_usuario">Usuario que Actualiza el Registro</param>
        /// <returns></returns>
        public static RetornoOperacion InsertaComprobacion(int id_deposito, int id_concepto_comprobacion, int id_autorizacion_comprobacion, string observacion_comprobacion,
                                                           bool bit_transferencia, int id_transferencia, SAT_CL.EgresoServicio.DetalleLiquidacion.Estatus estatus, int id_unidad, int id_operador, int id_proveedor, int id_servicio, int id_movimiento,
                                                           DateTime fecha_liquidacion, int id_liquidacion, decimal cantidad, decimal valor_unitario, int id_usuario)
        {
            //Declarando Objeto de Retorno
            RetornoOperacion result = new RetornoOperacion();

            //Inicializando Transaccion
            using (TransactionScope trans = TSDK.Datos.Transaccion.InicializaBloqueTransaccional(System.Transactions.IsolationLevel.ReadCommitted))
            {
                //Instanciando Deposito
                using (Deposito dep = new Deposito(id_deposito))
                {
                    //Validando que Exista el Deposito
                    if (dep.habilitar)
                    {
                        //Validando Estatus
                        if (dep.Estatus == Deposito.EstatusDeposito.PorLiquidar)
                        {
                            //Instanciando Positivo
                            result = new RetornoOperacion(0, "", true);
                        }
                        else
                        {
                            //Instanciando Negativo
                            result = new RetornoOperacion(string.Format("El Estatus '{0}' del Deposito no permite su Comprobación", dep.Estatus));
                        }
                    }
                    else
                    {
                        //Instanciando Positivo
                        result = new RetornoOperacion(0, "", true);
                    }

                    //Validando Resultado del Deposito
                    if (result.OperacionExitosa)
                    {
                        //Armando Arreglo de Parametros
                        object[] param = { 1,                         0, id_deposito, id_concepto_comprobacion, id_autorizacion_comprobacion, observacion_comprobacion, bit_transferencia,
                                           id_transferencia, id_usuario, true,        "",                       "" };

                        //Obteniendo Comprobación
                        int idComprobacion = 0;

                        //Ejecutando resultado del SP
                        result = CapaDatos.m_capaDeDatos.EjecutaProcAlmacenadoObjeto(_nom_sp, param);

                        //Validando que la Operación haya sido exitosa
                        if (result.OperacionExitosa)
                        {
                            //Obteniendo Comprobación
                            idComprobacion = result.IdRegistro;

                            //Insertando Detalle de Liquidación
                            result = SAT_CL.EgresoServicio.DetalleLiquidacion.InsertaDetalleLiquidacion(104, idComprobacion, id_unidad, id_operador, id_proveedor,
                                                                                                        id_servicio, id_movimiento, id_liquidacion, cantidad, 0, valor_unitario, id_usuario);

                            //Validando que la Operación haya sido exitosa
                            if (result.OperacionExitosa)
                            {
                                //Instanciando Deposito (Detalle Liquidación)
                                using (SAT_CL.EgresoServicio.DetalleLiquidacion det = new SAT_CL.EgresoServicio.DetalleLiquidacion(id_deposito, 51))
                                {
                                    //Validando que Exista el Deposito
                                    if (det.id_detalle_liquidacion > 0)
                                    {
                                        //Agregando Referencia de la Liquidación al Detalle del Deposito
                                        result = det.EditaDetalleLiquidacion(det.id_tabla, det.id_registro, det.id_estatus_liquidacion, det.id_unidad,
                                                                             det.id_operador, det.id_proveedor_compania, det.id_servicio, det.id_movimiento, det.fecha_liquidacion,
                                                                             id_liquidacion, det.cantidad, det.id_unidad_medida, det.valor_unitario, id_usuario);
                                    }
                                    else
                                    {
                                        //Si es una Comprobación sin Deposito
                                        result = new RetornoOperacion(idComprobacion);
                                    }

                                    //Validando que se añadio el Deposito a la Liqudiación
                                    if (result.OperacionExitosa)
                                    {
                                        //Completando Transacción
                                        trans.Complete();

                                        //Instanciando Resultado de COmprobacion
                                        result = new RetornoOperacion(idComprobacion);
                                    }
                                }
                            }
                        }
                    }
                }
            }

            //Devolviendo Resultado Obtenido
            return(result);
        }