Beispiel #1
0
        public static VentaEntidad Map(CrearVentaDTO crearEntidadDTO)
        {
            VentaEntidad ventaEntidad = new VentaEntidad();
            List <DetalleVentaEntidad> lstDetalleVenta = new List <DetalleVentaEntidad>();

            if (crearEntidadDTO != null)
            {
                ventaEntidad.PersonaId        = crearEntidadDTO.PersonaId;
                ventaEntidad.TipoComprobante  = crearEntidadDTO.TipoComprobante;
                ventaEntidad.SerieComprobante = crearEntidadDTO.SerieComprobante;
                ventaEntidad.Impuesto         = crearEntidadDTO.Impuesto;
                ventaEntidad.Total            = crearEntidadDTO.Total;
                ventaEntidad.Estatus          = "Act";

                if (crearEntidadDTO.DetalleVentas != null)
                {
                    foreach (var elem in crearEntidadDTO.DetalleVentas)
                    {
                        lstDetalleVenta.Add(new DetalleVentaEntidad
                        {
                            ProductoId = elem.ProductoId,
                            Cantidad   = elem.Cantidad,
                            Descuento  = elem.Descuento,
                            Precio     = elem.Precio,
                            Estatus    = "Act"
                        });
                    }
                }

                ventaEntidad.DetalleVentas = lstDetalleVenta;
            }

            return(ventaEntidad);
        }
Beispiel #2
0
        public async Task <bool> CrearVentaAsync(VentaEntidad venta)
        {
            venta.UsuariosId = _context.UsuarioAutenticado();

            await _context.Ventas.AddAsync(venta);

            return(await _context.SaveChangesAsync() > 0 ? true : false);
        }
        public static int GenerarVenta(VentaEntidad ventas)
        {
            int id = 0;

            using (TransactionScope scope = new TransactionScope())
            {
                id = VentaDatos.GenerarVenta(ventas);
                VentaDatos.UpdateTotal(ventas.Id, ventas.Total);
                scope.Complete();
            }
            return(id);
        }
        private VentaEntidad FabricarCabecera()
        {
            VentaEntidad venta = new VentaEntidad();

            venta.Id_Cliente  = Convert.ToInt32(txtId.Text.ToString());
            venta.Id_Empleado = this.idEmpleado;
            string fecha = DateTime.Now.ToString("dd/MM/yyyy");

            venta.Fecha = Convert.ToDateTime(fecha);
            venta.Porcentaje_Ganancia = Convert.ToInt32(ConfiguracionApp.Default.PorcentajeGanancia * 100);
            venta.ListaDetalles       = FabricarDetalle();

            return(venta);
        }
        public static int GenerarVenta(VentaEntidad ventas)
        {
            using (SqlConnection cn = new SqlConnection(ConfiguracionApp.Default.ConexionVentasSql))
            {
                cn.Open();
                string sqlFactura = @"INSERT INTO [dbo].[Ventas_Cabecera]
                                          ([Id_Cli_Ven]
                                          ,[Id_Emp_Ven]
                                          ,[Fec_Ven]
                                          ,[Por_Gan_Ven]
                                          ,[Total])
                                    VALUES (@idCliente, @idEmpleado,@fechaVenta,@porGan, @total)
                                    SELECT SCOPE_IDENTITY()";

                using (SqlCommand cmd = new SqlCommand(sqlFactura, cn))
                {
                    cmd.Parameters.AddWithValue("@idCliente", ventas.Id_Cliente);
                    cmd.Parameters.AddWithValue("@idEmpleado", ventas.Id_Empleado);
                    cmd.Parameters.AddWithValue("@fechaVenta", ventas.Fecha);
                    cmd.Parameters.AddWithValue("@porGan", ventas.Ganancia);
                    cmd.Parameters.AddWithValue("@total", 0);
                    ventas.Id = Convert.ToInt32(cmd.ExecuteScalar());
                }

                string sqlDetalle = @"INSERT INTO [dbo].[Ventas_Detalle]
                                           ([Id_Ven_Per]
                                           ,[Id_Pro_Ven]
                                           ,[Can_Pro_Ven])
                                     VALUES (@idVenta, @idProducto, @cantidad)";

                using (SqlCommand cmd = new SqlCommand(sqlDetalle, cn))
                {
                    foreach (var detalle in ventas.ListaDetalles)
                    {
                        //
                        // como se reutiliza el mismo objeto SqlCommand es necesario limpiar los parametros
                        // de la operacion previa, sino estos se iran agregando en la coleccion, generando un fallo
                        //
                        cmd.Parameters.Clear();

                        cmd.Parameters.AddWithValue("@idVenta", ventas.Id);
                        cmd.Parameters.AddWithValue("@idProducto", detalle.Id_Pro_Ven);
                        cmd.Parameters.AddWithValue("@cantidad", detalle.Cantidad);
                        cmd.ExecuteNonQuery();
                    }
                }
                return(ventas.Id);
            }
        }
 private void Facturar()
 {
     try
     {
         VentaEntidad venta = FabricarCabecera();
         id_venta = VentaNegocio.GenerarVenta(venta);
         ProductoNegocio.ActualizarStock(venta.ListaDetalles);
         if (MessageBox.Show("Desea imprimir?", "FACTURA", MessageBoxButtons.YesNo, MessageBoxIcon.Question) == DialogResult.Yes)
         {
             ImprimirFactura();
         }
     }
     catch
     {
         MessageBox.Show("No se pudo generar la factura");
     }
 }
Beispiel #7
0
        public async Task <bool> EliminarVentaAsync(VentaEntidad venta)
        {
            _context.Ventas.Remove(venta);

            return(await _context.SaveChangesAsync() > 0 ? true : false);
        }
Beispiel #8
0
 public async Task <bool> CrearVentaAsync(VentaEntidad venta)
 {
     return(await _ventasRepositorio.CrearVentaAsync(venta));
 }