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);
        }
Exemple #2
0
        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);
            }
        }
Exemple #3
0
        //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;
        }
Exemple #4
0
        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);
        }