Example #1
0
    private void Adicionar_quartos_a_lista()
    {
        for (int i = 0; i < 20; i++)
        {
            /*Tipo de quarto: 1 - Simples, 2 - Dupla, 3 - Tripla*/
            int     type   = 1;
            IQuarto quarto = Registrar_Quarto(type);
            _quartos_disponiveis.Add(quarto);
        }

        for (int i = 0; i < 20; i++)
        {
            /*Tipo de quarto: 1 - Simples, 2 - Dupla, 3 - Tripla*/
            int     type   = 2;
            IQuarto quarto = Registrar_Quarto(type);
            _quartos_disponiveis.Add(quarto);
        }

        for (int i = 0; i < 20; i++)
        {
            /*Tipo de quarto: 1 - Simples, 2 - Dupla, 3 - Tripla*/
            int     type   = 3;
            IQuarto quarto = Registrar_Quarto(type);
            _quartos_disponiveis.Add(quarto);
        }
    }
Example #2
0
    private IQuarto Registrar_Quarto(int type)
    {
        IQuarto quarto = null;

        switch (type)
        {
        case 1: {
            quarto = new Quartos_simples();
            break;
        }

        case 2: {
            quarto = new Quartos_dupla();
            break;
        }

        case 3: {
            quarto = new Quartos_tripla();
            break;
        }

        default:
            Console.WriteLine("Ocorreu um erro no gerenciamento de quartos(Registro de quartos)");
            break;
        }

        bool check = true;

        while (check)
        {
            if (_quartos_disponiveis.Count == 0)
            {
                check = false;
            }

            foreach (var item in _quartos_disponiveis)
            {
                if (quarto.Num_quarto == item.Num_quarto)
                {
                    check = true;
                    quarto.Reroll_Number();
                }
                else
                {
                    check = false;
                }
            }
        }

        return(quarto);
    }
Example #3
0
    public IQuarto Ocupar_Quarto(int i)
    {
        Listar_Quartos_Disponiveis((int)i);
        Console.WriteLine("Digite o quarto que deseja: ");
        int     number = int.Parse(Console.ReadLine());
        IQuarto quarto = Verificiar_Quarto(number);

        if (quarto == null)
        {
            Console.WriteLine("\nNúmero do quarto inválido.\n");
            return(null);
        }

        _quartos_disponiveis.Remove(quarto);
        _quartos_ocupados.Add(quarto);
        return(quarto);
    }
Example #4
0
    public double Calcular_Gasto(Reservas reservas)
    {
        Clientes cli                = reservas.cliente;
        IQuarto  quarto             = reservas.Get_Quarto();
        float    diaria             = quarto.Diaria;
        int      quant_tel          = quarto.pegar_serviço_telefone_usado();
        int      quant_comida       = quarto.pegar_serviço_comida_usado();
        int      dias_total         = (reservas.dia_saida - reservas.dia_entrada).Days;
        float    preco_total_comida = preco_comida * quant_comida;
        float    preco_total_tel    = preco_tel * quant_tel;
        float    diaria_total       = diaria * dias_total;
        float    soma               = (preco_total_comida + preco_total_tel + diaria_total);
        double   total              = soma + (soma * 0.5);

        Demonstrar_Gastos(diaria_total, preco_total_comida, preco_total_tel);
        return(total);
    }
Example #5
0
    public void Registrar_Reserva()
    {
        try
        {
            Console.WriteLine("\nQual tipo de acomodação quer?");
            Console.WriteLine("1 - Simples\n2 - Dupla\n3 - Tripla");
            int tipo_quarto = int.Parse(Console.ReadLine());
            tipo_quarto = Checar_Opcao(tipo_quarto);
            _quarto     = Pegar_Tipo(tipo_quarto);
            if (_quarto == null)
            {
                Console.WriteLine("\nOcorreu uma falha no registro do quarto, por favor refaça.\n");
                return;
            }

            Console.WriteLine("\nQuantos dias irá ficar?");
            int dias = int.Parse(Console.ReadLine());
            dia_entrada = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day);
            dia_saida   = Checar_Data(dias);
            Console.WriteLine("\nQual seu nome?");
            String nome = Console.ReadLine();
            Console.WriteLine("\nDia que nasceu?");
            int dia = int.Parse(Console.ReadLine());
            Console.WriteLine("\nMês que nasceu?");
            int mes = int.Parse(Console.ReadLine());
            Console.WriteLine("\nAno que nasceu?");
            int      ano        = int.Parse(Console.ReadLine());
            DateTime Nascimento = new DateTime(ano, mes, dia);
            cliente = Registro_de_Clientes.GetInstancia().Verificar_Registro(nome, Nascimento);

            Console.WriteLine("Parabéns {0}, sua reserva foi feita com sucesso\n", cliente.Get_Nome());
            return;
        }
        catch (Exception e)
        {
            Console.WriteLine(e);
            Gerenciamento_de_Quartos.GetInstancia().Desocupar_Quarto(_quarto);
            return;
        }
    }
Example #6
0
    public void Pedir_Serviço()
    {
        Listar_Reservas();
        Console.WriteLine("\nEscreva o número do quarto que deseja o pedido: ");
        int      room_number = int.Parse(Console.ReadLine());
        Reservas reserva     = Get_Reserva(room_number);
        IQuarto  quarto      = reserva.Get_Quarto();

        if (reserva == null)
        {
            return;
        }
        Console.WriteLine("\nGostaria de pedir qual serviço?");
        Console.WriteLine("1 - Comida, 2 - Telefone");
        int choice = int.Parse(Console.ReadLine());

        if (choice < 0 || choice > 2)
        {
            Console.WriteLine("Serviço inválido");
            return;
        }

        switch (choice)
        {
        case 1: {
            quarto.pedir_comida();
            break;
        }

        case 2: {
            quarto.usar_telefone();
            break;
        }

        default:
            Console.WriteLine("\nOcorreu um problema na decisão do serviço\n");
            break;
        }
    }
Example #7
0
 public void Desocupar_Quarto(IQuarto quarto)
 {
     quarto.reset_serviço();
     _quartos_ocupados.Remove(quarto);
     _quartos_disponiveis.Add(quarto);
 }
Example #8
0
 public QuartoPresenter(IQuarto _view)
 {
     view   = _view;
     quarto = _view.QuartoLeito;
 }
Example #9
0
 public IQuarto Pegar_Tipo(int tipo)
 {
     return(_quarto = Gerenciamento_de_Quartos.GetInstancia().Ocupar_Quarto(tipo));
 }