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 ProjetoWin(long numProjeto) { InitializeComponent(); Utils.initWindow(this); m_numProjeto = numProjeto; m_p = GestorProjeto.Instance.ObterProjeto(numProjeto); preencherCampos(); switch (GestorLogin.Instance.Utilizador.Tipo) { case "gestor": iniciarPaginaGestor(); break; case "comissao": iniciarPaginaComissao(); break; //tecnico default: iniciarPaginaTecnico(); break; } }
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); } }
public DespachoWin(ProjetoDTO p) { InitializeComponent(); Utils.initWindow(this); m_p = p; preencherComboBoxTiposProjetos(); }
public Registos(long numProjeto) { InitializeComponent(); Utils.initWindow(this); m_numProjeto = numProjeto; m_p = GestorProjeto.Instance.ObterProjeto(numProjeto); DG_Registos.IsReadOnly = true; DG_Registos.CanUserReorderColumns = true; DG_Registos.SelectionMode = DataGridSelectionMode.Single; DG_Registos.ItemsSource = m_p.Registos; }
public bool UpdateProjeto(ProjetoDTO p) { Dictionary<String, String> data = new Dictionary<String, String>(); data.Add("nome", p.Nome); data.Add("conta_bancaria", p.Conta); data.Add("montante_pedido", p.MontantePedido.ToString()); data.Add("promotor_nome", p.Promotor.Nome); data.Add("promotor_nacionalidade", p.Promotor.Nacionalidade); data.Add("contacto_nome", p.Contacto.Nome); data.Add("contacto_telefone", p.Contacto.Telefone); data.Add("contacto_email", p.Contacto.Email); String where = "num_projeto = '" + p.Numero + "'"; return m_db.Update("Projeto", data, where); }
public bool UpdateGestorProjeto(ProjetoDTO p) { String query = "SELECT * FROM VW_GestorProjetos WHERE gestor = '" + p.Gestor + "'"; DataTable dt = m_db.GetDataTable(query); DataRow r; long num_gestor = -1; if (dt.Rows.Count > 0) { r = dt.Rows[0]; num_gestor = (Int64)r["num_gestor"]; } Dictionary<String, String> data = new Dictionary<String, String>(); data.Add("num_gestor", num_gestor.ToString()); String where = "num_projeto = '" + p.Numero + "'"; return m_db.Update("Projeto", data, where); }
//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; }
public bool InserirProjeto(ProjetoDTO p) { p.Numero = m_sequencialNumber + 1; m_projetos.Add(p); Dictionary<String, String> data = new Dictionary<String, String>(); data.Add("num_projeto", p.Numero.ToString()); data.Add("nome", p.Nome); data.Add("conta_bancaria", p.Conta); data.Add("montante_pedido", p.MontantePedido.ToString()); data.Add("promotor_nome", p.Promotor.Nome); data.Add("promotor_nacionalidade", p.Promotor.Nacionalidade); data.Add("contacto_nome", p.Contacto.Nome); data.Add("contacto_telefone", p.Contacto.Telefone); data.Add("contacto_email", p.Contacto.Email); data.Add("num_estado", "1");//CANDIDATURA data.Add("num_estado_anterior", "1");//CANDIDATURA data.Add("data_criacao", p.Data); data.Add("data_registo", p.Data); data.Add("nota_registo", "Criação de projeto"); bool res = false; if (p.Tipo.CompareTo(GestorProjeto.Instance.ObterTipoProjeto(GestorProjeto.TipoProjeto.BONIFICACAO)) == 0) res = m_db.Insert("VW_ProjetoBonificacao", data); else res = m_db.Insert("VW_ProjetoIncentivo", data); return res; }
public bool UpdateProjeto(ProjetoDTO p) { return m_pDAO.UpdateProjeto(p); }
public void DespachoAbertura(ProjetoDTO p, String nota) { Projeto prj = new Projeto(p.NumeroEstado); prj.Dados = p; prj.EmitirDespAbertura(); m_pDAO.InserirAccao(p.Numero, "Mudança de estado para: Análise Técnica"); m_pDAO.InserirAccao(p.Numero, nota); m_pDAO.UpdateGestorProjeto(p); }
public bool AceitarCandidatura(ProjetoDTO proj) { return m_pDAO.InserirProjeto(proj); }