static public Producto ProductoDePedido_A_Producto(ProductoDePedido productoDePedido) { Producto producto = new Producto { Id = productoDePedido.id, nombre = productoDePedido.nombre, descripcion = productoDePedido.descrpcion, precioUnitario = productoDePedido.precioUnitario, //activado = productoDePedido.activado, restricciones = productoDePedido.restricciones, Categoria = new Categoria { categoria = productoDePedido.categoria }, cantidad = productoDePedido.cantidad }; return producto; }
/// <summary> /// Obtiene el producto seleccionado de los ListView que exponen PRODUCTOS y los agrega a la lista de ordenes del pedido /// </summary> /// <typeparam name="T"> T es un tipo de dato System.Windows.Controls.ListView </typeparam> /// <param name="t"> Es el ListView que expone los productos </param> private void ObtenerProductoSeleccionado <T>(System.Windows.Controls.ListView t) where T : System.Windows.Controls.ListView { ProductoDePedido productoSeleccionado = t.SelectedItem as ProductoDePedido; var ordenExistente = listaOrdenes.FirstOrDefault(i => i.nombreProducto == productoSeleccionado.nombre); if (ordenExistente == null) { Orden orden = new Orden { cantidad = productoSeleccionado.cantidad = 1, nombreProducto = productoSeleccionado.nombre, precioUnitario = productoSeleccionado.precioUnitario, precioTotal = productoSeleccionado.precioUnitario }; listaOrdenes.Add(orden); Producto producto = ConvertidorDeObjetos.ProductoDePedido_A_Producto(productoSeleccionado); productosSeleccionados.Add(producto); labelSubtotal.Content = orden.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } else { Producto producto = productosSeleccionados.FirstOrDefault(p => p.Id == productoSeleccionado.id); producto.cantidad++; ordenExistente.cantidad++; ordenExistente.precioTotal = ordenExistente.precioUnitario * ordenExistente.cantidad; dataGridOrden.Items.Refresh(); labelSubtotal.Content = ordenExistente.precioUnitario + FuncionesComunes.ParsearADouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString())) - totalADescontar + IVA; } }