예제 #1
0
        public string emiteTicket()
        {
            if (estacionamento.aberto() == false)
            {
                return("Estacionamento fechado");
            }

            if (estacionamento.getVagasDisponiveis() > 0)
            {
                vaga.ticket = bcg.generateCode();

                while (estacionamento.codRepetido(vaga.ticket) == true)
                {
                    vaga.ticket = bcg.generateCode();
                }

                vaga.dt_hr_entrada = clock.HoraCustom(clock.now());
                vaga.emitido_por   = "Cancela";
                vaga.Liberado      = false;
                vaga.valor_pago    = 0.0;
                estacionamento.ocupaVaga(vaga);
                return(vaga.ticket);
            }

            return("Estacionamento lotado");
        }
예제 #2
0
        public string emiteTicketCasoExtravio(Boolean extravio)
        {
            if (cfg.getVagasDisponiveis() >= 40)
            {
                return("impossivel");
            }

            string dataEmissao = clock.now();

            ticketEmitir.ticket        = bcg.generateCode();
            ticketEmitir.dt_hr_entrada = clock.HoraCustom(dataEmissao);
            ticketEmitir.emitido_por   = "Guichê";
            ticketEmitir.valor_pago    = 0.0;
            ticketEmitir.Liberado      = false;
            if (extravio == true)
            {
                ticketEmitir.CodEspecial = "TKEXT";
            }
            else
            {
                ticketEmitir.CodEspecial = geraCodespecial();
            }

            while (cfg.codExiste(ticketEmitir.ticket) == true)
            {
                ticketEmitir.ticket = bcg.generateCode();
            }
            if (cfg.ocupaVaga(ticketEmitir) == true)
            {
                return(ticketEmitir.ticket);
            }
            else
            {
                return("cheio");
            }
        }
 public Boolean ocupaVaga(Estacionamento est)
 {
     if (getVagasDisponiveis() <= 0)
     {
         return(false);
     }
     //se for igual gera outro codigo
     if (estDAO.Add(est) == false)
     {
         var novoCod = geradorCod.generateCode();
         est.ticket = novoCod;
         ocupaVaga(est);
         return(true);
     }
     estDAO.Add(est);
     return(true);
 }