private void UpdateItemHojaRuta(long IdItemHoja, long IdPlantilla)
    {
        #region Recupero los  Datos Ingresado por el usuario


        string   AuditadoPor             = (Session["usuario"] as Entidades.SegUsuario).Login;
        DateTime HojaFechaControlado     = DateTime.Now;
        string   ComentarioGralIngresado = txtComentarioGral.Text;
        string   ComentarioItemHoja      = txtComentarioItem.Text;
        DateTime?FechaAprobacionItemHoja = txtFechaAprobacion.SelectedDate;


        #endregion


        Entidades.HojasDeRuta CurrentItem = (from i in Contexto.HojasDeRuta
                                             where i.IdHojaDeRuta == IdItemHoja
                                             select i).FirstOrDefault();



        TempComentarioGrales CurrentComentario = (from C in ComentariosGrales
                                                  where C.IdPlantilla == IdPlantilla
                                                  select C).FirstOrDefault <TempComentarioGrales>();


        if (!CurrentItem.PlantillaReference.IsLoaded)
        {
            CurrentItem.PlantillaReference.Load();
        }
        if (CurrentComentario == null)
        {
            ComentariosGral coment = new ComentariosGral();
            coment.Comentario       = ComentarioGralIngresado;
            coment.ContratoEmpresas = CurrentTempCabecera.ContratoEmpresas;
            coment.Plantilla        = CurrentItem.Plantilla;
            Contexto.AddObject("ComentariosGral", coment);
        }
        else
        {
            Entidades.ComentariosGral CurrentComentarioGral = (from c in Contexto.ComentariosGral
                                                               where c.Plantilla.IdPlantilla == IdPlantilla &&
                                                               c.ContratoEmpresas.IdContratoEmpresas == CurrentTempCabecera.ContratoEmpresas.IdContratoEmpresas
                                                               select c).FirstOrDefault();

            CurrentComentarioGral.Comentario = ComentarioGralIngresado;
        }



        CurrentItem.AuditadoPor         = AuditadoPor;
        CurrentItem.HojaFechaControlado = HojaFechaControlado;
        CurrentItem.HojaComentario      = ComentarioItemHoja;
        CurrentItem.HojaFechaAprobacion = FechaAprobacionItemHoja;

        if (FechaAprobacionItemHoja != null)
        {
            CurrentItem.HojaAprobado       = true;
            CurrentItem.AuditoriaTerminada = true;
        }
        else
        {
            CurrentItem.HojaAprobado       = false;
            CurrentItem.AuditoriaTerminada = false;
        }


        Contexto.SaveChanges();
        CargarDatosSession();
        gvItemHoja.Rebind();
        upGrilla.Update();
    }