Example #1
0
        static void FecharConta()
        {
            Console.Write("Nome do cliente: ");
            string nomeCliente = Console.ReadLine();

            Console.Write("Data de nascimento (dd mm aa): ");
            var dataNascimentoStr = Console.ReadLine().Split(' ');
            var dataNascimento    = new Data()
            {
                Dia = int.Parse(dataNascimentoStr[0]),
                Mes = int.Parse(dataNascimentoStr[1]),
                Ano = int.Parse(dataNascimentoStr[2])
            };

            var cliente = HotelSistema.Instance().PegarCliente(nomeCliente, dataNascimento);

            if (cliente == null)
            {
                Console.WriteLine("O cliente não está registrado no sistema!");
                return;
            }

            QuartoProxy quartoHospedado = null;

            var quartos = HotelSistema.Instance().Quartos();

            foreach (var q in quartos)
            {
                if (q.Hospede == null)
                {
                    continue;
                }
                if (q.Hospede.Identidade == cliente.Identidade)
                {
                    quartoHospedado = q;

                    // marcar quarto como disponivel
                    q.Disponibilidade = QuartoDisponibilidade.Disponivel;
                    q.Hospede         = null;
                    q.Gastos.Clear();
                    break;
                }
            }

            if (quartoHospedado == null)
            {
                Console.WriteLine("O cliente não reservou nenhum quarto!");
                return;
            }

            var gastosTotais = HotelSistema.Instance().GastosTotais(quartoHospedado);

            Console.Write("Confirmar depósito de R$ {0}", gastosTotais);
            Console.ReadKey();

            HotelSistema.Instance().Financas().Depositar(gastosTotais);
            Console.WriteLine("Conta finalizada!");
        }
Example #2
0
        public void RegistrarGasto(QuartoProxy quarto, QuartoGasto gasto)
        {
            if (!_gastosPorQuarto.ContainsKey(quarto.Identificacao))
            {
                this._gastosPorQuarto[quarto.Identificacao] = new List <KeyValuePair <QuartoGasto, double> > ();
            }

            this._gastosPorQuarto[quarto.Identificacao].Add(new KeyValuePair <QuartoGasto, double>(gasto, CustoGasto(quarto.Tipo(), gasto)));
        }
Example #3
0
        public double GastosTotais(QuartoProxy quarto)
        {
            var ans = EstimarValor(quarto.Tipo(), quarto.Entrada, quarto.Saida);

            foreach (var g in quarto.Gastos)
            {
                ans += CustoGasto(quarto.Tipo(), g);
            }

            return(ans);
        }