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();
        }