public Reserva(Funcionario funcionario, Sala sala, DateTime data, Horario horario, LinkedList <object> itens) : base(itens) { Id = ProximoId; Funcionario = funcionario; Sala = sala; Data = data; Horario = horario; Lista.AddLast(this); itens.AddLast(this); }
private bool Disponivel(Sala sala, DateTime data, Horario horario) { var reservaExistente = Lista.Where(x => x.Sala == sala && x.Data == data && x.Horario == horario).Count(); return(reservaExistente == 0); }
private void PesquisarDisponibilidadeSubMenu() { string subTitulo = "Verificar Disponibilidade de Reserva"; string instrucao = "Digite as informações solicitadas"; string informado = string.Empty; bool navegando = false; Ler = false; Sala sala = null; DateTime data = new DateTime(); Horario horario = null; do { TopoMenu(this, subTitulo, instrucao, new List <string> { }, ref navegando); if (Voltou || Saiu) { break; } ///SETA ESQUERDA if (sala != null) { Campo("Sala"); Mostrar(sala.Nome); } else { Campo("Sala"); sala = EscolhaSala(); } if (sala.Id != 0) { if (data.Year != 0001) { Campo("Data"); Mostrar(data.ToString()); } else { Campo("Data"); data = NovaDataSubMenu(out informado); } } if (sala != null && data.Year != 0001) { if (horario != null) { Campo("Horário"); Mostrar(horario.Descricao); } else { Campo("Horário"); horario = EscolhaHorarioSubMenu(); } if (!string.IsNullOrEmpty(informado)) { Aviso(informado); Console.ReadKey(false); } } if (sala != null && data.Year != 0001 && horario != null) { Resultado(Disponivel(sala, data, horario), "Reserva disponível", "Reserva não disponível!"); } Acao = Console.ReadKey(false); }while (!Saiu); }
private bool CadastroSubMenu() { string subTitulo = "Cadastro de Reservas"; string instrucao = ""; string informado = string.Empty; bool reservaDisponivel = false; bool navegando = false; Ler = true; Reserva reserva; Funcionario funcionario = null; Sala sala = null; DateTime data = new DateTime(); Horario horario = null; do { TopoMenu(this, subTitulo, instrucao, new List <string> { }, ref navegando); if (Voltou || Saiu) { break; } ///SETA ESQUERDA if (funcionario != null) { Campo("Funcionário"); Mostrar(funcionario.Nome); } else { funcionario = EscolhaFuncionarioSubMenu(); continue; } if (funcionario != null) { if (sala != null) { Campo("Sala"); Mostrar(sala.Nome); } else { sala = EscolhaSala(); continue; } } if (funcionario != null && sala != null) { if (data.Year != 0001) { Campo("Data"); Mostrar(data.ToString()); } else { data = NovaDataSubMenu(out informado); } if (!string.IsNullOrEmpty(informado)) { Aviso(informado); Console.ReadKey(false); } } if (funcionario != null && sala != null && data.Year != 0001) { if (horario != null) { Campo("Horário"); Mostrar(horario.Descricao); } else { horario = EscolhaHorarioSubMenu(); } reservaDisponivel = Disponivel(sala, data, horario); } if (funcionario != null && sala != null && data.Year != 0001 && horario != null) { Resultado(reservaDisponivel, "Reserva realizada com sucesso!", "Reserva indisponível! Não realizada!"); if (reservaDisponivel) { reserva = new Reserva(funcionario, sala, data, horario, Itens); funcionario = null; sala = null; horario = null; data = new DateTime(); return(true); } else { break; } } Acao = Console.ReadKey(false); }while (!Saiu); return(false); }