public List <ComprobantePagoBe> BuscarComprobantePago(DateTime?fechaPagoDesde, DateTime?fechaPagoHasta, int?codigoSerie, string nroComprobante, string nroDocIdentidadCliente, string nombresCliente, bool flagAnulado, SqlConnection cn) { List <ComprobantePagoBe> resultados = null; try { using (SqlCommand cmd = new SqlCommand("dbo.usp_comprobantepago_buscar", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@fechaPagoDesde", fechaPagoDesde.GetNullable()); cmd.Parameters.AddWithValue("@fechaPagoHasta", fechaPagoHasta.GetNullable()); cmd.Parameters.AddWithValue("@codigoSerie", codigoSerie.GetNullable()); cmd.Parameters.AddWithValue("@nroComprobante", nroComprobante.GetNullable()); cmd.Parameters.AddWithValue("@nroDocumentoIdentidadCliente", nroDocIdentidadCliente.GetNullable()); cmd.Parameters.AddWithValue("@nombresCliente", nombresCliente.GetNullable()); cmd.Parameters.AddWithValue("@flagAnulado", flagAnulado.GetNullable()); using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.HasRows) { resultados = new List <ComprobantePagoBe>(); while (dr.Read()) { ComprobantePagoBe item = new ComprobantePagoBe(); item.Fila = dr.GetData <int>("Fila"); item.CodigoComprobantePago = dr.GetData <int>("CodigoComprobantePago"); item.FechaHoraPago = dr.GetData <DateTime>("FechaHoraPago"); item.CodigoSerie = dr.GetData <int>("CodigoSerie"); item.Serie = new SerieBe(); item.Serie.Serial = dr.GetData <string>("SerialSerie"); item.NroComprobante = dr.GetData <int>("NroComprobante"); item.CodigoMoneda = dr.GetData <int>("CodigoMoneda"); item.CodigoCliente = dr.GetData <int>("CodigoCliente"); item.Cliente = new ClienteBe(); item.Cliente.CodigoCliente = dr.GetData <int>("CodigoCliente"); item.Cliente.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadCliente"); item.Cliente.TipoDocumentoIdentidad = new TipoDocumentoIdentidadBe(); item.Cliente.TipoDocumentoIdentidad.CodigoTipoDocumentoIdentidad = dr.GetData <int>("CodigoTipoDocumentoIdentidadCliente"); item.Cliente.TipoDocumentoIdentidad.Descripcion = dr.GetData <string>("DescripcionTipoDocumentoIdentidadCliente"); item.Cliente.NroDocumentoIdentidad = dr.GetData <string>("NroDocumentoIdentidadCliente"); item.Cliente.Nombres = dr.GetData <string>("NombresCliente"); item.Cliente.FlagActivo = dr.GetData <bool>("FlagActivoCliente"); item.Descripcion = dr.GetData <string>("Descripcion"); item.Monto = dr.GetData <decimal>("Monto"); item.FlagAnulado = dr.GetData <bool>("FlagAnulado"); resultados.Add(item); } } } } } catch (Exception ex) { log.Error(ex.Message); } return(resultados); }
void CargarComprobantePago() { ComprobantePagoBe item = comprobantePagoBl.ObtenerComprobantePago(codigoComprobantePago.Value, true, true); dtpFechaHoraPago.Value = item.FechaHoraPago; cbbCodigoSerie.SelectedValue = item.CodigoSerie; txtNroComprobante.Text = item.NroComprobante.ToString("00000000"); cbbCodigoMoneda.SelectedValue = item.CodigoMoneda.ToString(); codigoCliente = item.CodigoCliente; CargarCliente(codigoCliente); listaDetalleInicial = item.ListaComprobantePagoDetalle; listaDetalle = item.ListaComprobantePagoDetalle; ListarComprobantePagoDetalle(); }
public bool CambiarFlagAnuladoComprobantePago(ComprobantePagoBe registro) { bool seGuardo = false; try { cn.Open(); seGuardo = comprobantePagoDa.CambiarFlagAnuladoComprobantePago(registro, cn); } catch (Exception ex) { log.Error(ex.Message); } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(seGuardo); }
public bool GuardarComprobantePago(ComprobantePagoBe registro, SqlConnection cn, out int codigoComprobantePago, out int nroComprobante) { codigoComprobantePago = 0; nroComprobante = 0; bool seGuardo = false; try { using (SqlCommand cmd = new SqlCommand("dbo.usp_comprobantepago_guardar", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.Add(new SqlParameter { ParameterName = "@codigoComprobantePago", Value = registro.CodigoComprobantePago.GetNullable(), Direction = ParameterDirection.InputOutput }); cmd.Parameters.AddWithValue("@fechaHoraPago", registro.FechaHoraPago.GetNullable()); cmd.Parameters.AddWithValue("@codigoSerie", registro.CodigoSerie.GetNullable()); cmd.Parameters.Add(new SqlParameter { ParameterName = "@nroComprobante", Value = registro.NroComprobante.GetNullable(), Direction = ParameterDirection.InputOutput }); cmd.Parameters.AddWithValue("@codigoMoneda", registro.CodigoMoneda.GetNullable()); cmd.Parameters.AddWithValue("@codigoCliente", registro.CodigoCliente.GetNullable()); cmd.Parameters.AddWithValue("@descripcion", registro.CodigoCliente.GetNullable()); cmd.Parameters.AddWithValue("@monto", registro.Monto.GetNullable()); cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable()); int filasAfectadas = cmd.ExecuteNonQuery(); seGuardo = filasAfectadas > 0; if (seGuardo) { codigoComprobantePago = (int)cmd.Parameters["@codigoComprobantePago"].Value; nroComprobante = (int)cmd.Parameters["@nroComprobante"].Value; } } } catch (Exception ex) { log.Error(ex.Message); } return(seGuardo); }
public bool CambiarFlagAnuladoComprobantePago(ComprobantePagoBe registro, SqlConnection cn) { bool seGuardo = false; try { using (SqlCommand cmd = new SqlCommand("dbo.usp_comprobantepago_cambiar_flaganulado", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codigoComprobantePago", registro.CodigoComprobantePago.GetNullable()); cmd.Parameters.AddWithValue("@flagAnulado", registro.FlagAnulado.GetNullable()); cmd.Parameters.AddWithValue("@usuarioModi", registro.UsuarioModi.GetNullable()); int filasAfectadas = cmd.ExecuteNonQuery(); seGuardo = filasAfectadas > 0; } } catch (Exception ex) { log.Error(ex.Message); } return(seGuardo); }
public ComprobantePagoBe ObtenerComprobantePago(int codigoComprobantePago, bool withDetalle = false, bool withProductoIndividual = false) { ComprobantePagoBe item = null; try { cn.Open(); item = comprobantePagoDa.ObtenerComprobantePago(codigoComprobantePago, cn); if (withDetalle) { item.ListaComprobantePagoDetalle = comprobantePagoDetalleDa.ListarComprobantePagoDetalle(codigoComprobantePago, cn); } } catch (Exception ex) { log.Error(ex.Message); } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(item); }
private void btnGuardar_Click(object sender, EventArgs e) { bool estaValidado = ValidarFormulario(); if (!estaValidado) { return; } ComprobantePagoBe registro = new ComprobantePagoBe(); if (codigoComprobantePago.HasValue) { registro.CodigoComprobantePago = codigoComprobantePago.Value; } registro.FechaHoraPago = dtpFechaHoraPago.Value; registro.CodigoSerie = (int)cbbCodigoSerie.SelectedValue; if (!string.IsNullOrEmpty(txtNroComprobante.Text)) { registro.NroComprobante = int.Parse(txtNroComprobante.Text.Trim()); } registro.CodigoMoneda = int.Parse(cbbCodigoMoneda.SelectedValue.ToString()); registro.CodigoCliente = codigoCliente.Value; registro.ListaComprobantePagoDetalle = listaDetalle; registro.ListaComprobantePagoDetalleEliminar = listaDetalleInicial == null ? null : listaDetalleInicial.Where(x => listaDetalle.Count(y => y.CodigoComprobantePagoDetalle == x.CodigoComprobantePagoDetalle) == 0).Select(x => x.CodigoComprobantePagoDetalle).ToArray(); registro.Monto = listaDetalle.Sum(x => x.ImportePagar); bool seGuardoRegistro = comprobantePagoBl.GuardarComprobantePago(registro); if (seGuardoRegistro) { DialogResult = MessageBox.Show("¡El registro se guardó correctamente!", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information); Close(); } else { MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } }
public ComprobantePagoBe ObtenerComprobantePago(int codigoComprobantePago, SqlConnection cn) { ComprobantePagoBe item = null; try { using (SqlCommand cmd = new SqlCommand("dbo.usp_comprobantepago_obtener", cn)) { cmd.CommandType = CommandType.StoredProcedure; cmd.Parameters.AddWithValue("@codigoComprobantePago", codigoComprobantePago.GetNullable()); using (SqlDataReader dr = cmd.ExecuteReader()) { if (dr.HasRows) { item = new ComprobantePagoBe(); if (dr.Read()) { item.CodigoComprobantePago = dr.GetData <int>("CodigoComprobantePago"); item.CodigoSerie = dr.GetData <int>("CodigoSerie"); item.NroComprobante = dr.GetData <int>("NroComprobante"); item.FechaHoraPago = dr.GetData <DateTime>("FechaHoraPago"); item.CodigoCliente = dr.GetData <int>("CodigoCliente"); item.Descripcion = dr.GetData <string>("Descripcion"); item.Monto = dr.GetData <decimal>("Monto"); item.FlagAnulado = dr.GetData <bool>("FlagAnulado"); item.FlagEliminado = dr.GetData <bool>("FlagEliminado"); } } } } } catch (Exception ex) { log.Error(ex.Message); } return(item); }
private void mitAnular_Click(object sender, EventArgs e) { MenuItem mitControl = (MenuItem)sender; dynamic data = (object)mitControl.Tag; DialogResult dr = MessageBox.Show($"¿Estás seguro que deseas anular el registro?", "Confirmar", MessageBoxButtons.YesNo, MessageBoxIcon.Question); if (dr == DialogResult.Yes) { ComprobantePagoBe registro = new ComprobantePagoBe(); registro.CodigoComprobantePago = data.CodigoComprobantePago; registro.FlagAnulado = true; bool seGuardo = comprobantePagoBl.CambiarFlagAnuladoComprobantePago(registro); if (seGuardo) { MessageBox.Show($"Se anuló el registro", "¡Bien hecho!", MessageBoxButtons.OK, MessageBoxIcon.Information); BuscarComprobantesPago(); } else { MessageBox.Show("¡Ocurrió un error! Contáctese con el administrador del sistema", "¡Error!", MessageBoxButtons.OK, MessageBoxIcon.Error); } } }
public bool GuardarComprobantePago(ComprobantePagoBe registro) { bool seGuardo = false; try { using (TransactionScope scope = new TransactionScope()) { cn.Open(); int codigoComprobantePago = 0, nroComprobante = 0; seGuardo = comprobantePagoDa.GuardarComprobantePago(registro, cn, out codigoComprobantePago, out nroComprobante); if (registro.ListaComprobantePagoDetalle != null && seGuardo) { foreach (ComprobantePagoDetalleBe item in registro.ListaComprobantePagoDetalle) { if (item.CodigoComprobantePago == 0) { item.CodigoComprobantePago = codigoComprobantePago; } if (!seGuardo) { break; } seGuardo = comprobantePagoDetalleDa.GuardarComprobantePagoDetalle(item, cn); if (!seGuardo) { break; } TipoDocumentoPago tipoDocumentoPago = (TipoDocumentoPago)item.CodigoTipoDocumentoPago; switch (tipoDocumentoPago) { case TipoDocumentoPago.Factura: FacturaVentaBe documentoPagoFactura = new FacturaVentaBe { CodigoFacturaVenta = item.CodigoDocumentoPago, FlagCancelado = true, UsuarioModi = item.UsuarioModi }; seGuardo = facturaVentaDa.CambiarFlagCanceladoFacturaVenta(documentoPagoFactura, cn); break; case TipoDocumentoPago.Boleta: BoletaVentaBe documentoPagoBoleta = new BoletaVentaBe { CodigoBoletaVenta = item.CodigoDocumentoPago, FlagCancelado = true, UsuarioModi = item.UsuarioModi }; seGuardo = boletaVentaDa.CambiarFlagCanceladoBoletaVenta(documentoPagoBoleta, cn); break; case TipoDocumentoPago.Letra: LetraBe letra = letraDa.ObtenerLetra(item.CodigoDocumentoPago, cn); bool porRenovar = item.ImportePagar < letra.Total; if (!porRenovar) { int codigoLetraInicial = letra.CodigoLetraInicial.HasValue ? letra.CodigoLetraInicial.Value : letra.CodigoLetra; var listaLetrasPorCancelar = letraDa.ListarLetraPorCodigoLetraInicial(codigoLetraInicial, cn); if (listaLetrasPorCancelar != null) { foreach (var letraPorCancelar in listaLetrasPorCancelar) { LetraBe documentoPagoLetra = new LetraBe { CodigoLetra = letraPorCancelar.CodigoLetra, FlagCancelado = true, UsuarioModi = letraPorCancelar.UsuarioModi }; seGuardo = letraDa.CambiarFlagCanceladoLetra(documentoPagoLetra, cn); if (!seGuardo) { break; } } } } if (seGuardo && porRenovar) { letra.Estado = (int)EstadoLetra.Renovada; letra.UsuarioModi = registro.UsuarioModi; seGuardo = letraDa.CambiarEstadoLetra(letra, cn); if (!seGuardo) { break; } LetraBe nuevaLetra = new LetraBe { FechaHoraEmision = letra.FechaHoraEmision, FechaVencimiento = letra.FechaVencimiento.AddMonths(1), Dias = (letra.FechaVencimiento.AddMonths(1) - letra.FechaVencimiento).Days, CodigoTipoComprobanteRef = letra.CodigoTipoComprobanteRef, CodigoComprobanteRef = letra.CodigoComprobanteRef, CodigoSerieComprobanteRef = letra.CodigoSerieComprobanteRef, NroComprobanteComprobanteRef = letra.NroComprobanteComprobanteRef, CodigoGuiaRemision = letra.CodigoGuiaRemision, CodigoSerieGuiaRemision = letra.CodigoSerieGuiaRemision, NroComprobanteGuiaRemision = letra.NroComprobanteGuiaRemision, CodigoCliente = letra.CodigoCliente, CodigoBanco = letra.CodigoBanco, CodigoUnicoBanco = letra.CodigoUnicoBanco, CodigoMoneda = letra.CodigoMoneda, Monto = letra.Monto - item.MontoPagar, Mora = letra.Mora - item.MoraPagar, Protesto = letra.Protesto - item.ProtestoPagar, Estado = (int)EstadoLetra.Pendiente, CodigoLetraPadre = letra.CodigoLetra, CodigoLetraInicial = letra.CodigoLetraInicial.HasValue ? letra.CodigoLetraInicial.Value : letra.CodigoLetra, FlagAval = letra.FlagAval, CodigoAval = letra.CodigoAval, DireccionAval = letra.DireccionAval, NombrePaisAval = letra.NombrePaisAval, NombreDepartamentoAval = letra.NombreDepartamentoAval, NombreProvinciaAval = letra.NombreProvinciaAval, CodigoDistritoAval = letra.CodigoDistritoAval, NombreDistritoAval = letra.NombreDistritoAval, FlagCancelado = letra.FlagCancelado, FlagActivo = letra.FlagActivo, FlagEliminado = letra.FlagEliminado }; int nuevoCodigoLetra = 0, nuevoNumeroLetra = 0; seGuardo = letraDa.GuardarLetra(nuevaLetra, cn, out nuevoCodigoLetra, out nuevoNumeroLetra); if (!seGuardo) { break; } } break; } if (!seGuardo) { break; } } } if (registro.ListaComprobantePagoDetalleEliminar != null && seGuardo) { foreach (int codigoComprobantePagoDetalle in registro.ListaComprobantePagoDetalleEliminar) { seGuardo = comprobantePagoDetalleDa.EliminarComprobantePagoDetalle(codigoComprobantePagoDetalle, registro.UsuarioModi, cn); if (!seGuardo) { break; } } } if (seGuardo) { scope.Complete(); } } } catch (Exception ex) { log.Error(ex.Message); } finally { if (cn.State == ConnectionState.Open) { cn.Close(); } } return(seGuardo); }