Пример #1
0
        /// <summary>
        /// Registra Vaga, caso esteja disponível
        /// </summary>
        public void RegistrarVagaEstacionamento()
        {
            if (IdVaga == 0 || IdVeiculo == 0)
            {
                throw new Exception("Veículo e Vaga são obrigatórios");
            }

            #region Verificando se a vaga solicitada está disponível
            string sqlconsulta = $"SELECT COUNT(*) FROM dbe_vaga WHERE dbg_id = '{IdVaga}' AND " +
                                 "NOT EXISTS(SELECT 1 FROM dbe_estacionamento WHERE dbs_id_vaga = dbg_id and dbs_estado = 'A')";

            Int32 retornoQntDisponivel = Convert.ToInt32(MetodosAcessoDAL.ReturnValue(ConexaoBD.GetConection(), sqlconsulta));
            if (retornoQntDisponivel == 0)
            {
                throw new Exception("Vaga não disponível");
            }
            #endregion

            #region Verificando se o veiculo já está em uma vaga
            string sqlconsultaVeiculo            = $"SELECT COUNT(*) FROM dbe_estacionamento e WHERE e.dbs_id_veiculo = {IdVeiculo} and dbs_estado = 'A'";
            Int32  veiculoJaEstaNoEstacionamento = Convert.ToInt32(MetodosAcessoDAL.ReturnValue(ConexaoBD.GetConection(), sqlconsultaVeiculo));
            if (veiculoJaEstaNoEstacionamento > 0)
            {
                throw new Exception("Veiculo já se encontra no estacionamento");
            }
            #endregion

            #region Exexutado a inserção
            string sql = $"INSERT INTO dbe_estacionamento(dbs_estado, dbs_id_vaga, dbs_id_veiculo, dbs_datahora_entrada) values('A', {IdVaga}, {IdVeiculo}, '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}')";
            MetodosAcessoDAL.ExecutarComandoSQL(ConexaoBD.GetConection(), sql);
            #endregion
        }
Пример #2
0
        /// <summary>
        /// Registra o veículo
        /// </summary>
        public void RegistrarVeiculo()
        {
            if (string.IsNullOrEmpty(Modelo) || string.IsNullOrEmpty(Placa))
            {
                throw new Exception("Modelo e Placa do veículo são obrigtórios");
            }

            string sql = $"INSERT INTO dbe_veiculo(dbv_modelo, dbv_placa) values('{Modelo}', '{Placa}')";

            MetodosAcessoDAL.ExecutarComandoSQL(ConexaoBD.GetConection(), sql);
        }
Пример #3
0
        /// <summary>
        /// Inicializa um novo estacinamento
        /// </summary>
        /// <param name="qntVagas"></param>
        public void InicializarEstacionamento(int qntVagas)
        {
            #region Verificando se a vaga solicitada está disponível
            string sqlconsulta = $"SELECT COUNT(*) FROM dbe_vaga";

            Int32 retornoQnt = Convert.ToInt32(MetodosAcessoDAL.ReturnValue(ConexaoBD.GetConection(), sqlconsulta));
            if (retornoQnt == 0)
            {
                MetodosAcessoDAL.ExecutarComandoSQL(ConexaoBD.GetConection(), sqlconsulta);

                for (int i = 1; i <= qntVagas; i++)
                {
                    string descricaovaga = "A" + i.ToString();
                    string sql           = $"INSERT INTO dbe_vaga(dbg_descricao) values('{descricaovaga}')";
                    MetodosAcessoDAL.ExecutarComandoSQL(ConexaoBD.GetConection(), sql);
                }
            }
            #endregion
        }
Пример #4
0
        /// <summary>
        /// Registra o pagament baseado no id do Estacionamento
        /// </summary>
        /// <param name="id"></param>
        public void RegistrarPagamento(int id)
        {
            #region Captura o valor devido
            string              sql            = $"SELECT * FROM dbe_estacionamento e WHERE e.dbs_id = {id}";
            DataTable           dados          = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql);
            EstacionamentoModel estacionamento = new EstacionamentoModel()
            {
                Id = Convert.ToInt32(dados.Rows[0]["dbs_id"].ToString()),
                DataHora_Entrada = DateTime.Parse(dados.Rows[0]["dbs_datahora_entrada"].ToString())
            };


            TimeSpan span             = DateTime.Now.Subtract(estacionamento.DataHora_Entrada);
            double   qntHorasAlocadas = Math.Truncate(span.TotalHours);
            decimal  valorCobrado;

            if (qntHorasAlocadas <= 3)
            {
                valorCobrado = 7;
            }
            else
            {
                valorCobrado = Math.Round(Convert.ToDecimal(7 + ((qntHorasAlocadas - 3) * 3)), 2);
            }
            #endregion

            #region Atualiza Estacionamento
            string sqlUpdateEstac = $"UPDATE dbe_estacionamento e set e.dbs_estado = 'P', e.dbs_datahora_saida = '{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}' where e.dbs_id = {id}";
            MetodosAcessoDAL.ExecutarComandoSQL(ConexaoBD.GetConection(), sqlUpdateEstac);
            #endregion

            #region Insere o Tiket de Pagamento
            string sqlTiketPagamento = $"INSERT INTO dbe_tiket_pagamento(dbp_dataPagamento, dbp_pago, dbp_valor, dbp_id_estacionamento) " +
                                       $"values('{DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss")}','{"S"}',{valorCobrado.ToString()},{id})";
            MetodosAcessoDAL.ExecutarComandoSQL(ConexaoBD.GetConection(), sqlTiketPagamento);
            #endregion
        }