public void RaiseCallbackEvent(string eventArg) { string sResultado = ""; //1º Si hubiera argumentos, se recogen y tratan. //string MisArg = eventArg; string[] aArgs = Regex.Split(eventArg, "@#@"); sResultado = aArgs[0] + @"@#@"; if (Session["GVT_IDRED"] == null) { _callbackResultado = aArgs[0] + @"@#@Error@#@SESIONCADUCADA"; return; } ; //2º Aquí realizaríamos el acceso a BD, etc,... switch (aArgs[0]) { case ("tramitar"): try { sResultado += "OK@#@" + CABECERAGV.TramitarPagoConcertado(aArgs[1]); } catch (Exception ex) { //sResultado += "Error@#@" + Errores.mostrarError("Error al tramitar el bono de transporte.", ex); string[] aMsg = Regex.Split(ex.Message, "##EC##"); if (aMsg[0] == "ErrorControlado") { sResultado += "Error@#@" + aMsg[1]; } else { sResultado += "Error@#@" + Errores.mostrarError("Error al tramitar el pago concertado.", ex); } } break; case ("getOtrosDatos"): try { sResultado += "OK@#@" + CABECERAGV.ObtenerHistorial((aArgs[1] == "") ? 0 : int.Parse(aArgs[1])) + "///" + ACUERDOGV.obtenerOtrosPagos(int.Parse(aArgs[2]), (aArgs[1] == "") ? 0 : int.Parse(aArgs[1])); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener el historial.", ex); } break; case ("aprobar"): try { CABECERAGV.UpdateAcuerdo(aArgs[1], aArgs[2]); CABECERAGV.Aprobar(aArgs[1]); sResultado += "OK@#@"; } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al aprobar la solicitud.", ex); } break; case ("noaprobar"): try { sResultado += "OK@#@" + CABECERAGV.NoAprobar(int.Parse(aArgs[1]), aArgs[2]).ToString(); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al no aprobar la solicitud estándar.", ex); } break; case ("aceptar"): try { CABECERAGV.Aceptar(aArgs[1]); sResultado += "OK@#@"; } catch (Exception ex) { //sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar la solicitud.", ex); string[] aMsg = Regex.Split(ex.Message, "##EC##"); if (aMsg[0] == "ErrorControlado") { sResultado += "Error@#@" + aMsg[1]; } else { sResultado += "Error@#@" + Errores.mostrarError("Error al aceptar la solicitud.", ex); } } break; case ("noaceptar"): try { sResultado += "OK@#@" + CABECERAGV.NoAceptar(int.Parse(aArgs[1]), aArgs[2]).ToString(); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al no aceptar la solicitud estándar.", ex); } break; case ("anular"): try { sResultado += "OK@#@" + CABECERAGV.Anular(int.Parse(aArgs[1]), aArgs[2]).ToString(); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al anular la solicitud estándar.", ex); } break; case ("getHistoria"): try { sResultado += "OK@#@" + CABECERAGV.ObtenerHistorial(int.Parse(aArgs[1])); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener el historial.", ex); } break; case ("getDatosBeneficiario"): try { sResultado += "OK@#@" + ObtenerDatosBeneficiario(int.Parse(aArgs[1])); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex); } break; case ("getCCMotivo"): try { sResultado += "OK@#@" + CABECERAGV.ObtenerCentroCosteMotivo(aArgs[1], aArgs[2], aArgs[3]); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex); } break; case ("getMotivosNodo"): try { sResultado += "OK@#@" + ObtenerMotivosNodoBeneficiario(int.Parse(aArgs[1]), aArgs[2], int.Parse(aArgs[3])); } catch (Exception ex) { sResultado += "Error@#@" + Errores.mostrarError("Error al obtener los datos del beneficiario.", ex); } break; } //3º Damos contenido a la variable que se envía de vuelta al cliente. _callbackResultado = sResultado; }