private void Btn_Inserir_Click(object sender, RoutedEventArgs e) { Projeto.ProjetoDTO p = new Projeto.ProjetoDTO(); p.Nome = TB_Nome_Projeto.Text; p.Tipo = CB_Tipo_Projeto.Text; p.Data = TB_Data_Projeto.Text; p.Conta = TB_Conta_Bancaria.Text; if(TB_Montante_Pedido.Text != "") p.MontantePedido = Convert.ToInt64(TB_Montante_Pedido.Text); Promotor prom = new Promotor(); prom.Nome = TB_Nome_Promotor.Text; prom.Nacionalidade = TB_Nacionalidade_Promotor.Text; p.Promotor = prom; Contacto cont = new Contacto(); cont.Nome = TB_Nome_Contacto.Text; cont.Telefone = TB_Telefone_Contacto.Text; cont.Email = TB_Email_Contacto.Text; p.Contacto = cont; bool sucesso = GestorProjeto.Instance.AceitarCandidatura(p); if (sucesso) { Utils.createMsgBox("Candidatura inserida com sucesso.", "Inserir Candidatura", MessageBoxButton.OK, MessageBoxImage.Information); //Utils.clearAllTextBoxes(this); Homepage win = new Homepage(); win.Left = this.Left; win.Top = this.Top; win.Show(); this.Close(); } else Utils.createMsgBox("Problemas a inserir a candidatura.", "Inserir Candidatura", MessageBoxButton.OK, MessageBoxImage.Error); }
public ProjetoDAO(String tipoUtilizador = null) { m_projetos = new List<ProjetoDTO>(50); //ligar a base de dados e fazer a query para obter todos os utilizadores da BD. m_db = new SQLiteDatabase(); DataTable dt; //getting the sequencial number String query = "SELECT MAX(num_projeto) AS max FROM Projeto"; dt = m_db.GetDataTable(query); DataRow row = dt.Rows[0]; try { m_sequencialNumber = (Int64)row[0]; } catch (Exception e) { String g = e.ToString(); m_sequencialNumber = 0; } switch(tipoUtilizador) { case "tecnico": query = "SELECT * FROM VW_ProjetoEstado WHERE num_estado = '1'";//ESTADO 1 = CANDIDATURA break; case "gestor": query = "SELECT * FROM VW_ProjetoEstadoUtilizador WHERE nome_utilizador = '" + GestorLogin.Instance.Utilizador.Nome + "'"; break; default: query = "SELECT * FROM VW_ProjetoEstado"; break; } dt = m_db.GetDataTable(query); ProjetoDTO p; Promotor prom; //Contacto cont; foreach (DataRow r in dt.Rows) { p = new ProjetoDTO(); p.Numero = (Int64)r["num_projeto"]; p.Nome = (String)r["nome"]; prom = new Promotor(); prom.Nome = (String)r["promotor_nome"]; p.Promotor = prom; p.Data = (String)r["data_criacao"]; p.MontantePedido = (Int64)r["montante_pedido"]; p.Estado = (String)r["nome_estado"]; m_projetos.Add(p); } }
//obtem todos os dados relevantes ao projeto com o numProjeto public ProjetoDTO ObterProjeto(long numProjeto) { ProjetoDTO p = new ProjetoDTO(); Promotor prom = new Promotor(); Contacto cont = new Contacto(); //1 coisa obter tipo GestorProjeto.TipoProjeto t = VerificarTipoProjeto(numProjeto); p.Tipo = GestorProjeto.Instance.ObterTipoProjeto( t ); String query; if(t == GestorProjeto.TipoProjeto.BONIFICACAO) query = "SELECT * FROM VW_ProjetoBonificacao WHERE num_projeto = '" + numProjeto + "'"; else query = "SELECT * FROM VW_ProjetoIncentivo WHERE num_projeto = '" + numProjeto + "'"; DataTable dt = m_db.GetDataTable(query); if (dt.Rows.Count <= 0) return null; DataRow r = dt.Rows[0]; //campos comuns p.Conta = (String)r["conta_bancaria"]; p.Data = (String)r["data_criacao"]; p.MontantePedido = (Int64)r["montante_pedido"]; p.Nome = (String)r["nome"]; p.Numero = (Int64)r["num_projeto"]; prom.Nome = (String)r["promotor_nome"]; prom.Nacionalidade = (String)r["promotor_nacionalidade"]; cont.Nome = (String)r["contacto_nome"]; cont.Telefone = (String)r["contacto_telefone"]; if( !r.IsNull("contacto_email") ) cont.Email = (String)r["contacto_email"]; if (t == GestorProjeto.TipoProjeto.BONIFICACAO) { if (!r.IsNull("data_inicio")) p.DataInicio = (String)r["data_inicio"]; if (!r.IsNull("data_fim")) p.DataFim = (String)r["data_fim"]; if (!r.IsNull("taxa")) p.Taxa = (Int64)r["taxa"]; if (!r.IsNull("montante_maximo")) p.MontanteMaximo = (Int64)r["montante_maximo"]; }else { if (!r.IsNull("numero_prestacoes")) p.NumeroPrestacoes = (Int64)r["numero_prestacoes"]; } query = "SELECT * FROM VW_ProjetoEstado WHERE num_projeto = '" + numProjeto + "'"; dt = m_db.GetDataTable(query); if (dt.Rows.Count > 0) { r = dt.Rows[0]; p.Estado = (String)r["nome_estado"]; p.NumeroEstado = (Int64)r["num_estado"]; p.NumeroEstadoAnterior = (Int64)r["num_estado_anterior"]; } query = "SELECT * FROM VW_GestorProjetos WHERE num_projeto = '" + numProjeto + "'"; dt = m_db.GetDataTable(query); if (dt.Rows.Count > 0) { r = dt.Rows[0]; p.Gestor = (String)r["gestor"]; } query = "SELECT * FROM RegistoAccao WHERE num_projeto = '" + numProjeto + "'"; dt = m_db.GetDataTable(query); RegistoProjeto rp; foreach(DataRow row in dt.Rows) { rp = new RegistoProjeto(); rp.Data = (String)row["data_registo"]; if (!row.IsNull("nota_registo")) rp.Nota = (String)row["nota_registo"]; p.Registos.Add(rp); } p.Promotor = prom; p.Contacto = cont; return p; }
private void Btn_Gravar_Click(object sender, RoutedEventArgs e) { //Estes não se alteram //m_p.Gestor = TB_Gestor.Text; //m_p.Tipo = TB_Tipo_Projeto.Text; //m_p.Data = TB_Data_Projeto.Text; m_p.Nome = TB_Nome_Projeto.Text; m_p.Conta = TB_Conta_Bancaria.Text; m_p.MontantePedido = Convert.ToInt64(TB_Montante_Pedido.Text); //Promotor Promotor prom = new Promotor(); prom.Nome = TB_Nome_Promotor.Text; prom.Nacionalidade = TB_Nacionalidade_Promotor.Text; m_p.Promotor = prom; //Contacto Contacto cont = new Contacto(); cont.Nome = TB_Nome_Contacto.Text; cont.Telefone = TB_Telefone_Contacto.Text; cont.Email = TB_Email_Contacto.Text; m_p.Contacto = cont; bool res = GestorProjeto.Instance.UpdateProjeto(m_p); if(res) Utils.createMsgBox("Dados de Projetos gravados.", "Projeto Gravado", MessageBoxButton.OK, MessageBoxImage.Information); else Utils.createMsgBox("Problema a guardar os dados do Projeto.", "Projeto Gravado", MessageBoxButton.OK, MessageBoxImage.Error); }