private void btnBuscarNroTF_Click(object sender, EventArgs e)
 {
     try
     {
         if(txtTomaFisica.Text==""){MessageBox.Show("Introduzca el Numero de Toma Fisica","TECA",MessageBoxButtons.OK,MessageBoxIcon.Warning);return;}
         toolStripButton5.Enabled = false; toolStripButton3.Enabled = true;
         txtTomaFisica.Enabled = false;
         cab = dat.consultaTomaFisica(Convert.ToInt32(txtTomaFisica.Text));
         set();
     }
     catch (Exception)
     {
     }
 }
        public bool ModificarTomaFisica(clsTomaFisicaCAB dato)
        {
            try
            {
                INVENTARIOEntities enti = new INVENTARIOEntities();

                    var sel = (from q in enti.TomaFisicaDet where q.IdEmpresa == 1 && q.NroTomaFisica==dato.NroTomaFisica select q);
                    foreach (var item in sel)
                    {
                        enti.DeleteObject(item);
                    }
                    enti.SaveChanges();

                using (INVENTARIOEntities ent = new INVENTARIOEntities())
                {
                    int linea = 1;
                    foreach (var item in dato.detalle)
                    {
                        TomaFisicaDet det = new TomaFisicaDet()
                        {
                            IdEmpresa = 1,
                            linea =linea,
                            NroTomaFisica = dato.NroTomaFisica,
                            IdArticulo = item.IdArticulo,
                            ExistenciaSistema = item.ExistenciaSistema,
                            ExistenciaFisica = item.ExistenciaFisica,
                            CantidadAjustada = item.CantidadAjustada,
                            FechaAjuste = item.FechaAjuste
                        };
                        linea = linea + 1;
                        ent.AddToTomaFisicaDet(det);
                        ent.SaveChanges();
                    }
                }
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
        public bool guardarTomaFisica(ref clsTomaFisicaCAB dato)
        {
            try
            {
                INVENTARIOEntities enti = new INVENTARIOEntities();
                int numero = 0;
                try
                {
                    numero = (from q in enti.TomaFisicaCab where q.IdEmpresa == 1 select q.NroTomaFisica).Max() + 1;
                }
                catch (Exception)
                {
                    numero = 1;
                }
                dato.NroTomaFisica = numero;
                using (INVENTARIOEntities ent = new INVENTARIOEntities())
                {
                    TomaFisicaCab cab = new TomaFisicaCab()
                    {
                        NroTomaFisica = Convert.ToInt32(dato.NroTomaFisica),
                        IdEmpresa = 1,
                        IdMotivo = dato.IdMotivo,
                        FechaTomaFisica = dato.FechaTomaFisica,
                        FechaModificacion = dato.FechaModificacion,
                        Usuario = dato.Usuario,
                        IdTipoArticulo = dato.IdTipoArticulo,
                        IdBodega = dato.IdBodega,
                        Auditor = dato.Auditor,
                        Observacion = dato.Observacion,
                        IdEstado = dato.IdEstado

                    };
                    ent.AddToTomaFisicaCab(cab);
                    ent.SaveChanges();
                    int linea = 1;

                    foreach (var item in dato.detalle)
                    {
                        TomaFisicaDet det = new TomaFisicaDet()
                        {
                            IdEmpresa = 1,
                            linea = linea,
                            NroTomaFisica = dato.NroTomaFisica,
                            IdArticulo = item.IdArticulo,
                            ExistenciaSistema = item.ExistenciaSistema,
                            ExistenciaFisica = item.ExistenciaFisica,
                            CantidadAjustada = item.CantidadAjustada,
                            FechaAjuste = item.FechaAjuste
                        };
                        linea = linea + 1;
                        ent.AddToTomaFisicaDet(det);
                        ent.SaveChanges();

                    }
                    ent.SaveChanges();
                }
                return true;
            }
            catch (Exception)
            {
                return false;
            }
        }
 public clsTomaFisicaCAB consultaTomaFisica(int numero)
 {
     try
     {
         List<clsTomaFisicaDET> lista = new List<clsTomaFisicaDET>();
         clsTomaFisicaCAB clase = new clsTomaFisicaCAB();
         INVENTARIOEntities ent = new INVENTARIOEntities();
         var sel = from q in ent.TomaFisicaCab
                   join w in ent.TomaFisicaDet on q.NroTomaFisica equals w.NroTomaFisica
                   where q.NroTomaFisica == numero && w.NroTomaFisica == numero
                   select new {
                     q.IdEmpresa,
                     q.NroTomaFisica,
                     q.IdMotivo,
                     q.FechaTomaFisica,
                     q.FechaModificacion,
                     q.Usuario,
                     q.IdTipoArticulo,
                     q.IdBodega,
                     q.IdUsuario,
                     q.Auditor,
                     q.Observacion,
                     q.IdEstado,
                     //w.IdEmpresa,
                     //w.NroTomaFisica,
                     w.IdArticulo,
                     w.ExistenciaSistema,
                     w.ExistenciaFisica,
                     w.CantidadAjustada,
                     w.FechaAjuste
                   };
         var cab = sel.First();
         clase.IdEmpresa = Convert.ToInt32(cab.IdEmpresa);
         clase.NroTomaFisica = cab.NroTomaFisica;
         clase.IdMotivo = Convert.ToInt32(cab.IdMotivo);
         clase.FechaTomaFisica = Convert.ToDateTime(cab.FechaTomaFisica);
         clase.FechaModificacion = Convert.ToDateTime(cab.FechaModificacion);
         clase.Usuario = Convert.ToInt32(cab.Usuario);
         clase.IdTipoArticulo = Convert.ToInt32(cab.IdTipoArticulo);
         clase.IdBodega = Convert.ToInt32(cab.IdBodega);
         clase.IdUsuario = Convert.ToInt32(cab.IdUsuario);
         clase.Auditor = cab.Auditor;
         clase.Observacion = cab.Observacion;
         clase.IdEstado = Convert.ToInt32(cab.IdEstado);
         foreach (var item in sel)
         {
             clsTomaFisicaDET clas = new clsTomaFisicaDET();
             clas.IdEmpresa = item.IdEmpresa;
             clas.NroTomaFisica = item.NroTomaFisica;
             clas.IdArticulo = item.IdArticulo;
             clas.ExistenciaSistema = item.ExistenciaSistema;
             clas.ExistenciaFisica = item.ExistenciaFisica;
             clas.CantidadAjustada = item.CantidadAjustada;
             clas.FechaAjuste = item.FechaAjuste;
             lista.Add(clas);
         }
         clase.detalle = lista;
         return clase;
     }
     catch (Exception)
     {
         return null;
     }
 }
 private void toolStripButton1_Click(object sender, EventArgs e)
 {
     toolStripButton5.Enabled= txtTomaFisica.Enabled = true;
     toolStripButton3.Enabled = false;
     cab = new clsTomaFisicaCAB();
     set();
 }