private TabItem dibujaEquipos(laboratorio lab) { Grid grid = new Grid(); TabItem tabItem = new TabItem(); List<uctComputadora> compus = new List<uctComputadora>(); //grid.Children.Add(AgregarPizarron()); AlumnoBLL alumnos = new AlumnoBLL(); var sesiones = alumnos.getActivas(lab.Numero); for (int j = 0; j < lab.Equipos.Count; j++) { compus.Add(new uctComputadora(lab.Numero, lab.Equipos[j].Numero)); compus[j].Margin = new Thickness(lab.Equipos[j].X - 100, lab.Equipos[j].Y, 0.0, 0.0); compus[j].MouseDown += new MouseButtonEventHandler(Compu_MouseDown); //grid.Children.Add(compus[j]); } foreach (var se in sesiones) { compus[se.SE_NUM_EQP].EstadoEquipo = uctComputadora.Estado.Ocupada; compus[se.SE_NUM_EQP].Usuario = se.AS_US_DESCR; } for (int i = 0; i < compus.Count; i++) grid.Children.Add(compus[i]); tabItem.Content = grid; tabItem.Header = string.Format("Laboratorio {0}", lab.Numero); return tabItem; }
private void obtenerActual(int idlab) { List<Horario> lstHoras = new List<Horario>(); #region Inicializacion Dictionary<string, string> dias = new Dictionary<string, string>(); dias.Add("MONDAY", "LUNES"); dias.Add("TUESDAY", "MARTES"); dias.Add("WEDNESDAY", "MIERCOLES"); dias.Add("THURSDAY", "JUEVES"); dias.Add("FRIDAY", "VIERNES"); dias.Add("SATURDAY", "SABADO"); dias.Add("SUNDAY", "DOMINGO"); HorarioBLL horarios = new HorarioBLL(); AvisoBLL avisos = new AvisoBLL(); AlumnoBLL alumnos = new AlumnoBLL(); #endregion lstAvisos = avisos.ObtenerAll(); misSesiones.Add(alumnos.GetByLab(idlab)); string diaSn = string.Empty; string diaActual = DateTime.Now.DayOfWeek.ToString(); string horaActual = DateTime.Now.Hour.ToString() + ":00"; try { int hraSer = int.Parse(horaActual.Replace(":00", "")); dias.TryGetValue(diaActual.ToUpper(), out diaSn); // OPTIMIZACION var HrasDelDia = horarios.ObtenerByLab(idlab) .Where(t => t.Dia == diaSn) .OrderBy(o=> o.HoraInicio) .ToList(); // var hraAct = HrasDelDia .Where(t => t.HoraInicio == horaActual || int.Parse(t.HoraFin.Replace(":00", "")) > hraSer) .FirstOrDefault(); var hrsPos = HrasDelDia .Where(t => int.Parse(t.HoraInicio.Replace(":00", "")) > hraSer) .Take(3).ToList(); //var hraAct = horarios.ObtenerByLab(idlab) // .Where(t => t.Dia == diaSn && t.HoraInicio == horaActual) // .FirstOrDefault(); //var hrsPos = horarios.ObtenerByLab(idlab) // .Where(t => t.Dia == diaSn && int.Parse(t.HoraInicio.Replace(":00", "")) > int.Parse(tmpA)) // .Take(3).ToList(); if (hraAct != null) lstHoras.Add(hraAct); lstHoras.AddRange(hrsPos); misHorarios.Add(lstHoras); if (isInicial) { isInicial = false; xLab = misHorarios.Count ; } } catch (Exception) { lstHoras.Clear(); //MessageBox.Show("Error >.<!! " + ex.Message); } }