private void Eliminar(int iIdPedido)
        {

            //Eliminar primero la partida para la integridad referencial
            oblPedido = new MedNeg.Pedidos.BlPedidos();
            string sDatosBitacora= string.Empty;

            //Guardar los datos del pedido para la bitacora
            oPedido = new MedDAL.DAL.pedidos();
            oPedido = oblPedido.BuscarPedido(iIdPedido);

            sDatosBitacora += "Folio:" + oPedido.Folio.ToString()+" ";
            sDatosBitacora += "Fecha:" + oPedido.Fecha.ToShortDateString()+" ";
            switch (oPedido.Estatus)
            {
                case "1":
                    sDatosBitacora += "Estatus:Pedido ";
                    break;
                case "2":
                     sDatosBitacora +="Estatus:Remitido ";
                    break;
                case "3":
                    sDatosBitacora +="Estatus:Facturado ";
                    break;
                case "4":
                    sDatosBitacora += "Estatus:Cancelado ";
                    break;
            }
            
            //Recuperar la partida del pedido
            oblPedido = new MedNeg.Pedidos.BlPedidos();
            var oQuery = oblPedido.RecuperarPartidaPedido(iIdPedido);
            //Recorrer el resultado y meterlo al datagridview
            foreach (MedDAL.DAL.pedidos_partida oDetalle in oQuery)
            {
                sDatosBitacora += "Producto:" + oDetalle.productos.Nombre.ToString()+" ";
                sDatosBitacora += "Cantidad:" + oDetalle.Cantidad.ToString()+ " ";
                sDatosBitacora += "IEPS:" + oDetalle.IEPS.ToString() + " ";
                sDatosBitacora += "Iva:" + oDetalle.Iva.ToString() + " ";
                sDatosBitacora += "Precio:" + oDetalle.Precio.ToString()+ " ";
                sDatosBitacora += "Total:" + Convert.ToDecimal((oDetalle.Cantidad * oDetalle.Precio) + oDetalle.IEPS + oDetalle.Iva)+ ", ";
                sDatosBitacora += "Obs:" + oDetalle.Observaciones;

            }


            if(oblPedido.EliminarPedidoPartida(iIdPedido))
            {
                oblPedido= new MedNeg.Pedidos.BlPedidos();
                if (oblPedido.EliminarRegistro(iIdPedido))
                {
                    //lblAviso.Text = "El usuario se ha eliminado con éxito";
                    MedDAL.DAL.bitacora oBitacora = new MedDAL.DAL.bitacora();
                    MedNeg.Bitacora.BlBitacora oblBitacora = new MedNeg.Bitacora.BlBitacora();
                    oBitacora.FechaEntradaSrv = DateTime.Now;
                    oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal
                    oBitacora.Modulo = "Pedidos";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Eliminación de Pedido";
                    oBitacora.Descripcion = sDatosBitacora;

                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        lblDatos.Text = "El evento no pudo ser registrado en la bitácora";
                    }
                }
                else
                {
                    lblDatos.Text = "No se pudo eliminar el pedido, por favor vuelva a intentarlo";  
                }

            }
            else
            {
                lblDatos.Text = "No se pudo eliminar el pedido, por favor vuelva a intentarlo";  
            }
           
        }
        /// <summary>
        /// Editar
        /// </summary>
        private void Editar()
        {
            oPedido = new MedDAL.DAL.pedidos();
            oblPedido = new MedNeg.Pedidos.BlPedidos();
            //oPedido.idPedido = int.Parse(dgvDatos.SelectedDataKey.Value.ToString());
            //oPedido.Estatus = cmbEstatus.SelectedValue.ToString();
            oPedido = oblPedido.BuscarPedidoFolio(txbFolio.Text);
            oPedido.Estatus = cmbEstatus.SelectedValue.ToString();


            if(oblPedido.EditarRegistro(oPedido))
            {

                //Datos de la bitacora
                string sDatosBitacora = string.Empty;
                sDatosBitacora += "Folio:" + txbFolio.Text + " ";
                sDatosBitacora += "Fecha:" + txbFecha.Text + " ";
                sDatosBitacora += "Estatus:" + cmbEstatus.SelectedItem.ToString() + " ";
                sDatosBitacora += "Cliente:" + txbCliente.Text + " ";
                    

                oblPedido = new MedNeg.Pedidos.BlPedidos();
                if (oblPedido.EliminarPedidoPartida(oPedido.idPedido))
                {
                    bool bRegistroFallido = false;

                    //Recorrer el objeto de sesion lstDetallePartidaPedidos que contiene los datos de la partida
                    foreach (MedNeg.Facturas.BlDetallePartida pedidoDetalle in (List<MedNeg.Facturas.BlDetallePartida>)Session["lstDetallePartidaPedidos"])
                    {
                        //Saber si es un ensamble el que se esta registrando
                        if (pedidoDetalle.bEsEnsamble == true)
                        {
                            AgregarDetalleEnsamble(pedidoDetalle, oPedido.idPedido);
                        }
                        else
                        {
                            oblPedido = new MedNeg.Pedidos.BlPedidos();
                            MedDAL.DAL.pedidos_partida oPedidoPartida = new MedDAL.DAL.pedidos_partida();

                            oPedidoPartida.idPedido = oPedido.idPedido;
                            oPedidoPartida.idProducto = pedidoDetalle.iIdProducto;
                            oPedidoPartida.Cantidad = pedidoDetalle.dCantidad;
                            oPedidoPartida.IEPS = pedidoDetalle.dIeps;
                            oPedidoPartida.Iva = pedidoDetalle.dIva;
                            oPedidoPartida.Precio = pedidoDetalle.dPrecio;
                            oPedidoPartida.Observaciones = pedidoDetalle.sObservaciones;

                            //Registrar el detalle del pedido
                            if (!oblPedido.NuevoDetallePartida(oPedidoPartida))
                            {
                                bRegistroFallido = true;
                            }
                            else
                            {
                                sDatosBitacora += "Producto:" + oPedidoPartida.idProducto.ToString() + " ";
                                sDatosBitacora += "Cant:" + pedidoDetalle.dCantidad.ToString() + " ";
                                sDatosBitacora += "IEPS:" + pedidoDetalle.dIeps.ToString() + " ";
                                sDatosBitacora += "Iva:" + pedidoDetalle.dIva.ToString() + " ";
                                sDatosBitacora += "Precio:" + pedidoDetalle.dPrecio.ToString() + " ";
                                sDatosBitacora += "Total:" + Convert.ToDecimal((pedidoDetalle.dCantidad * pedidoDetalle.dPrecio) + pedidoDetalle.dIeps + pedidoDetalle.dIva) + ", ";
                                sDatosBitacora += "Obs." + pedidoDetalle.sObservaciones;
                            }
                        }
                    }


                    //Anotar en la bitacora la modificación al pedido
                    //lblAviso.Text = "El usuario se ha registrado con éxito";
                    oBitacora = new MedDAL.DAL.bitacora();
                    oblBitacora = new MedNeg.Bitacora.BlBitacora();
                    oBitacora.FechaEntradaSrv = DateTime.Now;
                    oBitacora.FechaEntradaCte = DateTime.Now;//Linea Temporal
                    oBitacora.Modulo = "Pedidos";
                    oBitacora.Usuario = Session["usuario"].ToString();
                    oBitacora.Nombre = Session["nombre"].ToString();
                    oBitacora.Accion = "Edición de Pedido";
                    oBitacora.Descripcion = sDatosBitacora;
                    if (!oblBitacora.NuevoRegistro(oBitacora))
                    {
                        lblDatos.Text = "El evento no pudo ser registrado en la bitácora";
                    }
                }


            }

        }