//valida se no caso de edição da hora no dia for igual ao dia em que vc esta editando public bool validaHoraInicial(Models.ReservaSala reservaSala) { var dia = reservaSala.reservaDia; if (dia.Day == DateTime.Now.Day && dia.Month == DateTime.Now.Month && dia.Year == DateTime.Now.Year) { var hrAtual = (DateTime.Now.Hour.ToString() + ":" + DateTime.Now.Minute.ToString()); var hrUsuario = (reservaSala.reservaHoraIni.Hours.ToString() + ":" + reservaSala.reservaHoraIni.Minutes.ToString()); var compHr = TimeSpan.Parse(hrUsuario) >= TimeSpan.Parse(hrAtual); return(compHr); } //retorna true se o dia não igual ao de hoje return(true); }
//Valida a hora da reserva de acordo com o dia public bool validaData(Models.ReservaSala reservaSala) { //primeira validação busca a lista de todos no dia de acordo com a sala var validacaoLista = db.ReservaSalas.AsNoTracking().Where(x => x.reservaDia == reservaSala.reservaDia && x.idSala == reservaSala.idSala).ToList(); if (validacaoLista.Count() == 0) { return(true); } else { var id = reservaSala.idResSala; var edicaoReserva = validacaoLista.Any(y => y.idResSala == id); if (edicaoReserva) { var encontradoEdiRes = validacaoLista.Find(r => r.idResSala == id); var horaIniUp = reservaSala.reservaHoraIni; var horaFimUp = reservaSala.reservaHoraFim; var valEdit = validacaoLista.Any(y => (horaIniUp <= y.reservaHoraIni) || (horaFimUp >= y.reservaHoraFim)); if (valEdit) { return(true); } else { return(false); } } return(validacaoLista.Any(x => (reservaSala.reservaHoraFim <= x.reservaHoraIni) || (reservaSala.reservaHoraIni >= x.reservaHoraFim))); } }
//Valida se a hora final é menor que a hora inicial public bool validaHoraMenor(Models.ReservaSala reservaSala) { return(reservaSala.reservaHoraFim > reservaSala.reservaHoraIni); }