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