private void RegistraEntrega()
        {
            try
            {
                    AsociadoMantenimiento asociadoM = new AsociadoMantenimiento();
                    List<SIGEEA_DetFacAsociado> listaDetalles = new List<SIGEEA_DetFacAsociado>();

                    SIGEEA_FacAsociado factura = new SIGEEA_FacAsociado();
                    factura.Estado_FacAsociado = true;
                    factura.FecEntrega_FacAsociado = DateTime.Now;
                    factura.FK_Id_Asociado = asociado.PK_Id_Asociado;


                    foreach (uc_IngresoProducto ip in stpContenedor.Children)
                    {
                        SIGEEA_DetFacAsociado fac = new SIGEEA_DetFacAsociado();
                        fac.CanTotal_DetFacAsociado = ip.getCantidad();
                        fac.FK_Id_Lote = ip.getLote();
                        fac.Mercado_DetFacAsociado = ip.getMercado();
                        fac.FK_Id_PreProCompra = ip.getProducto();//Se le asigna la PK del producto, en la función de registrar de AsociadoMantenimiento se hace el cambio necesario.
                        listaDetalles.Add(fac);
                    }
                    asociadoM.RegistraEntrega(factura, listaDetalles);
                    MessageBox.Show("Entrega registrada con éxito.", "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Exclamation);
                    wnwFacturaEntrega ventana = new wnwFacturaEntrega(factura.PK_Id_FacAsociado);
                    ventana.ShowDialog();
                    this.Close();
            }
            catch (Exception ex)
            {
                MessageBox.Show("Error al registrar: " + ex.Message, "SIGEEA", MessageBoxButton.OK, MessageBoxImage.Error);
            }
        }
 partial void UpdateSIGEEA_FacAsociado(SIGEEA_FacAsociado instance);
 partial void InsertSIGEEA_FacAsociado(SIGEEA_FacAsociado instance);
		private void detach_SIGEEA_FacAsociados(SIGEEA_FacAsociado entity)
		{
			this.SendPropertyChanging();
			entity.SIGEEA_Asociado = null;
		}
 partial void DeleteSIGEEA_FacAsociado(SIGEEA_FacAsociado instance);
        /// <summary>
        /// Registra la entrega del producto, a partir de los datos de una factura y una lista de detalles.
        /// </summary>
        /// <param name="pFactura"></param>
        /// <param name="pDetalles"></param>
        public void RegistraEntrega(SIGEEA_FacAsociado pFactura, List<SIGEEA_DetFacAsociado> pDetalles)
        {
            try
            {
                DataClasses1DataContext dc = new DataClasses1DataContext();

                pFactura.FecEntrega_FacAsociado = DateTime.Now;
                pFactura.CanNeta_FacAsociado = -1;
                double total = 0;
                foreach (SIGEEA_DetFacAsociado d in pDetalles) total += d.CanTotal_DetFacAsociado;
                pFactura.CanTotal_FacAsociado = total;
                pFactura.Incompleta_FacAsociado = true;
                pFactura.CanNeta_FacAsociado = -1;
                dc.SIGEEA_FacAsociados.InsertOnSubmit(pFactura);
                dc.SubmitChanges();

                foreach (SIGEEA_DetFacAsociado d in pDetalles)
                {
                    d.FK_Id_PreProCompra = dc.SIGEEA_spObtenerPrecioCompra(d.FK_Id_PreProCompra).First().PK_Id_PreProCompra;
                    d.FK_Id_FacAsociado = pFactura.PK_Id_FacAsociado;
                    d.CanNeta_DetFacAsociado = -1;
                    d.Cancelado_DetFacAsociado = false;
                    dc.SIGEEA_DetFacAsociados.InsertOnSubmit(d);
                }
                dc.SubmitChanges();
            }
            catch (Exception ex)
            {
                throw new ArgumentException("Error al registrar: " + ex.Message);
            }

        }