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); }
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"); } }
public async Task <bool> EliminarVentaAsync(VentaEntidad venta) { _context.Ventas.Remove(venta); return(await _context.SaveChangesAsync() > 0 ? true : false); }
public async Task <bool> CrearVentaAsync(VentaEntidad venta) { return(await _ventasRepositorio.CrearVentaAsync(venta)); }