public void GuardarPago(Pago pago, double montoRecibido) { PagoServicio pagoServicio = new PagoServicio(); pagoServicio.ValidarVuelto(pago, montoRecibido); gestorDAO.AbrirConexion(); gestorDAO.IniciarTransaccion(); pagoDAO.Guardar(pago); gestorDAO.TerminarTransaccion(); gestorDAO.CerrarConexion(); }
public int Agregar(PagoServicioVob pagoServicio) { PagoServicio pago = new PagoServicio(); using (var context = new UPC_MUNIEntities()) { pago.FechaPago = pagoServicio.FechaPago; pago.NumSolicitudPago = pagoServicio.SolicitudPagoServicio.NumSolicitudPago; pago.CodFormaPago = pagoServicio.CodFormaPago; pago.CodTipoCambio = pagoServicio.CodTipoCambio; pago.CodMonedaPago = pagoServicio.CodMonedaPago; pago.MontoPago = pagoServicio.MontoPago; pago.CodEstadoPago = pagoServicio.CodEstadoPago; context.PagoServicio.Add(pago); context.SaveChanges(); // ACTUALIZAR SOLICITUD var solicitud = (from c in context.SolicitudPagoServicio where c.NumSolicitudPago == pagoServicio.SolicitudPagoServicio.NumSolicitudPago select c).First(); solicitud.CodEstadoSolicitud = pagoServicio.SolicitudPagoServicio.CodEstadoSolicitud; // context.Expediente.Add(exp); context.SolicitudPagoServicio.Attach(solicitud); context.Entry(solicitud).State = EntityState.Modified; context.SaveChanges(); return(Convert.ToInt32(pago.NumeroPago)); }; }
public async Task <ActionResult <StandardResponse> > PagoServicio(PagoServicio pagoServicio) { Tarjeta tarjeta = await _context.Tarjeta.Where(b => b.TarjetaId == pagoServicio.TarjetaId).FirstOrDefaultAsync(); if (tarjeta == null) { return(NotFound()); } CuentaBancaria cuentaBancariaOrigen = await _context.CuentaBancaria.Where(b => b.CuentaBancariaId == tarjeta.CuentaBancariaId).FirstOrDefaultAsync(); if (cuentaBancariaOrigen == null) { return(NotFound()); } StandardResponse standardResponse = new StandardResponse(); if ((cuentaBancariaOrigen.Saldo - pagoServicio.Monto) < 0) { standardResponse.Code = 200; standardResponse.Message = "Saldo Insuficiente"; standardResponse.data = tarjeta.TarjetaId.ToString(); return(Ok(standardResponse)); } long cuentaDestino; if (pagoServicio.TipoServicio.Equals("T")) { ServicioTelefono servicioTelefono = await _context.ServicioTelefono.Where(b => b.Telefono == pagoServicio.Correlativo).FirstOrDefaultAsync(); if (servicioTelefono == null) { return(NotFound()); } cuentaDestino = servicioTelefono.CuentaBancariaId; servicioTelefono.Saldo -= pagoServicio.Monto; _context.Entry(servicioTelefono).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } } else { ServicioLuz servicioLuz = await _context.ServicioLuz.Where(b => b.Correlativo == pagoServicio.Correlativo).FirstOrDefaultAsync(); if (servicioLuz == null) { return(NotFound()); } cuentaDestino = servicioLuz.CuentaBancariaId; servicioLuz.Saldo -= pagoServicio.Monto; _context.Entry(servicioLuz).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } } CuentaBancaria cuentaBancariaDestino = await _context.CuentaBancaria.Where(b => b.CuentaBancariaId == cuentaDestino).FirstOrDefaultAsync(); if (cuentaBancariaDestino == null) { return(NotFound()); } cuentaBancariaDestino.Saldo += pagoServicio.Monto; cuentaBancariaOrigen.Saldo -= pagoServicio.Monto; _context.Entry(cuentaBancariaDestino).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } _context.Entry(cuentaBancariaOrigen).State = EntityState.Modified; try { await _context.SaveChangesAsync(); } catch (DbUpdateConcurrencyException) { throw; } //Guarda Bitacora Bitacora bitacora = new Bitacora(); bitacora.CuentaBancariaDestino = cuentaBancariaDestino.CuentaBancariaId; bitacora.CuentaBancariaOrigen = cuentaBancariaOrigen.CuentaBancariaId; bitacora.Monto = pagoServicio.Monto; _context.Bitacora.Add(bitacora); await _context.SaveChangesAsync(); //Devuelve Respuesta standardResponse.Code = 200; standardResponse.Message = "Pago Exitoso"; standardResponse.data = tarjeta.TarjetaId.ToString(); return(Ok(standardResponse)); }
private void Paso3_3() { w1_3.Visibility = System.Windows.Visibility.Collapsed; w2_3.Visibility = System.Windows.Visibility.Collapsed; w3_3.Visibility = System.Windows.Visibility.Visible; w2_3_ST.Visibility = System.Windows.Visibility.Collapsed; btnProcess.Visibility = System.Windows.Visibility.Collapsed; (ApplicationBar.Buttons[0] as Microsoft.Phone.Shell.ApplicationBarIconButton).IsEnabled = true; (ApplicationBar.Buttons[2] as Microsoft.Phone.Shell.ApplicationBarIconButton).IsEnabled = false; this._flujo = PagoServicio.Pago; }
private void Paso2_3() { w1_3.Visibility = System.Windows.Visibility.Collapsed; w2_3.Visibility = System.Windows.Visibility.Visible; w3_3.Visibility = System.Windows.Visibility.Collapsed; btnProcess.Content = TextosBotones.bConfirmar; (ApplicationBar.Buttons[1] as Microsoft.Phone.Shell.ApplicationBarIconButton).IsEnabled = false; (ApplicationBar.Buttons[2] as Microsoft.Phone.Shell.ApplicationBarIconButton).IsEnabled = false; this._vm.Referencia = tbxReferencia.Text; this._vm.Importe = Convert.ToDouble(tbxImporte.Text); this._flujo = PagoServicio.Confirmacion; }
private void Paso1_3(bool nuevo = false) { if (nuevo) { tbxCuentaCargo.Text = string.Empty; tbxServicio.Text = string.Empty; tbxReferencia.Text = string.Empty; tbxImporte.Text = string.Empty; tbReferencia.Visibility = System.Windows.Visibility.Collapsed; tbxReferencia.Visibility = System.Windows.Visibility.Collapsed; } w1_3.Visibility = System.Windows.Visibility.Visible; w2_3.Visibility = System.Windows.Visibility.Collapsed; w3_3.Visibility = System.Windows.Visibility.Collapsed; w2_3_ST.Visibility = System.Windows.Visibility.Collapsed; btnProcess.Visibility = System.Windows.Visibility.Visible; btnProcess.Content = TextosBotones.bContinuar; (ApplicationBar.Buttons[0] as Microsoft.Phone.Shell.ApplicationBarIconButton).IsEnabled = false; (ApplicationBar.Buttons[2] as Microsoft.Phone.Shell.ApplicationBarIconButton).IsEnabled = false; if (this._vm != null) tbMessage1.Text = string.Format(TextosPantallas.tm1, this._vm.LimiteDisponible.FormatoImporte()); this._flujo = PagoServicio.CuentaServicio; }