Esempio n. 1
0
        /// <summary>
        /// Obtem a lista de todos os estacionamentos
        /// </summary>
        /// <returns></returns>
        public List <EstacionamentoModel> ObtemEstacionamentos()
        {
            string sql = "SELECT * FROM dbe_estacionamento";

            DataTable dados = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql);

            if (dados.Rows.Count == 0)
            {
                throw new Exception("Consulta não retornou dados");
            }

            List <EstacionamentoModel> listaEstacionamento = new List <EstacionamentoModel>();

            foreach (DataRow item in dados.Rows)
            {
                EstacionamentoModel estaciona = new EstacionamentoModel();
                estaciona.Id               = Convert.ToInt32(item["dbs_id"].ToString());
                estaciona.IdVaga           = Convert.ToInt32(item["dbs_id_vaga"].ToString());
                estaciona.IdVeiculo        = Convert.ToInt32(item["dbs_id_veiculo"].ToString());
                estaciona.DataHora_Entrada = DateTime.Parse(item["dbs_datahora_entrada"].ToString());
                if (!string.IsNullOrEmpty(item["dbs_datahora_saida"].ToString()))
                {
                    estaciona.DataHora_Saida = DateTime.Parse(item["dbs_datahora_saida"].ToString());
                }
                estaciona.Estado = Convert.ToString(item["dbs_estado"].ToString());
                listaEstacionamento.Add(estaciona);
            }
            return(listaEstacionamento);
        }
Esempio n. 2
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
        }