Exemple #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");
        }
        public int liberaSaida(string cod)
        {
            if (estcfg.aberto() == false)
            {
                return(5);
            }

            if (estcfg.codExiste(cod) == false)
            {
                return(0);
            }

            var ticket = est.GetEstacionamentoByID(cod);

            if (im.temAtivado() == true)
            {
                var motivo = im.motivo();
                est.liberacaoEspecial(ticket, motivo);
                est.liberaTicket(ticket);
                est.modificarValorAPagar(ticket, 0.0);
                est.mudarHoraDeSaida(ticket, DateTime.Now);
                return(-1);
            }

            if (est.GetEstacionamentoByID(cod).CodEspecial != null)
            {
                //if(ticket.dt_hr_saida != )
                if (ticket.Liberado == true)
                {
                    est.mudarHoraDeSaida(ticket, DateTime.ParseExact(datador.now(), "MM-dd-yyyy HH:mm:ss", new CultureInfo("en-US")));
                    return(1);
                }
                else
                {
                    return(3);
                }
            }
            else if (calc.checaCortesia(cod) == false)
            {
                if (ticket.Liberado == true)
                {
                    est.mudarHoraDeSaida(ticket, DateTime.ParseExact(datador.now(), "MM-dd-yyyy HH:mm:ss", new CultureInfo("en-US")));
                    return(1);
                }
                else if (ticket.Liberado == false)
                {
                    return(3);
                }
            }
            else
            {
                double valor  = 0.0;
                string motivo = "Cortesia";
                est.modificarValorAPagar(ticket, valor);
                est.liberacaoEspecial(ticket, motivo);
                est.mudarHoraDeSaida(ticket, DateTime.ParseExact(datador.now(), "MM-dd-yyyy HH:mm:ss", new CultureInfo("en-US")));
                est.liberaTicket(ticket);
                return(2);
            }
            return(4);
        }