Beispiel #1
0
        public IList <RegistroVenta> listar()
        {
            IList <RegistroVenta> lista    = new List <RegistroVenta>();
            AccesoDatos           conexion = new AccesoDatos();

            try
            {
                conexion.setearConsulta("select * from REGISTROVENTAS");

                conexion.leerConsulta();
                GestorClientes unGestorClientes = new GestorClientes();
                GestorVentas   unGestorVentas   = new GestorVentas();

                while (conexion.Lector.Read())
                {
                    RegistroVenta aux = new RegistroVenta();
                    aux.Cliente = new Cliente();

                    aux.IdVenta           = conexion.Lector.GetInt32(0);
                    aux.Cliente           = unGestorClientes.buscarCliente(conexion.Lector.GetInt32(1));
                    aux.VentaItems        = unGestorVentas.buscarVentaItem(aux.IdVenta);
                    aux.Fecha             = conexion.Lector.GetDateTime(2);
                    aux.Total             = conexion.Lector.GetDecimal(3);
                    aux.NumeroFacturacion = unGestorVentas.buscarFactura(conexion.Lector.GetInt32(4));

                    lista.Add(aux);
                }

                return(lista);
            }
            catch (Exception)
            {
                throw;
            }
        }
Beispiel #2
0
        private void ventasToolStripMenuItem1_Click(object sender, EventArgs e)
        {
            RegistroVenta r = new RegistroVenta();

            r.MdiParent = this;
            r.Show();
        }
Beispiel #3
0
 private void DeshacerVenta_Click(object sender, EventArgs e)
 {
     if (cbSeguro.Checked)
     {
         try { long.Parse(textBox1.Text); } catch { return; };
         RegistroVenta registro = getRegistroVenta(long.Parse(textBox1.Text));
         if (registro != null)
         {
         }
         foreach (ProdVendido prodVendido in registro.ProdVendido)
         {
             if (esProducto(prodVendido.Producto))
             {
                 foreach (Venta venta in _lstVentas)
                 {
                     if (venta.ProductoId.Equals(prodVendido.ProductoId))
                     {
                         venta.Cantidad -= prodVendido.Cantidad;
                     }
                 }
             }
         }
         editRegistroVenta(registro);
         Actualizar();
         LimpiarPantalla();
     }
     else
     {
         MessageBox.Show("Debe confirmar que esta seguro de deshacer este registro.");
     }
 }
Beispiel #4
0
        public IList <VentaItem> detalleRegistro(RegistroVenta detalleRegistro)
        {
            IList <VentaItem> listaVenta = new List <VentaItem>();
            AccesoDatos       conexion   = new AccesoDatos();
            VentaItem         aux        = new VentaItem();

            aux.Producto      = new Producto();
            aux.Producto.Tipo = new TipoProducto();
            try
            {
                conexion.setearConsulta("select v.IDVENTA,t.NOMBRE,v.CANTIDAD,v.PRECIOUNITARIO,v.PRECIOPARCIAL from VENTAITEMS as v inner join PRODUCTOS as p on v.IDPRODUCTO = p.IDPRODUCTO inner join TIPOPRODUCTO as t on t.IDTIPOPRODUCTO = p.IDTIPOPRODUCTO where v.IDVENTA =" + detalleRegistro.IdVenta);
                conexion.leerConsulta();

                while (conexion.Lector.Read())
                {
                    aux                      = new VentaItem();
                    aux.Producto             = new Producto();
                    aux.Producto.Tipo        = new TipoProducto();
                    aux.IdVentaItem          = conexion.Lector.GetInt32(0);
                    aux.Producto.Tipo.Nombre = conexion.Lector.GetString(1);
                    aux.Cantidad             = conexion.Lector.GetInt32(2);
                    aux.PrecioUnitario       = conexion.Lector.GetDecimal(3);
                    aux.PrecioParcial        = conexion.Lector.GetDecimal(4);

                    listaVenta.Add(aux);
                }
                return(listaVenta);
            }
            catch (Exception ex)
            {
                throw ex;
            }
        }
        public async Task <RegistroVentaOutput> GetRegistroVentaById(int idVenta)
        {
            RegistroVenta registroVenta = await _registroVentaRepository.GetRegistroVentaById(idVenta);

            RegistroVentaOutput registroVentaOutput = _mapper.Map <RegistroVentaOutput>(registroVenta);

            return(registroVentaOutput);
        }
Beispiel #6
0
        private static void DeleteRegistroVenta(RegistroVenta registroVenta)
        {
            bool success = _service.Delete(registroVenta);

            if (!success)
            {
                Console.WriteLine("Algo falló al eliminar Registro de Venta a base de datos");
            }
        }
Beispiel #7
0
        private static void EditRegistroVenta(RegistroVenta registroVenta)
        {
            bool response = _service.Edit(registroVenta);

            if (!response)
            {
                Console.WriteLine("Algo falló al editar Registro de Venta en la base de datos");
            }
        }
Beispiel #8
0
        public async Task EliminarRegistroVentaAsync(int idVenta)
        {
            RegistroVenta registroVenta = new RegistroVenta()
            {
                Codigo = idVenta
            };

            _db.Entry(registroVenta).State = EntityState.Deleted;
        }
Beispiel #9
0
        private static bool AddRegistroVenta(RegistroVenta registroVenta)
        {
            bool response = _service.Add(registroVenta);

            if (!response)
            {
                Console.WriteLine("Algo falló al agregar Registro de Venta a base de datos");
            }
            return(response);
        }
        public IActionResult OnGet(int Id)
        {
            RegistroVenta = _registroVentaRepository.GetById(Id);
            if (RegistroVenta == null)
            {
                return(NotFound());
            }

            return(Page());
        }
Beispiel #11
0
        internal void mostrarDetalle(RegistroVenta detalleRegistro)
        {
            GestorVentas unGestorVentas = new GestorVentas();

            try
            {
                dgvDetalleVenta.DataSource         = unGestorVentas.detalleRegistro(detalleRegistro);
                dgvDetalleVenta.Columns[1].Visible = false;
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.ToString());
            }
        }
        public async Task AgregarEditarRegistroVentaAsync(RegistroVentaInput registroVenta)
        {
            if (registroVenta.Codigo.GetValueOrDefault(0) > 0)
            {
                RegistroVenta registroVenta1 = await _registroVentaRepository.GetRegistroVentaById(registroVenta.Codigo.Value, trackear : true);

                _mapper.Map <RegistroVentaInput, RegistroVenta>(registroVenta, registroVenta1);
            }
            else
            {
                RegistroVenta registroVenta1 = _mapper.Map <RegistroVenta>(registroVenta);
                await _registroVentaRepository.AgregarEditarRegistroVentaAsync(registroVenta1);
            }
            await _registroVentaRepository.SaveChangesAsync();
        }
Beispiel #13
0
 private static long AddRegistroVentaReturnId(RegistroVenta registroVenta)
 {
     try
     {
         bool response = AddRegistroVenta(registroVenta);
         if (!response)
         {
             Console.WriteLine("Algo falló al agregar Registro de Venta a base de datos");
             return(0);
         }
         var lst = GetRegistroVentas();
         return(lst.Last().Id);
     }
     catch
     {
         Console.WriteLine("Algo falló al agregar Registro de Venta a base de datos");
         return(0);
     }
 }
Beispiel #14
0
 // Ver y deshacer una venta
 private void TextBox1_TextChanged(object sender, EventArgs e)
 {
     if (textBox1.Text != "")
     {
         try { long.Parse(textBox1.Text); } catch { return; };
         RegistroVenta registroVenta = getRegistroVenta(long.Parse(textBox1.Text));
         if (registroVenta != null)
         {
             labelFecha.Text     = registroVenta.Fecha;
             labelProductoN.Text = registroVenta.NombreCliente;
             ActualizarGrid2ProdVendidos(registroVenta.ProdVendido.ToList());
             decimal importeTotal = 0;
             foreach (ProdVendido prodVendido in registroVenta.ProdVendido)
             {
                 importeTotal += prodVendido.Precio;
             }
             labelTotal.Text        = "Total: $" + importeTotal.ToString();
             bDeshacerVenta.Enabled = true;
         }
         else
         {
             labelProductoN.Text = "";
             labelFecha.Text     = "";
             labelTotal.Text     = "";
             ActualizarGrid2ProdVendidos(new List <ProdVendido>());
             bDeshacerVenta.Enabled = false;
         }
     }
     else
     {
         labelProductoN.Text = "";
         labelFecha.Text     = "";
         labelTotal.Text     = "";
         ActualizarGrid2ProdVendidos(new List <ProdVendido>());
         bDeshacerVenta.Enabled = false;
     }
 }
Beispiel #15
0
        private void ConfirmarCrearNota_Click(object sender, EventArgs e)
        {
            if (labelClienteId.Text != "" && labelClienteId.Text != "No encontrado")
            {
                var cliente = getClientePorDireccionExacta(label36.Text);
                if (cliente == null)
                {
                    return;
                }

                NotaDeEnvio nuevaNota = new NotaDeEnvio
                {
                    ClienteId    = cliente.Id,
                    Fecha        = DateTime.Now.ToString(Constants.FormatoDeFecha),
                    Impresa      = 0,
                    Detalle      = extraerDetalleDeNotaDeEnvio(_lstProdVendidos),
                    ImporteTotal = extraerImporteDeNotaDeEnvio(_lstProdVendidos)
                };
                long notaId = addNotaDeEnvioReturnId(nuevaNota);
                if (notaId == 0)
                {
                    MessageBox.Show("Falló al procesar Nota nueva");
                    return;
                }
                foreach (ProdVendido prodVendido in _lstProdVendidos)
                {
                    prodVendido.NotaDeEnvioId = notaId;
                    addProdVendido(prodVendido);
                }
                if (checkBox4.Checked)      // agregar productos vendidos a lista de registros y a lista de ventas
                {
                    RegistroVenta nuevoRegistro = new RegistroVenta
                    {
                        ClienteId     = cliente.Id,
                        Cliente       = cliente,
                        Fecha         = DateTime.Now.ToString(Constants.FormatoDeFecha),
                        NombreCliente = cliente.Direccion
                    };
                    long registroId = addRegistroVentaReturnId(nuevoRegistro);
                    foreach (var prodVendido in _lstProdVendidos)
                    {
                        prodVendido.RegistroVentaId = registroId;
                        if (esProducto(prodVendido.Producto))
                        {
                            List <Venta> lstVentas = getVentas();
                            bool         exists    = false;
                            foreach (var venta in lstVentas)
                            {
                                if (venta.ProductoId == prodVendido.ProductoId)
                                {
                                    exists          = true;
                                    venta.Cantidad += prodVendido.Cantidad;
                                    editVenta(venta);
                                }
                            }
                            if (!exists)
                            {
                                Venta nuevaVenta = new Venta
                                {
                                    ProductoId = prodVendido.ProductoId,
                                    Cantidad   = prodVendido.Cantidad,
                                    Producto   = getProducto(prodVendido.ProductoId)
                                };
                                addVenta(nuevaVenta);
                            }
                        }
                    }
                }
                if (checkBox1.Checked)      // imprimir checkbox
                {
                    var form = Program.GetConfig().GetRequiredService <FormImprimirNota>();
                    form.Rellenar_Datos(nuevaNota);
                    form.Show();
                }
                if (checkBox3.Checked)     // enviar a hoja de reparto como pedido nuevo para X reparto
                {
                    Reparto reparto = getRepartoPorDiaYNombre(comboBox4.Text, comboBox3.Text);
                    Pedido  pedido  = reparto.Pedidos.ToList().Find(x => x.ClienteId != cliente.Id);
                    if (reparto == null || pedido == null)
                    {
                        return;
                    }
                    addOrEditPedidoEnReparto(reparto, cliente, _lstProdVendidos);
                    foreach (ProdVendido prodVendido in _lstProdVendidos)
                    {
                        prodVendido.PedidoId = pedido.Id;
                        editProdVendido(prodVendido);
                    }
                }
                Close();
            }
            else
            {
                MessageBox.Show("Verifique los campos");
            }
        }
Beispiel #16
0
 public async Task AgregarEditarRegistroVentaAsync(RegistroVenta registroVenta)
 {
     await _db.RegistroVenta.AddAsync(registroVenta);
 }
Beispiel #17
0
        private void AgregarVenta_Click(object sender, EventArgs e)
        {
            if (_lstAgregarVentas != null && _lstAgregarVentas.Count > 0)
            {
                // generar un RegistroVenta con "Venta particular"y devuelve un id para usar en los ProdVendido
                // generar un Venta por cada ítem en _lstAgregarVentas, no necesita precios
                // generar un ProdVendido por cada ítem en _lstAgregarVentas con el id de (1)

                ActualizarGrid3Ventas();
                List <ProdVendido> lstProdVendidos = new List <ProdVendido>();

                // hacer o editar registros (no puedo editar porque no tengo cliente, se modifica si hay "enviar a hdr")
                Cliente cliente1 = getCliente(1);
                if (cliente1 == null)
                {
                    return;
                }
                RegistroVenta nuevoRegistroVenta = new RegistroVenta
                {
                    ClienteId     = cliente1.Id,
                    NombreCliente = cliente1.Direccion,
                    Fecha         = DateTime.Now.ToString(Constants.FormatoDeFecha)
                };
                long registroId = addRegistroVentaReturnId(nuevoRegistroVenta);
                if (registroId == 0)
                {
                    MessageBox.Show("Falló"); return;
                }
                ;

                foreach (Venta ventaParaAgregar in _lstAgregarVentas)
                {
                    //if (esProducto(ventaParaAgregar.Producto))
                    //{
                    // hacer o editar ventas
                    List <Venta> lstVentas = getVentas();
                    bool         exists    = false;
                    if (lstVentas != null)
                    {
                        foreach (Venta venta in lstVentas)
                        {
                            if (venta.ProductoId == ventaParaAgregar.ProductoId)
                            {
                                exists          = true;
                                venta.Cantidad += ventaParaAgregar.Cantidad;
                                editVenta(venta);
                            }
                        }
                    }
                    if (!exists)
                    {
                        addVenta(ventaParaAgregar);
                    }

                    // hacer ProdVendidos
                    Producto producto = getProducto(ventaParaAgregar.ProductoId);
                    if (producto == null)
                    {
                        return;
                    }
                    ProdVendido nuevoProdVendido = new ProdVendido
                    {
                        Cantidad        = ventaParaAgregar.Cantidad,
                        Descripcion     = producto.Nombre,
                        Precio          = producto.Precio,
                        ProductoId      = producto.Id,
                        RegistroVentaId = registroId
                    };
                    lstProdVendidos.Add(nuevoProdVendido);
                    addProdVendido(nuevoProdVendido);
                    //}
                    Actualizar();
                }

                // si se manda a Pedido:
                //  generar un Pedido (o modificar), necesita dia, reparto, cliente, lstProdVendidos
                //  agregar cliente al RegistroVenta
                if (checkBox2.Checked)   // enviar a reparto, o sea agregar o modificar pedido del cliente
                {
                    string  dia     = comboBox1.Text;
                    string  nombre  = comboBox2.Text;
                    Cliente cliente = getClientePorDireccionExacta(label20.Text);
                    if (cliente == null)
                    {
                        return;
                    }
                    Reparto reparto = getRepartoPorDiaYNombre(dia, nombre);
                    if (reparto == null)
                    {
                        return;
                    }
                    addOrEditPedidoEnReparto(reparto, cliente, lstProdVendidos);
                    nuevoRegistroVenta.ClienteId     = cliente.Id;
                    nuevoRegistroVenta.NombreCliente = cliente.Direccion;
                    editRegistroVenta(nuevoRegistroVenta);
                }

                _lstAgregarVentas.Clear();
                LimpiarPantalla();
                Actualizar();
            }
            else
            {
                MessageBox.Show("No se han ingresado productos");
            }
        }