//Verifica se já foi feita uma reserva na mesma data/horário public bool verificaExistenciaReserva(Reserva reserva, Sala sala) { bool existeReserva = false; DateTime dataHoraInicio = ParaDateTime(reserva.getDataInicio(), reserva.getHoraInicio()); DateTime dataHoraFim = ParaDateTime(reserva.getDataFim(), reserva.getHoraFim()); foreach (Reserva r in listaReservas) { DateTime dataHoraRinicio = ParaDateTime(r.getDataInicio(), r.getHoraInicio()); DateTime dataHoraRfim = ParaDateTime(r.getDataFim(), r.getHoraFim()); if (r.getNumSala() == sala.getNumSala()) { if (dataHoraRinicio >= dataHoraInicio && dataHoraRinicio < dataHoraFim) { existeReserva = true; } if (dataHoraRfim > dataHoraInicio && dataHoraRfim <= dataHoraFim) { existeReserva = true; } } } return(existeReserva); }
//Carrega o arquivo de reservas e adiciona reservas válidas private void bCarregar_Click(object sender, EventArgs e) { try { OpenFileDialog openFileDialog1 = new OpenFileDialog(); openFileDialog1.Filter = "Arquivos de texto | *.txt"; if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK) { System.IO.StreamReader sr = new System.IO.StreamReader(openFileDialog1.FileName); textDiretorio.Text = openFileDialog1.FileName; string texto = sr.ReadToEnd().Trim(); sr.Close(); if (texto.Length > 0) { string[] textoSplit = texto.Split('\n'); for (int i = 0; i < textoSplit.Length; i++) { string[] reservaSplit = textoSplit[i].Split(';'); string dataInicio = reservaSplit[0]; string horaInicio = reservaSplit[1]; string dataFim = reservaSplit[2]; string horaFIm = reservaSplit[3]; int quantidadePessos = int.Parse(reservaSplit[4]); bool temAcessoInternet; bool temTVeWebcam; string acessoInternet = reservaSplit[5].ToUpper(); if (acessoInternet.Equals("SIM")) { temAcessoInternet = true; } else { temAcessoInternet = false; } string tvEwebcam = reservaSplit[6].ToUpper().Trim(); if (tvEwebcam.Equals("SIM")) { temTVeWebcam = true; } else { temTVeWebcam = false; } string resposta = validaReserva(dataInicio, dataFim, i); if (resposta.Equals("")) { Reserva reserva = new Reserva(dataInicio, horaInicio, dataFim, horaFIm, quantidadePessos, temAcessoInternet, temTVeWebcam); Sala sala = selecionaSala(reserva); int numReserva = i + 1; if (sala != null) { reserva.setNumSala(sala.getNumSala()); listaReservas.Add(reserva); MessageBox.Show("Reserva nº " + numReserva + ": Cadastrada! \n" + "Sala:" + sala.getNumSala()); } else { MessageBox.Show("Reserva nº " + numReserva + ": Não possui vagas para a data!"); } } else { MessageBox.Show(resposta); } } } } initListView(); } catch (Exception ex) { Console.Write(ex); } }