Exemplo n.º 1
0
 /// <remarks/>
 public void solicitudRetiroAsync(RetSolicitud solicitudRetiro1, object userState) {
     if ((this.solicitudRetiroOperationCompleted == null)) {
         this.solicitudRetiroOperationCompleted = new System.Threading.SendOrPostCallback(this.OnsolicitudRetiroOperationCompleted);
     }
     this.InvokeAsync("solicitudRetiro", new object[] {
                 solicitudRetiro1}, this.solicitudRetiroOperationCompleted, userState);
 }
        public static void RealizarSolicitudRechazo(int tipoconexion)
        {
            DataTable dtRetirosRetorno = new DataTable();
            TramaEnvio = "";
            string[] SepararTrama;
            fechainiciotransaccion = DateTime.Now;
            System.Net.ServicePointManager.ServerCertificateValidationCallback = ((sender, certificate, chain, sslPolicyErrors) => true);
            dtRetirosRetorno = DataLayer.Procesos.TraerTransferenciaRetorno(tipoconexion);
            try
            {
                WR_NoBankOfficeSvr.RetSolicitud rs = new WR_NoBankOfficeSvr.RetSolicitud();
                foreach (DataRow drFila in dtRetirosRetorno.Rows)
                {
                    #region fill RetSolicitud
                    fechainiciotransaccion = DateTime.Now;
                    SepararTrama = drFila[30].ToString().Split('|');
                    TramaEnvio = drFila[30].ToString();
                    if (SepararTrama.Length == 20)
                    {
                        rs.CanalOrigen = SepararTrama[0].ToString();
                        rs.IdentificacionDispositivo = SepararTrama[1].ToString();
                        rs.LocalizacionDispositivo = SepararTrama[2].ToString();
                        rs.FechaTransaccion = int.Parse(SepararTrama[3].ToString());
                        rs.HoraTransaccion = int.Parse(SepararTrama[4].ToString());
                        rs.NumeroSecuencia = int.Parse(SepararTrama[5].ToString());
                        rs.IdentificacionUsuario = SepararTrama[6].ToString();
                        rs.ClaveUsuario = SepararTrama[7].ToString();
                        rs.ClaveOTP = SepararTrama[8].ToString();
                        rs.CodigoTransaccion = int.Parse(SepararTrama[9].ToString());
                        rs.NumeroTerminal = SepararTrama[10].ToString();
                        rs.EntidadOrigen = short.Parse(SepararTrama[11].ToString());
                        rs.TipoProductoOrigen = short.Parse(SepararTrama[12].ToString());
                        rs.NumeroProductoOrigen = int.Parse(SepararTrama[13].ToString());
                        rs.EntidadDestino = short.Parse(SepararTrama[14].ToString());
                        rs.TipoProductoDestino = short.Parse(SepararTrama[15].ToString());
                        rs.NumeroProductoDestino = int.Parse(SepararTrama[16].ToString());
                        rs.ValorRetiro = int.Parse(SepararTrama[17].ToString());
                        rs.NumeroCelular = long.Parse(SepararTrama[18].ToString());
                        rs.IndicadorReverso = SepararTrama[18].ToString();
                    }
                    else
                    {
                        DataLayer.Procesos.AgregarLogErrores(drFila);
                        continue;
                    }
                    #endregion
                    //Thread t = new Thread(metodo);
                    //t.Start(rs);
                    int var1 = LlamadoServicioRetiro(rs, tipoconexion);
                    //if (t.Join(tiempoespera))
                    //{

                    if (var1 == -1)
                    {
                        #region ActualizacionBDfallida
                        DataLayer.Procesos.ActualizarCodigoRetorno(drFila[0].ToString(), "PP",tipoconexion);
                        DataLayer.Procesos.AgregarEventoLog(drFila, fechainiciotransaccion, TramaRetorno, rr.CodigoRespuesta, rr.MensajeRespuesta, "",tipoconexion);
                        #endregion                        
                    }
                    else
                    {
                        #region ActualizacionBDExitosa
                        DataLayer.Procesos.ActualizarCodigoRetorno(drFila[0].ToString(), "P",tipoconexion);
                        DataLayer.Procesos.AgregarEventoLog(drFila, fechainiciotransaccion, TramaRetorno, rr.CodigoRespuesta, "", "",tipoconexion);
                        #endregion
                    }

                    //}
                    //else { DataLayer.Procesos.AgregarEventoLog(drFila, fechainiciotransaccion, "Timeout en llamado de servicio",1, "",""); }

                    //t = null;
                }

                //NBOfficeSvr.Dispose();
                rs = null;
                //rr = null;
            }
            catch (Exception e)
            {
                //dtRetirosRetorno.Rows
                DataLayer.Procesos.AgregarEventoLog2(fechainiciotransaccion, TramaEnvio, "error durante llamado al servicio: " + e.Message, 1, "", "", tipoconexion);
            }
            finally
            {
                dtRetirosRetorno.Dispose();
                dtRetirosRetorno = null;
            }
        }
Exemplo n.º 3
0
 /// <remarks/>
 public void solicitudRetiroAsync(RetSolicitud solicitudRetiro1) {
     this.solicitudRetiroAsync(solicitudRetiro1, null);
 }