private void btnBuscar_Click(object sender, EventArgs e)
 {
     try
     {
         frmConsultaLLegada frm = new frmConsultaLLegada();
         frm.ShowDialog();
         txtOrden.Text=frm.idNroMovimiento.ToString();
         clase=dat.consultaOrdencompra(Convert.ToInt32(txtOrden.Text));
         gcllegada.DataSource = clase.detalle;
         txtObservacion.Text = clase.Observacion;
     }
     catch (Exception)
     {
     }
 }
        public bool guardarLLegada(clsLlegadaMercaderia dato)
        {
            try
            {
                INVENTARIOEntities enti = new INVENTARIOEntities();
                int numero = 0;
                try
                {
                    numero = (from q in enti.LlegadaMercaderiaCab where q.IdEmpresa == 1 select q.NroMovimiento).Max() + 1;
                }
                catch (Exception)
                {
                    numero = 1;
                }
                dato.NroMovimiento = numero;
                using (INVENTARIOEntities ent=new INVENTARIOEntities())
                {
                    LlegadaMercaderiaCab cab=new LlegadaMercaderiaCab(){
                    NroMovimiento=Convert.ToInt32(dato.NroMovimiento),
                    IdEmpresa=1,
                    //IdTipoMovimiento
                    //IdOrdenCompra=dato.IdOrdenCompra,
                    //IdProveedor
                    Factura=dato.Factura,
                    //FechaMovimiento
                    //IdMotivo
                    //IdBodega
                    //IdResponsable
                    Observacion=dato.Observacion
                    //IdUsuario
                    //IdEstado
                    };
                    ent.AddToLlegadaMercaderiaCab(cab);
                    ent.SaveChanges();

                    foreach (var item in dato.detalle)
                    {
                        LlegadaMercaderiaDet det=new LlegadaMercaderiaDet(){
                        IdEmpresa=1,
                        NroMovimiento=Convert.ToInt32(dato.NroMovimiento),
                        numero=Convert.ToInt32(item.numero),
                        IdArticulo=item.IdArticulo,
                        IdPercha=item.IdPercha,
                        CantidadPedida=item.CantidadPedida,
                        CantidadLlegada=item.CantidadLlegada,
                        Precio=item.Precio,
                        Subtotal=item.Subtotal,
                        ValorIVA=item.ValorIVA,
                        ValorTotal=item.ValorTotal

                        };
                        ent.AddToLlegadaMercaderiaDet(det);
                        ent.SaveChanges();

                    }
                    ent.SaveChanges();
                }
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
        public clsLlegadaMercaderia consultaOrdencompra(int numero)
        {
            try
            {
                List<clsLlegadaMercaderiaDet> lista = new List<clsLlegadaMercaderiaDet>();
                clsLlegadaMercaderia clase=new clsLlegadaMercaderia();
                INVENTARIOEntities ent = new INVENTARIOEntities();
                var sel = from q in ent.OrdenCompra
                          join w in ent.OrdenCompraDet on q.IdOrdenCompra equals w.Numero
                          where q.IdOrdenCompra==numero && w.Numero==numero
                          select new { q.IdOrdenCompra,q.idEmpresa,q.IdUsuario,q.Fecha,q.FechaModificacion,q.idProveedor,q.NumeroCotizacion,q.Observaciones,q.idEstado,w.Numero,w.Linea,w.IdArticulo,w.Cantidad ,w.Precio};
                var cab=sel.First();
                clase.IdOrdenCompra = cab.IdOrdenCompra;
                clase.IdProveedor = cab.idProveedor;
                clase.Observacion = cab.Observaciones;

                foreach (var item in sel)
                {
                    clsLlegadaMercaderiaDet clas = new clsLlegadaMercaderiaDet();
                    clas.IdEmpresa = item.idEmpresa;
                    clas.numero = item.Linea;
                    clas.IdArticulo = item.IdArticulo;
                    clas.CantidadPedida = item.Cantidad;
                    clas.Precio = item.Precio;
                    lista.Add(clas);
                }
                clase.detalle = lista;
                return clase;
            }
            catch (Exception)
            {
                return null;
            }
        }
        public List<clsLlegadaMercaderia> consultaOrdenCompra()
        {
            try
            {
                List<clsLlegadaMercaderia> lista = new List<clsLlegadaMercaderia>();
                INVENTARIOEntities ent = new INVENTARIOEntities();
                var sel = from q in ent.OrdenCompra select q;
                foreach (var item in sel)
                {
                    clsLlegadaMercaderia clas = new clsLlegadaMercaderia();
                    clas.IdOrdenCompra = item.IdOrdenCompra;

                    clas.IdProveedor = item.idProveedor;
                    clas.Observacion = item.Observaciones;

                    lista.Add(clas);
                }
                return lista;
            }
            catch (Exception)
            {
                return null;
            }
        }