/// <summary>
        /// Completa la entrega de un detalle en la factura
        /// </summary>
        /// <param name="pkDetalle"></param>
        /// <param name="CantidadNeta"></param>
        public void CompletarEntrega(int pkDetalle, double CantidadNeta, int unidadMedida, int pProducto, bool pEstado)
        {
            try
            {
                DataClasses1DataContext dc       = new DataClasses1DataContext();
                SIGEEA_DetFacAsociado   detalle  = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == pkDetalle);
                ProductoMantenimiento   producto = new ProductoMantenimiento();
                detalle.CanNeta_DetFacAsociado   = CantidadNeta;
                detalle.CanTotal_DetFacAsociado  = detalle.CanTotal_DetFacAsociado;
                detalle.Cancelado_DetFacAsociado = false;
                detalle.FK_Id_FacAsociado        = detalle.FK_Id_FacAsociado;
                detalle.FK_Id_Lote             = detalle.FK_Id_Lote;
                detalle.Saldo_DetFacAsociado   = CantidadNeta * (detalle.Mercado_DetFacAsociado == 1 ? dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreNacional_PreProCompra : dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreExtranjero_PreProCompra);
                detalle.FK_Id_PreProCompra     = detalle.FK_Id_PreProCompra;
                detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado;
                dc.SubmitChanges();

                if (pEstado == true)
                {
                    producto.IncrementarInventario(unidadMedida, pProducto, CantidadNeta);
                }
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error: " + ex.Message);
            }
        }
 private void btnRegistrar_Click(object sender, RoutedEventArgs e)
 {
     SIGEEA_TipProducto nuevoTipo = new SIGEEA_TipProducto();
     nuevoTipo.Nombre_TipProducto = txbNombre.Text;
     nuevoTipo.Calidad_TipProducto = Convert.ToInt32(ucCalidad.NUDTextBox.Text);
     nuevoTipo.Descripcion_TipProducto = txbDescripcion.Text;
     ProductoMantenimiento prodMantenimiento = new ProductoMantenimiento();
     prodMantenimiento.RegistrarTipoProducto(nuevoTipo);
 }
        /// <summary>
        /// Completa la entrega de un detalle en la factura
        /// </summary>
        /// <param name="pkDetalle"></param>
        /// <param name="CantidadNeta"></param>
        public void CompletarEntrega(int pkDetalle, double CantidadNeta, int unidadMedida, int pProducto, bool pEstado)
        {
            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();
                SIGEEA_DetFacAsociado detalle = dc.SIGEEA_DetFacAsociados.First(c => c.PK_Id_DetFacAsociado == pkDetalle);
                ProductoMantenimiento producto = new ProductoMantenimiento();
                detalle.CanNeta_DetFacAsociado = CantidadNeta;
                detalle.CanTotal_DetFacAsociado = detalle.CanTotal_DetFacAsociado;
                detalle.Cancelado_DetFacAsociado = false;
                detalle.FK_Id_FacAsociado = detalle.FK_Id_FacAsociado;
                detalle.FK_Id_Lote = detalle.FK_Id_Lote;
                detalle.Saldo_DetFacAsociado = CantidadNeta * (detalle.Mercado_DetFacAsociado == 1 ? dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreNacional_PreProCompra : dc.SIGEEA_PreProCompras.First(c => c.PK_Id_PreProCompra == detalle.FK_Id_PreProCompra).PreExtranjero_PreProCompra);
                detalle.FK_Id_PreProCompra = detalle.FK_Id_PreProCompra;
                detalle.Mercado_DetFacAsociado = detalle.Mercado_DetFacAsociado;
                dc.SubmitChanges();

                if(pEstado == true) producto.IncrementarInventario(unidadMedida, pProducto, CantidadNeta);
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error: " + ex.Message);
            }
        }