private void tsbNuevo_Click(object sender, EventArgs e) { ordenVenta = null; dgvVenta.AutoGenerateColumns = false; txtNumeroIdentificacion.Clear(); txtNumeroIdentificacion.ReadOnly = true; txtNumeroFactura.Clear(); txtNumeroFactura.ReadOnly = true; txtFechaFactura.Clear(); txtFechaFactura.ReadOnly = true; txtCliente.Clear(); txtCliente.ReadOnly = true; txtDireccion.Clear(); txtDireccion.ReadOnly = true; txtConvencional.Clear(); txtConvencional.ReadOnly = true; txtCelular.Clear(); txtCelular.ReadOnly = true; dgvVenta.DataSource = new List <tbOrdenVentaDetalle>(); txtComentarios.Clear(); txtSubtotal.Text = Util.FormatoMoneda(0, 2); txtIVA.Text = Util.FormatoMoneda(0, 2); txtTotalNeto.Text = Util.FormatoMoneda(0, 2); txtNumeroIdentificacion.Select(); }
private void dgvOrdenVentaCabecera_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0 && devoluciones) { ordenVenta = (tbOrdenVentaCabecera)dgvOrdenVentaCabecera.CurrentRow.DataBoundItem; this.DialogResult = System.Windows.Forms.DialogResult.OK; } }
private void dgvOrdenVentaCabecera_CellDoubleClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { if (tipoOrdenVenta == "C") { tbOrdenVentaCabecera ordenVenta = (tbOrdenVentaCabecera)dgvOrdenVentaCabecera.CurrentRow.DataBoundItem; long idOrdenVenta = ordenVenta.idOrdenVentaCabecera; int idEstadoOrdenVenta = ordenVenta.idEstadoOrdenVenta; if (idEstadoOrdenVenta == 3) { MessageBox.Show("Cotización ya no puede ser modificada porque se convirtió en una orden de venta", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { frmOrdenVenta _frmOrdenVenta = new frmOrdenVenta("C", tipoVenta, "2"); _frmOrdenVenta.Text = (tipoVenta == "N" ? "Cotización" : "Egreso de pedidos outsoursing"); _frmOrdenVenta.idOrdenVenta = idOrdenVenta; if (_frmOrdenVenta.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ordenVenta = (from OV in _dbCosolemEntities.tbOrdenVentaCabecera where OV.idOrdenVentaCabecera == idOrdenVenta select OV).FirstOrDefault(); tbSeguimientoCotizacionCabecera seguimientoCotizacion = ordenVenta.tbSeguimientoCotizacionCabecera.FirstOrDefault(); seguimientoCotizacion.idEstadoSeguimientoCotizacion = 1; seguimientoCotizacion.fechaHoraUltimaModificacion = Program.fechaHora; seguimientoCotizacion.idUsuarioUltimaModificacion = idUsuario; seguimientoCotizacion.terminalUltimaModificacion = Program.terminal; seguimientoCotizacion.tbSeguimientoCotizacionDetalle.Add(new tbSeguimientoCotizacionDetalle { comentarioSeguimiento = "Cotización " + idOrdenVenta.ToString() + " modificada", estadoRegistro = true, fechaHoraIngreso = Program.fechaHora, idUsuarioIngreso = idUsuario, terminalIngreso = Program.terminal }); _dbCosolemEntities.SaveChanges(); tsbBuscar_Click(null, null); } } } } }
private void frmReporteCotizacion_Load(object sender, EventArgs e) { _dbCosolemEntities = new dbCosolemEntities(); tbOrdenVentaCabecera ordenVenta = (from OVC in _dbCosolemEntities.tbOrdenVentaCabecera where OVC.tipoOrdenVenta == "C" && OVC.idEstadoOrdenVenta == 2 && OVC.estadoRegistro && OVC.idOrdenVentaCabecera == idCotizacion select OVC).FirstOrDefault(); List <rptCotizacion> _rptCotizacion = new List <rptCotizacion>(); ordenVenta.tbOrdenVentaDetalle.Where(x => x.estadoRegistro).ToList().ForEach(y => { rptCotizacion cotizacion = new rptCotizacion(); cotizacion.idOrdenVentaCabecera = ordenVenta.idOrdenVentaCabecera; cotizacion.fecha = ordenVenta.fechaHoraOrdenVenta.ToString("dd/MM/yyyy"); cotizacion.hora = ordenVenta.fechaHoraOrdenVenta.ToString("HH:mm:ss"); cotizacion.usuario = edmCosolemFunctions.getNombreUsuario(y.idUsuarioIngreso); cotizacion.tipoIdentificacion = ordenVenta.tipoIdentificacion.ToUpper(); cotizacion.numeroIdentificacion = ordenVenta.numeroIdentificacion; cotizacion.formaPago = ordenVenta.tbFormaPago.descripcion + (ordenVenta.idFormaPago == 1 ? "" : " - " + ordenVenta.tbProductoFinancieroCabecera.descripcion); cotizacion.cliente = ordenVenta.cliente; cotizacion.direccion = ordenVenta.direccion; cotizacion.referencia = ordenVenta.referenciaEntregaDomicilio; cotizacion.telefonos = String.Join(", ", new List <string> { ordenVenta.convencional, ordenVenta.celular }); cotizacion.producto = y.tbProducto.descripcion; cotizacion.precio = y.precio; cotizacion.cantidad = y.cantidad; cotizacion.subTotal = y.subTotal; cotizacion.descuento = y.descuento; cotizacion.subTotalBruto = y.subTotalBruto; cotizacion.etiquetaIVA = "IVA " + (y.porcentajeIVA / 100M).ToString("p0"); cotizacion.IVA = y.IVA; cotizacion.totalNeto = y.totalNeto; _rptCotizacion.Add(cotizacion); }); rvwCotizacion.LocalReport.DisplayName = "Cotización_" + idCotizacion.ToString() + "_" + usuario + "_" + Program.fechaHora.ToString("ddMMyyyy_HHmmss"); rvwCotizacion.LocalReport.DataSources.Clear(); rvwCotizacion.LocalReport.ReportPath = Application.StartupPath + "\\Reportes\\Ventas\\rptCotizacion.rdlc"; rvwCotizacion.LocalReport.DataSources.Add(new ReportDataSource("dtsCotizacion", _rptCotizacion)); rvwCotizacion.RefreshReport(); }
private void tsbBuscar_Click(object sender, EventArgs e) { frmBusquedaFactura busquedaFactura = new frmBusquedaFactura("false", "true"); busquedaFactura.Text = "Búsqueda de facturas a 8 días atrás"; if (busquedaFactura.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ordenVenta = busquedaFactura.ordenVenta; txtNumeroIdentificacion.Text = ordenVenta.numeroIdentificacion; txtNumeroFactura.Text = ordenVenta.numeroFactura.ToString(); txtFechaFactura.Text = ordenVenta.fechaHoraFactura.Value.ToString("dd/MM/yyyy - HH:mm:ss"); txtCliente.Text = ordenVenta.cliente; txtDireccion.Text = ordenVenta.direccion; txtConvencional.Text = ordenVenta.convencional; txtCelular.Text = ordenVenta.celular; ordenVenta.tbOrdenVentaDetalle.Where(x => x.estadoRegistro).ToList().ForEach(y => { y.codigoProducto = y.tbProducto.codigoProducto; y.descripcionProducto = y.tbProducto.codigoProducto + " - " + y.tbProducto.descripcion; string descripcionBodegaSalida = string.Empty; if (y.tbProducto.tbTipoProducto.esInventariable) { descripcionBodegaSalida = y.idBodega + " - " + y.tbBodega.descripcion; } y.descripcionBodegaSalida = descripcionBodegaSalida; y.idBodegaEntrada = 0; y.descripcionBodegaEntrada = string.Empty; y.precio = (ordenVenta.idFormaPago == 1 ? (ordenVenta.tipoVenta == "N" ? y.precioOferta : y.costo) : y.precioVentaPublico); }); dgvVenta.DataSource = ordenVenta.tbOrdenVentaDetalle.Where(x => x.estadoRegistro).ToList(); txtSubtotal.Text = Util.FormatoMoneda(ordenVenta.subTotalBruto, 2); txtIVA.Text = Util.FormatoMoneda(ordenVenta.IVA, 2); txtTotalNeto.Text = Util.FormatoMoneda(ordenVenta.totalNeto, 2); } }
private void dgvOrdenVentaCabecera_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { tbOrdenVentaCabecera ordenVenta = (tbOrdenVentaCabecera)dgvOrdenVentaCabecera.CurrentRow.DataBoundItem; dgvOrdenVentaDetalle.DataSource = new List <tbOrdenVentaDetalle>((ordenVenta).tbOrdenVentaDetalle).Where(x => x.estadoRegistro).Select(y => new { producto = y.tbProducto.codigoProducto + " - " + y.tbProducto.descripcion, bodega = (y.idBodega.HasValue ? y.idBodega.ToString() + " - " + y.tbBodega.descripcion : String.Empty), precio = (ordenVenta.idFormaPago == 1 ? (ordenVenta.tipoVenta == "N" ? y.precioOferta : y.costo) : y.precioVentaPublico), cantidad = y.cantidad, subTotalBruto = y.subTotalBruto, IVA = y.IVA, totalNeto = y.totalNeto }).ToList(); dgvOrdenVentaFormaPago.DataSource = new List <tbOrdenVentaFormaPago>((ordenVenta).tbOrdenVentaFormaPago).Select(x => new { descripcionFormaPago = x.tbFormaPago.descripcion, valor = x.valor }).ToList(); } }
private void dgvOrdenVentaCabecera_CellClick(object sender, DataGridViewCellEventArgs e) { if (e.RowIndex >= 0) { tbOrdenVentaCabecera ordenVenta = (tbOrdenVentaCabecera)dgvOrdenVentaCabecera.CurrentRow.DataBoundItem; long idOrdenVenta = ordenVenta.idOrdenVentaCabecera; int idEstadoOrdenVenta = ordenVenta.idEstadoOrdenVenta; if (!new List <int> { dccSeleccionado.Index, dicComentarios.Index, dicHacerOrdenVenta.Index, dicFacturar.Index, dicImprimir.Index }.Contains(e.ColumnIndex)) { dgvOrdenVentaDetalle.DataSource = new List <tbOrdenVentaDetalle>((ordenVenta).tbOrdenVentaDetalle).Where(x => x.estadoRegistro).Select(y => new { producto = y.tbProducto.codigoProducto + " - " + y.tbProducto.descripcion, bodega = (y.idBodega.HasValue ? y.tbBodega.tbTienda.descripcion + " - " + y.tbBodega.descripcion : String.Empty), precio = (ordenVenta.tipoVenta == "N" ? y.precioInformativo : y.costo), cantidad = y.cantidad, total = y.subTotal }).ToList(); } if (e.ColumnIndex == dicComentarios.Index) { frmSeguimientoCotizacion _frmSeguimientoCotizacion = new frmSeguimientoCotizacion(idOrdenVenta, idEstadoOrdenVenta); _frmSeguimientoCotizacion.Text = "Seguimiento de cotización " + " " + idOrdenVenta.ToString(); if (_frmSeguimientoCotizacion.ShowDialog() == System.Windows.Forms.DialogResult.OK) { tsbBuscar_Click(null, null); } } if (e.ColumnIndex == dicHacerOrdenVenta.Index) { if (idEstadoOrdenVenta == 3) { MessageBox.Show("Cotización ya no se puede volver a convertirse en orden de venta", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { frmOrdenVenta _frmOrdenVenta = new frmOrdenVenta("O", tipoVenta, "1"); _frmOrdenVenta.Text = (tipoVenta == "N" ? "Orden de venta" : "Orden de venta outsoursing"); _frmOrdenVenta.idOrdenVenta = idOrdenVenta; if (_frmOrdenVenta.ShowDialog() == System.Windows.Forms.DialogResult.OK) { ordenVenta = (from OV in _dbCosolemEntities.tbOrdenVentaCabecera where OV.idOrdenVentaCabecera == idOrdenVenta select OV).FirstOrDefault(); ordenVenta.idEstadoOrdenVenta = 3; ordenVenta.fechaHoraUltimaModificacion = Program.fechaHora; ordenVenta.idUsuarioUltimaModificacion = idUsuario; ordenVenta.terminalUltimaModificacion = Program.terminal; tbSeguimientoCotizacionCabecera seguimientoCotizacion = ordenVenta.tbSeguimientoCotizacionCabecera.FirstOrDefault(); seguimientoCotizacion.idEstadoSeguimientoCotizacion = 2; seguimientoCotizacion.fechaHoraUltimaModificacion = Program.fechaHora; seguimientoCotizacion.idUsuarioUltimaModificacion = idUsuario; seguimientoCotizacion.terminalUltimaModificacion = Program.terminal; seguimientoCotizacion.tbSeguimientoCotizacionDetalle.Add(new tbSeguimientoCotizacionDetalle { comentarioSeguimiento = "Cotización " + idOrdenVenta.ToString() + " es una orden de venta", estadoRegistro = true, fechaHoraIngreso = Program.fechaHora, idUsuarioIngreso = idUsuario, terminalIngreso = Program.terminal }); _dbCosolemEntities.SaveChanges(); tsbBuscar_Click(null, null); } } } if (e.ColumnIndex == dicFacturar.Index) { frmCaja _frmCaja = new frmCaja(idOrdenVenta); _frmCaja.Text = this.Text + " " + idOrdenVenta.ToString(); if (_frmCaja.ShowDialog() == System.Windows.Forms.DialogResult.OK) { tsbBuscar_Click(null, null); } } if (e.ColumnIndex == dicImprimir.Index) { if (idEstadoOrdenVenta == 3) { MessageBox.Show("Cotización ya no se puede imprimir porque se convirtió en orden de venta", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { new frmReporteCotizacion(idOrdenVenta).ShowDialog(); } } } }
private void tsbGrabar_Click(object sender, EventArgs e) { List <tbOrdenVentaDetalle> ordenVentaDetalle = new List <tbOrdenVentaDetalle>(); if (ordenVenta != null) { ordenVentaDetalle = ordenVenta.tbOrdenVentaDetalle.Where(x => x.estadoRegistro && x.tbProducto.tbTipoProducto.esInventariable).ToList(); } if (ordenVenta == null) { MessageBox.Show("Seleccione una factura para poder realizar la devolución", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (ordenVentaDetalle.Where(x => x.idBodegaEntrada != 0).Count() < ordenVentaDetalle.Count) { MessageBox.Show("Seleccione una bodega en los productos que va a devolver", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else if (String.IsNullOrEmpty(txtComentarios.Text.Trim())) { MessageBox.Show("Ingrese un comentario para poder realizar la devolución", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Warning); } else { long idOrdenVentaCabecera = ordenVenta.idOrdenVentaCabecera; ordenVenta = (from OVC in _dbCosolemEntities.tbOrdenVentaCabecera where OVC.idOrdenVentaCabecera == idOrdenVentaCabecera select OVC).FirstOrDefault(); long idEmpresa = ordenVenta.idEmpresaFactura.Value; long idTienda = ordenVenta.idTiendaFactura.Value; long numeroFactura = ordenVenta.numeroFactura.Value; ordenVenta.idEstadoOrdenVenta = 7; ordenVenta.comentarios = txtComentarios.Text.Trim(); ordenVenta.fechaHoraEliminacion = Program.fechaHora; ordenVenta.idUsuarioEliminacion = idUsuario; ordenVenta.terminalEliminacion = Program.terminal; List <tbInventario> inventario = new List <tbInventario>(); ordenVentaDetalle.ForEach(y => { long idBodega = y.idBodegaEntrada; long idProducto = y.idProducto; int cantidad = y.cantidad; tbInventario _tbInventario = (from I in _dbCosolemEntities.tbInventario where I.idBodega == idBodega && I.idProducto == idProducto && I.estadoRegistro select I).FirstOrDefault(); if (_tbInventario == null) { _tbInventario = new tbInventario(); _tbInventario.idBodega = idBodega; _tbInventario.idProducto = idProducto; _tbInventario.fisicoDisponible = cantidad; _tbInventario.reservado = 0; _tbInventario.estadoRegistro = true; _tbInventario.fechaHoraIngreso = Program.fechaHora; _tbInventario.idUsuarioIngreso = idUsuario; _tbInventario.terminalIngreso = Program.terminal; _dbCosolemEntities.tbInventario.AddObject(_tbInventario); } else { _tbInventario.fisicoDisponible += cantidad; _tbInventario.fechaHoraUltimaModificacion = Program.fechaHora; _tbInventario.idUsuarioUltimaModificacion = idUsuario; _tbInventario.terminalUltimaModificacion = Program.terminal; } _tbInventario.concepto = "DEVOLUCIÓN DE FACTURA " + new String('0', 9 - numeroFactura.ToString().Trim().Length) + numeroFactura.ToString().Trim(); _tbInventario.fechaFactura = ordenVenta.fechaHoraFactura.Value; _tbInventario.cliente = ordenVenta.numeroIdentificacion + " - " + ordenVenta.cliente; _tbInventario.comentarios = ordenVenta.comentarios; _tbInventario.codigoProducto = y.codigoProducto; _tbInventario.descripcionProducto = y.descripcionProducto; _tbInventario.cantidad = cantidad; inventario.Add(_tbInventario); tbTransaccionInventario _tbTransaccionInventario = new tbTransaccionInventario(); _tbTransaccionInventario.tipoTransaccion = "Ingreso de inventario por devolución de factura " + Util.setFormatoNumeroFactura(idEmpresa, idTienda, numeroFactura); _tbTransaccionInventario.idBodega = idBodega; _tbTransaccionInventario.idProducto = idProducto; _tbTransaccionInventario.cantidad = cantidad; _tbTransaccionInventario.estadoRegistro = true; _tbTransaccionInventario.fechaHoraIngreso = Program.fechaHora; _tbTransaccionInventario.idUsuarioIngreso = idUsuario; _tbTransaccionInventario.terminalIngreso = Program.terminal; _dbCosolemEntities.tbTransaccionInventario.AddObject(_tbTransaccionInventario); }); _dbCosolemEntities.SaveChanges(); MessageBox.Show("Factura devuelta satisfactoriamente", this.Text, MessageBoxButtons.OK, MessageBoxIcon.Information); if (inventario.Count > 0) { new frmReporteIngresoInventarioConcepto(inventario).ShowDialog(); } tsbNuevo_Click(null, null); } }
private void frmCaja_Load(object sender, EventArgs e) { _dbCosolemEntities = new dbCosolemEntities(); dgvOrdenVentaDetalle.AutoGenerateColumns = false; dgvOrdenVentaFormaPago.AutoGenerateColumns = false; _BindingListtbOrdenVentaFormaPago = new BindingList <tbOrdenVentaFormaPago>(); ordenVenta = (from OVC in _dbCosolemEntities.tbOrdenVentaCabecera where OVC.tipoOrdenVenta == "O" && OVC.idEstadoOrdenVenta == 1 && OVC.estadoRegistro && OVC.idOrdenVentaCabecera == idOrdenVenta select OVC).FirstOrDefault(); tbPersona persona = ordenVenta.tbCliente.tbPersona; txtCliente.Text = ordenVenta.cliente; txtNumeroIdentificacion.Text = persona.numeroIdentificacion; txtDireccion.Text = ordenVenta.direccion; List <string> telefono = new List <string>(); if (!String.IsNullOrEmpty(ordenVenta.convencional)) { telefono.Add(ordenVenta.convencional); } if (!String.IsNullOrEmpty(ordenVenta.celular)) { telefono.Add(ordenVenta.celular); } dtpFechaFactura.Value = Program.fechaHora; txtTelefono.Text = String.Join(", ", telefono); dgvOrdenVentaDetalle.DataSource = ordenVenta.tbOrdenVentaDetalle.Where(x => x.estadoRegistro).Select(y => new { cantidad = y.cantidad, descripcion = y.tbProducto.descripcion, precio = (ordenVenta.idFormaPago == 1 ? (ordenVenta.tipoVenta == "N" ? y.precioOferta : y.costo) : y.precioVentaPublico), subTotalBruto = y.subTotalBruto }).ToList(); txtSubtotal.Text = Util.FormatoMoneda(ordenVenta.subTotalBruto, 2); txtIVA.Text = Util.FormatoMoneda(ordenVenta.IVA, 2); txtTotal.Text = Util.FormatoMoneda(ordenVenta.totalNeto, 2); List <tbFormaPago> _tbFormaPago = (from FP in _dbCosolemEntities.tbFormaPago select FP).ToList(); _tbFormaPago.Insert(0, new tbFormaPago { idFormaPago = 0, descripcion = "Seleccione" }); cmbFormaPago.DataSource = _tbFormaPago; cmbFormaPago.ValueMember = "idFormaPago"; cmbFormaPago.DisplayMember = "descripcion"; if (ordenVenta.tbOrdenVentaFinanciacion.Any()) { tbOrdenVentaFinanciacion ordenVentaFinanciacion = ordenVenta.tbOrdenVentaFinanciacion.FirstOrDefault(); if (ordenVentaFinanciacion.valorCuotaInicialExigible > 0) { AgregarFormaPago(1, ordenVentaFinanciacion.valorCuotaInicialExigible); } } dgvOrdenVentaFormaPago.DataSource = _BindingListtbOrdenVentaFormaPago; CalcularTotales(); }