예제 #1
0
 private void Form1_Load(object sender, EventArgs e)
 {
     datosPago            = new DatosPago();
     logicaForm           = new LogicaForm();
     logicaForm.principal = this;
     SetDescripcion(datosPago);
 }
예제 #2
0
 internal void Activar()
 {
     this.Visible = true;
     this.Focus();
     datosPago = new DatosPago();
     SetDescripcion(datosPago);
 }
예제 #3
0
        public async Task <bool> Pagar(string DNI, DatosPago pago)
        {
            if (!pago.IsValid)
            {
                return(false);
            }
            var contactoDict = await this.StateManager.GetOrAddAsync <IReliableDictionary <string, Contacto> >("contactoDict");

            using (var transaction = this.StateManager.CreateTransaction())
            {
                var contacto = await contactoDict.TryGetValueAsync(transaction, "contacto" + DNI);

                if (!contacto.HasValue)
                {
                    return(false);
                }

                // Add the contact to the DB (very stupid line)
                File.WriteAllText("contacto" + DNI, contacto.Value.Nombre);

                await contactoDict.TryRemoveAsync(transaction, "contacto" + DNI);

                await transaction.CommitAsync();
            }

            return(true);
        }
예제 #4
0
 private void MostrarInfoDePago()
 {
     try
     {
         DatosPago misPagos = DatosPago.AbrirDatosPago();
         Pago      myPago   = misPagos.ObtenerInformacionDePagoCliente(this.idCliente);
         if (myPago != null)
         {
             this.pagoGroupBox.Text              = "Información de pago";
             this.detalleGroupBox.Text           = "Detalle de pagos";
             this.diaVencimientoTextBox.Text     = myPago.DiaVencimiento.ToString();
             this.saldoTextBox.Text              = myPago.Saldo.ToString();
             this.cuotasPactadasTextBox.Text     = myPago.CuotasPactadas.ToString();
             this.detalleDataGridView.DataSource = null;
             this.detalleDataGridView.DataSource = misPagos.ObtenerDetalleDEPago(myPago.Id_Pago);
         }
         else
         {
             this.pagoGroupBox.Text              = "No hay registrada información de pago";
             this.detalleGroupBox.Text           = "No hay detalle de pagos registrados";
             this.diaVencimientoTextBox.Text     = string.Empty;
             this.saldoTextBox.Text              = string.Empty;
             this.cuotasPactadasTextBox.Text     = string.Empty;
             this.detalleDataGridView.DataSource = null;
         }
     } catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #5
0
 internal void SetDescripcion(DatosPago datos)
 {
     lblMontoSeleccionado.Text   = datos.Monto == 0 ? "No Seleccionado" : String.Format("$ {0}", datos.Monto);
     lblTarjetaSeleccionada.Text = String.IsNullOrEmpty(datos.Tarjeta.name) ? "No Seleccionado" : datos.Tarjeta.name;
     lblBancoSeleccionado.Text   = String.IsNullOrEmpty(datos.Banco.name) ? "No Seleccionado" : datos.Banco.name;
     lblCuotaSeleccionada.Text   = datos.Cuotas.Count == 0 ? "No Seleccionado" : datos.Cuotas[0].payer_costs.FirstOrDefault(x => x.installments == datos.CuotaSeleccionada).recommended_message;
 }
예제 #6
0
 public frmSeleccionPago(DatosPago datosPago, LogicaForm logicaForm)
 {
     InitializeComponent();
     // TODO: Complete member initialization
     this.datosPago  = datosPago;
     srv             = new RestServices();
     this.logicaForm = logicaForm;
     SetDescripcion(this.datosPago);
 }
예제 #7
0
 public frmSeleccionBanco(DatosPago datosPago, LogicaForm logicaForm)
 {
     InitializeComponent();
     this.srv              = new RestServices();
     this.datosPago        = datosPago;
     this.bancos           = srv.GetBancos(this.datosPago.Tarjeta.id);
     cbBanco.DataSource    = bancos;
     cbBanco.DisplayMember = "name";
     this.logicaForm       = logicaForm;
     SetDescripcion(datosPago);
 }
예제 #8
0
        public frmSeleccionCuotas(DatosPago datosPago, LogicaForm logicaForm)
        {
            InitializeComponent();
            this.datosPago   = datosPago;
            this.srv         = new RestServices();
            datosPago.Cuotas = srv.GetCantidadCuotas(datosPago.Banco.id, datosPago.Monto, datosPago.Tarjeta.id);

            if (datosPago.Cuotas.Count > 0)
            {
                cbCuotas.DataSource    = datosPago.Cuotas[0].payer_costs;
                cbCuotas.DisplayMember = "installments";
            }
            this.logicaForm = logicaForm;
            SetDescripcion(datosPago);
        }
예제 #9
0
        /// <summary>
        /// Permite registrar el Evento de pago en el historial Visa
        /// Creado por: Ludwing Ottoniel Cano fuentes - 05/03/2019
        ///</summary>
        /// <param name="datos"> datos que contienen la informacion de pago</param>
        /// <param name="datos_visa">datos que indican la operacion de visa</param>
        /// <param name="operacion">tipo de operacion a realizar en este caso pago 552</param>
        /// <param name="messageID">mensaje unico el cual hace referencia al historial de MQ</param>
        /// <returns></returns>
        public bool RegistrarEvento(DatosPago datos, RespuestaVisa datos_visa, string operacion, string messageID)
        {
            var conexion = oracle.NuevaConexion();

            try
            {
                OracleCommand comando = new OracleCommand("MQPRO.NEW_VISA_HISTORY", conexion)
                {
                    CommandType = CommandType.StoredProcedure,
                    BindByName  = true
                };
                DateTime date = System.DateTime.Now;

                string n_tarjeta = datos.TARJETA.Substring(datos.TARJETA.Length - 4);
                string tarjeta   = "XXXXXXXXXXXX" + n_tarjeta;
                comando.Parameters.Add("p_fecha", OracleDbType.Date, date, ParameterDirection.Input);
                comando.Parameters.Add("p_hora", OracleDbType.Varchar2, date.ToString("HH:mm:ss"), ParameterDirection.Input);
                comando.Parameters.Add("p_nis", OracleDbType.Varchar2, datos.NIS_NIR, ParameterDirection.Input);
                comando.Parameters.Add("p_tarjeta", OracleDbType.Varchar2, tarjeta, ParameterDirection.Input);
                comando.Parameters.Add("p_monto", OracleDbType.Varchar2, datos.MONTO, ParameterDirection.Input);
                comando.Parameters.Add("p_f_exp", OracleDbType.Varchar2, datos.FECHA_EXPIRACION, ParameterDirection.Input);
                comando.Parameters.Add("p_operacion", OracleDbType.Varchar2, operacion, ParameterDirection.Input);
                comando.Parameters.Add("p_audit", OracleDbType.Varchar2, datos_visa.AuditNumber, ParameterDirection.Input);
                comando.Parameters.Add("p_reference", OracleDbType.Varchar2, datos_visa.ReferenceNumber, ParameterDirection.Input);
                comando.Parameters.Add("p_response", OracleDbType.Varchar2, datos_visa.ResponseCode, ParameterDirection.Input);
                comando.Parameters.Add("p_message", OracleDbType.Varchar2, datos_visa.MessageType, ParameterDirection.Input);
                comando.Parameters.Add("p_msg", OracleDbType.Varchar2, messageID, ParameterDirection.Input);

                comando.ExecuteNonQuery();
                return(true);
            }
            catch (OracleException ex)
            {
                Console.WriteLine($"GetSQLError - {ex.Message}");
                return(false);
            }
            finally
            {
                conexion?.Close();
                conexion.Dispose();
            }
        }
        public async Task <int> AuthPaymentOrden(DatosPago datosPago)
        {
            var pagoJson = new StringContent(JsonSerializer.Serialize(datosPago), Encoding.UTF8, "application/json");
            var client   = _httpClientFactory.CreateClient("autorizarPago");
            var result   = await client.PostAsync($"Prod/pago/orden/authorizar", pagoJson);

            if (result.IsSuccessStatusCode)
            {
                var responseStream = await result.Content.ReadAsStreamAsync();

                var response = await JsonSerializer.DeserializeAsync <int>(responseStream);

                if (response > 0)
                {
                    return(response);
                }
                return(0);
            }
            return(0);
        }
예제 #11
0
        public DatosRespuestaPago PagoEnLinea(DatosPago datos)
        {
            DatosRespuestaPago respuesta_datos = new DatosRespuestaPago
            {
                TIP_OPER = Properties.Resources.CodErrorAutorizacion,
                STATUS   = "Implementar metodo AutenticarUsuario de primero"
            };

            if (SoapHeader == null)
            {
                return(respuesta_datos);
            }

            if (!SoapHeader.ValidarToken(SoapHeader))
            {
                return(respuesta_datos);
            }

            operaciones     = new Operaciones();
            respuesta_datos = operaciones.PagarVisa(datos);
            return(respuesta_datos);
        }
예제 #12
0
 private void MostrarInfoDePago()
 {
     try
     {
         DatosPago misPagos = DatosPago.AbrirDatosPago();
         Pago      myPago   = misPagos.ObtenerInformacionDePagoCliente(this.idTour);
         if (myPago != null)
         {
             this.detalleGroupBox.Text           = "Detalle de pagos";
             this.detalleDataGridView.DataSource = null;
             this.detalleDataGridView.DataSource = misPagos.ObtenerDetalleDEPago(myPago.Id_Pago);
         }
         else
         {
             this.detalleGroupBox.Text           = "No hay detalle de pagos registrados";
             this.detalleDataGridView.DataSource = null;
         }
     }
     catch (Exception ex)
     {
         MessageBox.Show(ex.Message.ToString(), "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
예제 #13
0
 public async Task Pagar([FromUri] string dni, [FromBody] DatosPago pago)
 {
     var proxy = ServiceProxy.Create <IAltaContacto>(AltaContactosUri, new ServicePartitionKey(1));
     await proxy.Pagar(dni, pago);
 }