private bool EPA5(CarroCompra carroCompraEntrante) { bool resultado = false; try { SqlCommand command = new SqlCommand("EPA5", conn); command.CommandType = CommandType.StoredProcedure; SqlDataAdapter adapter4 = new SqlDataAdapter(command); //Envió los parámetros que necesito para el EPA4 SqlParameter param01 = new SqlParameter("@userID", SqlDbType.Int); param01.Value = carroCompraEntrante.Cliente.Id; command.Parameters.Add(param01); SqlParameter param02 = new SqlParameter("FechaTransaccion", SqlDbType.DateTimeOffset); param02.Value = carroCompraEntrante.Carrocomprapago.FechaUTCtransaccion; command.Parameters.Add(param02); SqlParameter param03 = new SqlParameter("@tarjetaPAN", SqlDbType.VarChar, 19); param03.Value = carroCompraEntrante.Carrocomprapago.Tarjetapan; command.Parameters.Add(param03); String EPA4TiempoDeVentana; EPA4TiempoDeVentana = ConfigurationManager.AppSettings.Get("EPA4TiempoDeVentana"); int EPA4NumTransaccionesMin; EPA4NumTransaccionesMin = Int32.Parse(ConfigurationManager.AppSettings.Get("EPA4NumTransaccionesMin")); SqlParameter param04 = new SqlParameter("@Tiempo", SqlDbType.Int); param04.Value = Int32.Parse(EPA4TiempoDeVentana); command.Parameters.Add(param04); SqlParameter param05 = new SqlParameter("@NumRegistros", SqlDbType.Int); param05.Value = EPA4NumTransaccionesMin; command.Parameters.Add(param05); DataTable dt = new DataTable(); conn.Open(); //Aquí ejecuto el SP y lo lleno en el DataTable adapter4.Fill(dt); resultado = VerificarEPA4(dt, carroCompraEntrante); dataGridView1.DataSource = dt; } catch (Exception ex) { MessageBox.Show(ex.Message); throw; } finally { conn.Close(); } return(resultado); }
/// <summary> /// Verifica que las filas del DataTable vayan en montos incrementales. /// </summary> /// <param name="dt">DataTable a consultar</param> /// <returns>Un booleano indicando true cuando es en incrimento, de lo contrario false.</returns> private bool VerificarEnIncremento(DataTable dt, CarroCompra carroCompraEntrante) { bool resultado; float monto; monto = dt.Rows[0].Field <float>("MontoTotal"); resultado = false; if (dt != null) { foreach (DataRow fila in dt.Rows) { if (monto <= float.Parse(fila[0].ToString())) { monto = float.Parse(fila[0].ToString()); resultado = true; } else { resultado = false; break; } } } return(resultado); }
private bool VerificarEPA4(DataTable dt, CarroCompra carroCompraEntrante) { bool resultado = false; try { bool hayrechazados = true; if (dt == null) { hayrechazados = false; } else { foreach (DataRow fila in dt.Rows) { if (fila.Field <int>("Estatus") != (int)Estatus.Aceptado) { hayrechazados = false; } } } return(hayrechazados); } catch (Exception) { MessageBox.Show("No se encontro la variable en el archivo de configuración"); } return(resultado); }
private bool VerificarEPA3(DataTable dt, CarroCompra carroCompraEntrante) { bool resultado = false; try { bool intentos = false; if (dt == null) { intentos = false; } else { foreach (DataRow row in dt.Rows) { if (dt.Rows[0].Field <float>("CodigoRespuesta") != (int)CodigoRespuesta.TarjetaDeclinadaPorCVV) { intentos = false; } } } resultado = intentos; } catch (Exception ex) { MessageBox.Show(ex.Message); } return(resultado); }
private bool EPA1(CarroCompra carroCompraEntrante) { bool resultado; resultado = false; try { // SP que utilizare para la ejecucion de parametros SqlCommand command = new SqlCommand("EPA1", conn); command.CommandType = CommandType.StoredProcedure; SqlDataAdapter adapter = new SqlDataAdapter(command); //Envió los parámetros que necesito para el EPA1 SqlParameter param1 = new SqlParameter("@userID", SqlDbType.Int); param1.Value = carroCompraEntrante.Cliente.Id; command.Parameters.Add(param1); SqlParameter param2 = new SqlParameter("FechaTransaccion", SqlDbType.DateTimeOffset); param2.Value = carroCompraEntrante.Carrocomprapago.FechaUTCtransaccion; command.Parameters.Add(param2); SqlParameter param3 = new SqlParameter("@tarjetaPAN", SqlDbType.VarChar, 19); param3.Value = carroCompraEntrante.Carrocomprapago.Tarjetapan; command.Parameters.Add(param3); String EPA1TiempoDeVentana; EPA1TiempoDeVentana = ConfigurationManager.AppSettings.Get("EPA1TiempoDeVentana"); int EPA1NumTransaccionesMin; EPA1NumTransaccionesMin = Int32.Parse(ConfigurationManager.AppSettings.Get("EPA1NumTransaccionesMin")); SqlParameter param4 = new SqlParameter("@Tiempo", SqlDbType.Int); param4.Value = Int32.Parse(EPA1TiempoDeVentana); command.Parameters.Add(param4); SqlParameter param5 = new SqlParameter("@NumRegistros", SqlDbType.Int); param5.Value = EPA1NumTransaccionesMin; command.Parameters.Add(param5); DataTable dt = new DataTable(); conn.Open(); //Aquí ejecuto el SP y lo lleno en el DataTable adapter.Fill(dt); resultado = VerificarEnIncremento(dt, carroCompraEntrante); } catch (Exception ex) { MessageBox.Show(ex.Message); } finally { conn.Close(); } return(resultado); }
/// <summary> /// Verifica que las filas del DataTable vayan en montos en decremento /// </summary> /// <param name="dt">DataTable a consultar</param> /// <returns>Un booleano indicando false cuando es en decremento, de lo contrario true.</returns> private bool VerificarEnDecremento(DataTable dt, CarroCompra carroCompraEntrante) { bool resultado = false; try { bool hayrechazados; bool esmontomenor; hayrechazados = true; esmontomenor = false; // Condicion para saber si hayrechazados es igual a falso y //si no verificar que los monto de las transacciones son menores que los anteriores. if (dt == null) { hayrechazados = false; } else { if (dt.Rows.Count > 0) { if (dt.Rows[0].Field <float>("MontoTotal") >= carroCompraEntrante.Carrocomprapago.Montototal) { esmontomenor = true; } } foreach (DataRow fila in dt.Rows) { if (fila.Field <int>("Estatus") != (int)Estatus.Rechazado) { hayrechazados = false; } } } if (hayrechazados == true && esmontomenor == true) { resultado = true; } } catch (Exception) { MessageBox.Show("No se encontro la variable en el archivo de configuración"); } return(resultado); }