private Factura MapearFactura(FacturaInputModels facturaInput) { var factura = new FacturaVenta(); facturaInput.Detalles.ForEach(d => { var detalle = new Detalle { Cantidad = d.Cantidad, Producto = new Producto { Cantidad = d.Producto.Cantidad, Codigo = d.Producto.Codigo, Descripcion = d.Producto.Descripcion, Descuento = d.Producto.Descuento, Estado = d.Producto.Estado, Fecha = d.Producto.Fecha, IVA = d.Producto.IVA, ProveedorNIT = d.Producto.IdProveedor, ValorDescontado = d.Producto.ValorDescontado, ValorUnitario = d.Producto.ValorUnitario }, }; factura.AgregarDetalle(detalle); }); factura.Estado = "Activo"; factura.InteresadoId = facturaInput.InteresadoId; factura.UsuarioVentasId = facturaInput.UsuarioVentasId; factura.CalcularTotales(); return(factura); }
private void AgregarDetalleTabla() { if (string.IsNullOrEmpty(IdentificacionTxt.Text) == false && IdentificacionTxt.Text != "CC/NIT") { if (string.IsNullOrEmpty(CodigoProductoTxt.Text) == false) { RespuestaBusquedaProducto respuestaBusqueda = new RespuestaBusquedaProducto(); respuestaBusqueda = productoService.ObtenerProductosCodigo(int.Parse(TipoBusquedaTxt.Text)); producto = new Producto { IdProducto = respuestaBusqueda.Producto.IdProducto, NombreProducto = respuestaBusqueda.Producto.NombreProducto, Existencias = respuestaBusqueda.Producto.Existencias, IVA = respuestaBusqueda.Producto.IVA, PrecioUnitarioProducto = respuestaBusqueda.Producto.PrecioUnitarioProducto }; if (string.IsNullOrEmpty(cantidadTxt.Text) == false) { if ((factura.Detalles.Where(p => p.Id_Producto == producto.IdProducto).FirstOrDefault()) == null) { if (producto.Existencias >= int.Parse(cantidadTxt.Text)) { factura.AgregarDetalle(producto, int.Parse(cantidadTxt.Text), factura.Id_Factura); PintarTablaDetalles(factura.Detalles); rellenarTxtTotales(); } else { MessageBox.Show("La cantidad solicitada es mayor a la cantidad del producto", "Verificacion", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("El producto ta esta registrado", "Verificacion", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("El Campo cantidad no puede estar vacio", "Verificacion", MessageBoxButtons.OK, MessageBoxIcon.Information); } } else { MessageBox.Show("Porfavor verifique la existencia del producto"); } } else { MessageBox.Show("Ingrese un cliente por favor"); } }