public bool ModificarProducto(Producto p)
 {
     Controlador.Producto nuevo = new Controlador.Producto
     {
         Nombre_Producto = p.Nombre_Producto,
         Cantidad        = p.Cantidad,
         id_Categoria    = p.id_Categoria,
         Precio          = p.Precio,
     };
     return(metodos.ModificarProducto(nuevo));
 }
        public bool IngresarProducto(Producto p)
        {
            Controlador.Producto nuevo = new Controlador.Producto
            {
                Nombre_Producto = p.Nombre_Producto,
                Cantidad        = p.Cantidad,
                id_Categoria    = p.id_Categoria,
                Precio          = p.Precio,
                QRProducto      = p.QRProducto
            };

            return(metodos.IngresarProducto(nuevo));
        }
 public Controlador.Producto BuscarProducto(string RutProducto)
 {
     Controlador.Producto p = metodos.BuscarProducto(RutProducto);
     return(p);
 }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            compra.Nro_Factura = int.Parse(txtFactura.Text.ToString());
            compra.Fecha       = Convert.ToDateTime(dtpFechaCompra.SelectedDate);
            int id_Proveedor = (int)comboProveedor.SelectedValue;

            compra.id_Proveedor = id_Proveedor;
            compra.Total        = 0;

            dc.Nro_Factura = compra.Nro_Factura;
            string Nombre_Producto = (string)comboProducto.SelectedValue;

            dc.Nombre_Producto = Nombre_Producto.Trim();

            dc.Precio = int.Parse(txtTotalPorProducto.Text.ToString());

            if (rdbSi.IsChecked == true)
            {
                dc.Validacion = "Si";
            }
            if (rdbNo.IsChecked == true)
            {
                dc.Validacion = "No";
            }
            dc.Comentario = txtComentario.Text.ToString();



            if (rdbUnidad.IsChecked == true)
            {
                totalporproducto      = double.Parse(txtTotalPorProducto.Text);
                cantidadComprada      = double.Parse(txtCantidadProducto.Text);
                precioUnitarioUnidad  = (totalporproducto / cantidadComprada);
                txtValorUnitario.Text = precioUnitarioUnidad.ToString();
                dc.valorUnitario      = precioUnitarioUnidad;
                dc.tipoCompra         = "Unidad";
                dc.Cantidad           = int.Parse(txtCantidadProducto.Text.ToString());
            }

            if (rbdPorMayor.IsChecked == true)
            {
                totalporproducto      = double.Parse(txtTotalPorProducto.Text);
                cantidadComprada      = double.Parse(txtCantidadProducto.Text);
                unidadescontenidas    = double.Parse(txtUnidadesPorMayor.Text);
                precioUnitarioUnidad  = (totalporproducto / (cantidadComprada * unidadescontenidas));
                txtValorUnitario.Text = precioUnitarioUnidad.ToString();
                dc.valorUnitario      = precioUnitarioUnidad;
                dc.tipoCompra         = "Por Mayor";
                dc.Cantidad           = int.Parse(txtCantidadProducto.Text) * int.Parse(txtUnidadesPorMayor.Text);
            }

            txtTotalNeto.Text = (double.Parse(txtTotalPorProducto.Text) + oldvalueforTotal).ToString();



            if (compras.BuscarCompra(compra.Nro_Factura) == null)
            {
                compras.IngresarCompra(compra);
            }
            else
            {
                compras.ModificarCompra(compra);
            }



            if (compras.BuscarCompra(compra.Nro_Factura) != null)
            {
                if (detalleCompra.IngresarDetalleCompra(dc))
                {
                    //Control de stock, aumenta cantidad de producto
                    Controlador.Producto productocontrolador = productos.BuscarProducto(dc.Nombre_Producto);
                    Modelo.Producto      cantidadProducto    = new Modelo.Producto();
                    cantidadProducto.Cantidad        = Convert.ToInt32(productocontrolador.Cantidad);
                    cantidadProducto.Nombre_Producto = productocontrolador.Nombre_Producto;
                    cantidadProducto.id_Categoria    = Convert.ToInt32(productocontrolador.id_Categoria);
                    cantidadProducto.Precio          = Convert.ToInt32(productocontrolador.Precio);
                    if (rdbUnidad.IsChecked == true)
                    {
                        cantidadProducto.Cantidad = cantidadProducto.Cantidad + Convert.ToInt32(cantidadComprada);
                    }
                    if (rbdPorMayor.IsChecked == true)
                    {
                        cantidadProducto.Cantidad = cantidadProducto.Cantidad + (int.Parse(txtCantidadProducto.Text) * int.Parse(txtUnidadesPorMayor.Text));
                    }

                    productos.ModificarProducto(cantidadProducto);

                    //Setea campos a blanco y añade valor a label
                    txtCantidadProducto.Text = "";
                    txtComentario.Text       = "";
                    lbloldValue.Content      = txtTotalNeto.Text.ToString();
                    oldvalueforTotal         = double.Parse(lbloldValue.Content.ToString());
                    txtTotalPorProducto.Text = "";


                    MessageBox.Show("Su compra se ha agregado exitosamente!");
                }
                else
                {
                    MessageBox.Show("Cagaste win");
                }
            }
        }
        private void Button_Click(object sender, RoutedEventArgs e)
        {
            venta.Nro_Boleta = int.Parse(txtNroBoleta.Text.ToString());
            venta.FechaVenta = Convert.ToDateTime(dtpFechaVenta.SelectedDate);
            string rutVendedor = comboVendedor.SelectedValue.ToString();

            venta.RutVendedor = rutVendedor;
            venta.TotalVenta  = 0;


            dv.Nro_Boleta      = int.Parse(txtNroBoleta.Text.ToString());
            dv.id_DetalleVenta = 0;
            string nombreProducto = comboProducto.SelectedValue.ToString();

            dv.Nombre_Producto  = nombreProducto;
            dv.Cantidad         = int.Parse(txtCantidadProducto.Text);
            dv.TotalporProducto = int.Parse(txtTotalPorProducto.Text);


            if (rbdEfectivo.IsChecked == true)
            {
                venta.TipoVenta = "Efectivo";
            }
            if (rbdTarjeta.IsChecked == true)
            {
                venta.TipoVenta = "Tarjeta";
            }



            if (rbdUnidad.IsChecked == true)
            {
                totalporproducto     = double.Parse(txtTotalPorProducto.Text);
                cantidadComprada     = double.Parse(txtCantidadProducto.Text);
                precioUnitarioUnidad = (totalporproducto / cantidadComprada);
                dv.Precio_unitario   = double.Parse(precioUnitarioUnidad.ToString());
            }

            if (rbdPorMayor.IsChecked == true)
            {
                totalporproducto     = double.Parse(txtTotalPorProducto.Text);
                cantidadComprada     = double.Parse(txtCantidadProducto.Text);
                unidadescontenidas   = double.Parse(txtUnidadesPorMayor.Text);
                precioUnitarioUnidad = (totalporproducto / (cantidadComprada * unidadescontenidas));

                dv.Precio_unitario = precioUnitarioUnidad;
            }

            txtTotalNeto.Text = (double.Parse(txtTotalPorProducto.Text) + oldvalueforTotal).ToString();



            if (ventas.BuscarVenta(venta.Nro_Boleta) == null)
            {
                ventas.IngresarVenta(venta);
            }
            else
            {
                ventas.ModificarVenta(venta);
            }



            if (ventas.BuscarVenta(venta.Nro_Boleta) != null)
            {
                if (detalleVenta.IngresarDetalleVenta(dv))
                {
                    //Control de stock, disminuye cantidad de producto
                    Controlador.Producto productocontrolador = productos.BuscarProducto(dv.Nombre_Producto);
                    Modelo.Producto      cantidadProducto    = new Modelo.Producto();
                    cantidadProducto.Cantidad        = Convert.ToInt32(productocontrolador.Cantidad);
                    cantidadProducto.Nombre_Producto = productocontrolador.Nombre_Producto;
                    cantidadProducto.id_Categoria    = Convert.ToInt32(productocontrolador.id_Categoria);
                    cantidadProducto.Precio          = Convert.ToInt32(productocontrolador.Precio);
                    cantidadProducto.Cantidad        = cantidadProducto.Cantidad - Convert.ToInt32(cantidadComprada);
                    productos.ModificarProducto(cantidadProducto);

                    //Setea campos a blanco y añade valor a label
                    txtCantidadProducto.Text = "";
                    txtUnidadesPorMayor.Text = "";
                    lbloldValue.Content      = txtTotalNeto.Text.ToString();
                    oldvalueforTotal         = double.Parse(lbloldValue.Content.ToString());
                    txtTotalPorProducto.Text = "";


                    MessageBox.Show("Ha ingresado su producto!");
                }
                else
                {
                    MessageBox.Show("Cagaste win");
                }
            }
        }