/// <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); }
public IActionResult Get(int id) { try { AutenticacaoAPI.Autenticar(); string sql = $"select * from dbe_veiculo where dbv_id = {id}"; DataTable dados = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql); return(new OkObjectResult(dados.Rows[0]["dbv_modelo"].ToString())); } catch (UnauthorizedAccessException erroAutentic) { return(StatusCode((int)HttpStatusCode.Unauthorized, erroAutentic.Message)); } }
/// <summary> /// Lista as Vagas Ocupadas /// </summary> public List <VagaModel> ListaVagasOcupadas() { string sql = "SELECT * FROM dbe_vaga WHERE EXISTS(SELECT 1 FROM dbe_estacionamento WHERE dbs_id_vaga = dbg_id and dbs_estado = 'A')"; DataTable dados = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql); List <VagaModel> listadeVagasDisponiveis = new List <VagaModel>(); foreach (DataRow item in dados.Rows) { VagaModel vaga = new VagaModel() { Id = Convert.ToInt32(item["dbg_id"].ToString()), Descricao = item["dbg_descricao"].ToString(), }; listadeVagasDisponiveis.Add(vaga); } return(listadeVagasDisponiveis); }
/// <summary> /// Lista os veículos cadastrados /// </summary> /// <returns></returns> public List <VeiculoModel> ListaVeiculos() { string sql = "select * from dbe_veiculo"; DataTable dados = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql); List <VeiculoModel> listadeveiculos = new List <VeiculoModel>(); foreach (DataRow item in dados.Rows) { VeiculoModel veiculo = new VeiculoModel() { Id = Convert.ToInt32(item["dbv_id"].ToString()), Modelo = item["dbv_modelo"].ToString(), Placa = item["dbv_placa"].ToString(), }; listadeveiculos.Add(veiculo); } return(listadeveiculos); }
/// <summary> /// ObtemRelatorioCompleto, com dados do estacionamento, pagamentos, veículos e etc. /// baseado em datas de entrada /// </summary> /// <param name="id"></param> public List <ListaEstacionamentoCompletoRelatorio> ObtemRelatorioCompletoLista(DateTime datainicial, DateTime datafinal) { #region Captura os dados do relatório string sql = "SELECT * " + "FROM dbe_tiket_pagamento tp," + "dbe_veiculo ve," + "dbe_vaga va," + "dbe_estacionamento e " + "WHERE " + "e.dbs_id = tp.dbp_id_estacionamento AND " + "e.dbs_id_veiculo = ve.dbv_id AND " + "e.dbs_id_vaga = va.dbg_id AND " + $"DATE(tp.dbp_dataPagamento) between '{datainicial.ToString("yyyy-MM-dd")}' and '{datafinal.ToString("yyyy-MM-dd")}'"; DataTable dados = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql); #endregion if (dados.Rows.Count == 0) { throw new Exception("Consulta não retornou dados"); } List <ListaEstacionamentoCompletoRelatorio> listaRelatorio = (from DataRow dr in dados.Rows select new ListaEstacionamentoCompletoRelatorio() { Estacionamento = Convert.ToString(dr["dbp_id_estacionamento"].ToString()), modelo = Convert.ToString(dr["dbv_modelo"].ToString()), placa = Convert.ToString(dr["dbv_placa"].ToString()), vaga = Convert.ToString(dr["dbg_descricao"].ToString()), entrada = Convert.ToString(dr["dbs_datahora_entrada"].ToString()), saida = Convert.ToString(dr["dbs_datahora_saida"].ToString()), valorPago = Convert.ToString(dr["dbp_valor"].ToString()), }).ToList(); return(listaRelatorio); }
/// <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 }
/// <summary> /// Lista as vagas ocupadas com as informações do veículo /// </summary> /// <returns></returns> public List <ListaEstacionamentoCompleto> ListaVagasOcupadas() { string sql = "SELECT e.dbs_id as idestacionamento, ve.dbv_modelo as modelo,ve.dbv_placa placa, va.dbg_descricao vaga, e.dbs_datahora_entrada entrada FROM " + "dbe_estacionamento e, dbe_veiculo ve, dbe_vaga va WHERE " + "e.dbs_estado = 'A' and e.dbs_id_veiculo = ve.dbv_id and e.dbs_id_vaga = va.dbg_id and " + "EXISTS(SELECT 1 FROM dbe_estacionamento WHERE dbs_id_vaga = dbg_id and dbs_estado = 'A')"; DataTable dados = MetodosAcessoDAL.RetornaDataTable(ConexaoBD.GetConection(), sql); List <ListaEstacionamentoCompleto> listadeVagasOcupadas = new List <ListaEstacionamentoCompleto>(); foreach (DataRow item in dados.Rows) { ListaEstacionamentoCompleto vaga = new ListaEstacionamentoCompleto() { idEstacionamento = item["idestacionamento"].ToString(), modelo = item["modelo"].ToString(), placa = item["placa"].ToString(), vaga = item["vaga"].ToString(), entrada = item["entrada"].ToString(), }; listadeVagasOcupadas.Add(vaga); } return(listadeVagasOcupadas); }