Beispiel #1
0
        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);
        }
Beispiel #2
0
        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;
            }
        }
Beispiel #3
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);
            }
        }
Beispiel #4
0
        public DespachoWin(ProjetoDTO p)
        {
            InitializeComponent();

            Utils.initWindow(this);

            m_p = p;

            preencherComboBoxTiposProjetos();
        }
Beispiel #5
0
        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;
        }
Beispiel #6
0
        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);
        }
Beispiel #7
0
        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);
        }
Beispiel #8
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;
        }
Beispiel #9
0
        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;
        }
Beispiel #10
0
 public bool UpdateProjeto(ProjetoDTO p)
 {
     return m_pDAO.UpdateProjeto(p);
 }
Beispiel #11
0
 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);
 }
Beispiel #12
0
 public bool AceitarCandidatura(ProjetoDTO proj)
 {
     return m_pDAO.InserirProjeto(proj);
 }