//Procedimiento que me devuelve una lista solo con las solicitudes que estan activas mas no procesadas
 public List<clsSolicitud> ConsultarSolicitudCabPro()
 {
     try
     {
         List<clsSolicitud> listaSolicitud = new List<clsSolicitud>();
         CompraEntities enti = new CompraEntities();
         var con = (from t in enti.SolicitudCab where t.idEstado == 1 || t.idEstado == 2 select t);
         foreach (var item in con)
         {
             clsSolicitud e = new clsSolicitud();
             e.Numero = Convert.ToInt32(item.Numero);
             e.Id_Empresa = Convert.ToInt32(item.idEmpresa);
             e.Empresa = Convert.ToString(item.Empresa);
             e.Id_Tipo_Articulo = Convert.ToInt32(item.idtipoArticulo);
             e.Tipo_Artículo = Convert.ToString(item.TipoArticulo);
             e.Id_Usuario = Convert.ToInt32(item.IdUsuario);
             e.Usuario = Convert.ToString(item.Usuario);
             e.Id_Departamento = Convert.ToInt32(item.idDepartamento);
             e.Departamento = Convert.ToString(item.Departamento);
             e.Fecha = Convert.ToDateTime(item.Fecha);
             e.Id_Estado = Convert.ToInt32(item.idEstado);
             e.Estado = Convert.ToString(item.Estado);
             listaSolicitud.Add(e);
         }
         return listaSolicitud;
     }
     catch (System.Data.SqlClient.SqlException ex)
     {
         Console.WriteLine("Error datSolicitud: " + ex);
         return null;
     }
 }
 public void borrar()
 {
     clsSolicitud Solicitud = new clsSolicitud();
     txtNumero.Text = "";
     cmbTipoArticulo.SelectedItem=null;
     cmbEstado.SelectedItem= null;
     listaSolicitudDet.Clear();
     dtgPedidoDetalle.DataSource = null;
 }
 public bool ModificarCabecera(clsSolicitud e)
 {
     try
     {
         using (CompraEntities ent = new CompraEntities())
         {
             //busca por PK el primero que encuentre lo coge
             var x = (from a in ent.Solicitud where a.Numero == e.Numero select a).First();
             x.Numero = e.Numero;
             x.idEmpresa = e.Id_Empresa;
             x.IdTipoArticulo = e.Id_Tipo_Articulo;
             x.IdUsuario = e.Id_Usuario;
             x.idDepartamento = e.Id_Departamento;
             x.idEstado = e.Id_Estado;
             ent.SaveChanges();
         }
         return true;
     }
     catch (Exception ex)
     {
         Console.WriteLine("Error al momento de Modificar la Solicitud: " + ex);
         return false;
     }
 }
        public bool Guardar(clsSolicitud e)
        {
            try
            {
                int id = getIdSiguiente();
                e.Numero = id;
                using (CompraEntities ent = new CompraEntities())
                {
                  //se instancia el entity para poder usar los nombres de las tablas
                  Solicitud   solicitudcab = new Solicitud()
                    {
                        Numero = e.Numero,
                        idEmpresa = e.Id_Empresa,
                        IdTipoArticulo = e.Id_Tipo_Articulo,
                        IdUsuario = e.Id_Usuario,
                        idDepartamento = e.Id_Departamento,
                        idEstado = e.Id_Estado
                    };

                    ent.AddToSolicitud(solicitudcab);
                    ent.SaveChanges();
                }
                return true;
            }
            catch (Exception ex)
            {
                Console.WriteLine("Error al guardar la cabecera de solicitud: " + ex);
                return false;
            }
        }