private void InicializarSauna() { if (_sauna == null) { return; } lvSaunas.SuspendLayout(); lvSaunas.Items.Clear(); List <ReservasDoHorario> reservasDoHorario = new List <ReservasDoHorario>(); foreach (Model.Vo.Agenda.Model_Vo_Agenda reserva in _reservas) { Model.Vo.Sala.Model_Vo_Sala sala = controllerSalas.GetSala(reserva.IdSala); if (sala.Tipo != Model.Vo.eTipoSala.Model_Vo_eTipoSala.Sauna) { continue; } Model.Vo.Cliente.Model_Vo_Cliente cliente = controllerCliente.GetCliente(reserva.IdCliente); ListViewItem itemSauna = new ListViewItem(cliente.Nome); itemSauna.Tag = reserva; ReservasDoHorario resevTemp = ReservasDoHorario.GetReserva(reservasDoHorario, reserva.DataHoraReserva); resevTemp.Horario = reserva.DataHoraReserva; if ((resevTemp.listReservas == null)) { resevTemp.listReservas = new List <Model.Vo.Agenda.Model_Vo_Agenda>(); } resevTemp.listReservas.Add(reserva); reservasDoHorario.Add(resevTemp); //Lista itemSauna.SubItems[0].Tag = ReservasDoHorario.GetReserva(reservasDoHorario, reserva.DataHoraReserva); lvSaunas.Items.Add(itemSauna); } lvSaunas.ResumeLayout(); }
private void InicializarListViewReservas() { lvReservas.SuspendLayout(); lvReservas.Columns.Clear(); lvReservas.Columns.Add(""); _salas.ForEach(s => lvReservas.Columns.Add(s.Nome)); for (int i = 0; i < lvReservas.Columns.Count; i++) { if ((i > 0)) { lvReservas.Columns[i].Width = 200; } } foreach (ListViewItem horaItem in lvReservas.Items) { ListViewItem.ListViewSubItem subItemHora = horaItem.SubItems[0]; horaItem.SubItems.Clear(); horaItem.Text = subItemHora.Text; for (int i = 0; i < _salas.Count; i++) { horaItem.SubItems.Add(new ListViewItem.ListViewSubItem(horaItem, " ")); } } if (_reservas == null) { return; } List <IGrouping <int, Model.Vo.Agenda.Model_Vo_Agenda> > reservasPorHorario = _reservas.GroupBy(a => a.DataHoraReserva.Hour).ToList <IGrouping <int, Model.Vo.Agenda.Model_Vo_Agenda> >(); List <ReservasDoHorario> reservasDoHorario = new List <ReservasDoHorario>(); foreach (Model.Vo.Agenda.Model_Vo_Agenda reserva in _reservas.OrderBy(x => x.Id).ThenBy(x => x.IdCliente)) { if (controllerSalas.GetSala(reserva.IdSala).Tipo == Model.Vo.eTipoSala.Model_Vo_eTipoSala.Sauna) { continue; } ListViewItem itemReserva = lvReservas.Items[reserva.DataHoraReserva.Hour]; int indexSala = -1; for (int i = 0; i < _salas.Count; i++) { if (_salas[i].Id == reserva.IdSala) { indexSala = i; break; } } if (indexSala == -1) { continue; } Model.Vo.Cliente.Model_Vo_Cliente cliente = controllerCliente.PesquisarCliente(reserva.IdCliente); if (cliente == null) { continue; } if ((itemReserva.SubItems[indexSala + 1].Text.Trim() == String.Empty) || (itemReserva.SubItems[indexSala + 1].Text == null)) { itemReserva.SubItems[indexSala + 1].Text = cliente.Nome; } else { itemReserva.SubItems[indexSala + 1].Text = itemReserva.SubItems[indexSala + 1].Text + ";" + cliente.Nome; } ReservasDoHorario resevTemp = ReservasDoHorario.GetReserva(reservasDoHorario, reserva.DataHoraReserva); resevTemp.Horario = reserva.DataHoraReserva; if ((resevTemp.listReservas == null)) { resevTemp.listReservas = new List <Model.Vo.Agenda.Model_Vo_Agenda>(); } resevTemp.listReservas.Add(reserva); reservasDoHorario.Add(resevTemp); //Lista itemReserva.SubItems[indexSala + 1].Tag = ReservasDoHorario.GetReserva(reservasDoHorario, reserva.DataHoraReserva); } lvReservas.ResumeLayout(); }