private void buttonOrden_Click(object sender, RoutedEventArgs e) { Orden orden = ((FrameworkElement)sender).DataContext as Orden; Producto esProducto = productosSeleccionados.FirstOrDefault(p => p.nombre == orden.nombreProducto); ProvisionDirecta esProvision = provisionesSeleccionadas.FirstOrDefault(pro => pro.Provision.nombre == orden.nombreProducto); if (orden.cantidad > 1) { orden.cantidad--; orden.precioTotal = orden.precioTotal - orden.precioUnitario; dataGridOrden.Items.Refresh(); if (esProducto != null) { esProducto.cantidad--; labelSubtotal.Content = Convert.ToDouble(labelSubtotal.Content.ToString()) - esProducto.precioUnitario; IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } else { esProvision.cantidad--; labelSubtotal.Content = Convert.ToDouble(labelSubtotal.Content.ToString()) - esProvision.Provision.costoUnitario; IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } } else { listaOrdenes.Remove(orden); if (esProducto != null) { productosSeleccionados.Remove(esProducto); labelSubtotal.Content = Convert.ToDouble(labelSubtotal.Content.ToString()) - esProducto.precioUnitario; IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } else { provisionesSeleccionadas.Remove(esProvision); labelSubtotal.Content = Convert.ToDouble(labelSubtotal.Content.ToString()) - esProvision.Provision.costoUnitario; IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } } }
static public ProvisionDirecta ProvisionVentaDirecta_A_ProvisionDirecta(ProvisionVentaDirecta provisionVentaDirecta) { ProvisionDirecta provisionDirecta = new ProvisionDirecta(); provisionDirecta.Provision = new Provision(); provisionDirecta.Id = provisionVentaDirecta.idProvisionVentaDirecta; provisionDirecta.Provision.Id = provisionVentaDirecta.idProvision; provisionDirecta.Provision.nombre = provisionVentaDirecta.nombre; provisionDirecta.Provision.costoUnitario = provisionVentaDirecta.precioUnitario; provisionDirecta.descripcion = provisionVentaDirecta.descripcion; provisionDirecta.restricciones = provisionVentaDirecta.restricciones; provisionDirecta.Provision.noExistencias = provisionVentaDirecta.cantidadExistencias; provisionDirecta.Provision.ubicacion = provisionVentaDirecta.ubicacion; provisionDirecta.Provision.stockMinimo = provisionVentaDirecta.stock; provisionDirecta.Provision.unidadMedida = provisionVentaDirecta.unidadDeMedida; provisionDirecta.cantidad = provisionVentaDirecta.cantidad; return provisionDirecta; }
private void RegistrarProductoExterno() { InstanceContext context = new InstanceContext(this); RegistrarIngredienteClient servicioProvision = new RegistrarIngredienteClient(context); try { Provision provision = new Provision { nombre = NombreTxt.Text, costoUnitario = double.Parse(PrecioTxt.Text), activado = ProductoActivado(), noExistencias = int.Parse(ExistenciasTxt.Text), ubicacion = UbicacionTxt.Text, stockMinimo = int.Parse(stockMinTxt.Text), unidadMedida = UnidadMedidaCb.SelectedItem.ToString(), }; ProvisionDirecta provisionDirecta = new ProvisionDirecta { descripcion = DescripcionTxt.Text, activado = ProductoActivado(), restricciones = RestriccionesTxt.Text, Categoria = new Categoria { categoria = CategoriaCb.SelectedItem.ToString() } }; servicioProvision.RegistrarProvisionDirecta(provision, provisionDirecta, imagenProducto); } catch (FormatException) { FuncionesComunes.MostrarMensajeDeError("Los campos marcados con * solo permiten números."); } catch (OverflowException) { FuncionesComunes.MostrarMensajeDeError("Algunos de los campos marcados con * sobrepasa el valor 32767."); } catch (Exception e) { FuncionesComunes.MostrarMensajeDeError(e.GetType() + ": " + e.Message); } }
// SELECCIÓN DE PRODUCTOS **************************************************+ private void ListViewBebidas_MouseDoubleClick(object sender, MouseButtonEventArgs e) { ProvisionVentaDirecta provisionSeleccionada = ListViewBebidas.SelectedItem as ProvisionVentaDirecta; Orden ordenExistente = listaOrdenes.FirstOrDefault <Orden>(i => i.nombreProducto == provisionSeleccionada.nombre); if (ordenExistente == null) { Orden orden = new Orden(); orden.cantidad = provisionSeleccionada.cantidad = 1; orden.nombreProducto = provisionSeleccionada.nombre; orden.precioUnitario = provisionSeleccionada.precioUnitario; orden.precioTotal = provisionSeleccionada.precioUnitario; listaOrdenes.Add(orden); ProvisionDirecta provision = ConvertidorDeObjetos.ProvisionVentaDirecta_A_ProvisionDirecta(provisionSeleccionada); provisionesSeleccionadas.Add(provision); labelSubtotal.Content = orden.precioUnitario + Convert.ToDouble(labelSubtotal.Content.ToString()); IVA = Convert.ToDouble(labelSubtotal.Content.ToString()) * .16; //double conDescuento = Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento; labelTotal.Content = (Convert.ToDouble(labelSubtotal.Content.ToString())) - totalADescontar + IVA; } else { ProvisionDirecta provisionExistente = provisionesSeleccionadas.FirstOrDefault(p => p.Id == provisionSeleccionada.idProvisionVentaDirecta); provisionExistente.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()) - (Convert.ToDouble(labelSubtotal.Content.ToString()) * descuento)) + IVA; } }
public void ProvicionDirecta(ProvisionDirecta provDir) { throw new NotImplementedException(); }