Beispiel #1
0
        public void InitVista(Projeto projeto)
        {
            Promotor    promotor    = servicoPromotor.LerPromotor(projeto.id_promotor);
            Responsavel responsavel = servicoResponsavel.LerResponsavel(projeto.id_responsavel);

            Vista.AlterarDadosPromotor(promotor.nome, promotor.nacionalidade, promotor.nib, promotor.nif);
            Vista.AlterarDadosResponsavel(responsavel.nome, responsavel.telefone, responsavel.email);

            String tipo   = projeto.Bonificacao != null ? "Bonificação" : "Incentivo";
            String estado = servicoObterEstados.ObterEstado(projeto.estado).estado1;

            Vista.AlterarDadosProjeto(projeto.id, projeto.Tecnico.Utilizador.username, tipo, projeto.montante_solicitado, projeto.descricao, estado, projeto.data_criacao);

            ListarDespacho(servicoDespacho.LerDespachosDeProjeto(projeto));
            ListarPagamentos(servicoPagamento.LerPagamentosDeProjeto(projeto));
            ListarPareceresTecnico(servicoParecer.LerParecerTecnicosDeProjeto(projeto));
            Despacho ultimoDespacho = servicoDespacho.LerUltimoDespacho(projeto);

            if (ultimoDespacho != null)
            {
                if (ultimoDespacho.DespachoBonificacao != null)
                {
                    ConfirmarDespachoExpirado(projeto, ultimoDespacho.DespachoBonificacao);
                }
                ListarPedidosDeReforco(servicoPedidoDeReforoco.LerPedidosDeReforco(ultimoDespacho));
            }
        }
Beispiel #2
0
        private List <Projeto> ConfirmarSuspensos()
        {
            List <Projeto> projetosNovos = new List <Projeto>();

            foreach (Projeto p in projetos)
            {
                Estado estado = servicoObterEstados.ObterEstado(p.estado);
                if (estado.estado1 == Utils.EstadoParaString(EstadosProjeto.suspenso))
                {
                    Historico historico = servicoHistorico.LerHistorico(new Historico()
                    {
                        id_projeto = p.id
                    });

                    if (!estados.Contains(Utils.StringParaEstado(servicoObterEstados.ObterEstado(historico.estado).estado1)))
                    {
                        continue;
                    }
                }

                projetosNovos.Add(p);
            }

            return(projetosNovos);
        }
Beispiel #3
0
        public override void Notificar(RealizarDespachoArgs args)
        {
            if (verificarArgumentos(args))
            {
                new Erro("Por favor preencha todos os campos necessários");
                return;
            }

            Despacho despachoRejeitar = new Despacho()
            {
                id_projeto    = projeto.id,
                resultado     = resultado.ToLower(),
                data_despacho = DateTime.Now
            };
            int idDespacho = servicoDespacho.CriarDespacho(despachoRejeitar);

            DespachoIncentivo despachoIncentivo = new DespachoIncentivo()
            {
                id_despacho    = idDespacho,
                montante       = Convert.ToDouble(args.val1),
                custo_elegivel = Convert.ToDouble(args.val2),
                prazo_execucao = Convert.ToDateTime(args.data)
            };

            servicoDespacho.CriarDespachoIncentivo(despachoIncentivo);

            string estado     = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            string estadoNovo = Utils.EstadoParaString(MaquinaDeEstados.processar(Utils.StringParaEstado(estado), EventosProjeto.despacho_aprovado));

            projeto.estado = servicoObterEstados.ObterIdEstado(estadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);

            Vista.Hide();
            Vista.Close();
        }
Beispiel #4
0
        public override void Notificar(IntArgs args)
        {
            Projeto projeto    = projetos[args.valor];
            String  estado     = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            String  estadoNovo = Utils.EstadoParaString(MaquinaDeEstados.processar(
                                                            Utils.StringParaEstado(estado),
                                                            EventosProjeto.despacho_aprovado));

            projeto.estado = servicoObterEstados.ObterIdEstado(estadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);
            Vista.Hide();
            Vista.Close();
        }
Beispiel #5
0
        public override void Notificar(StringArgs args)
        {
            if (!VerificarArgumentos(args))
            {
                Erro erro = new Erro("Por favor preencha todos os campos necessários com o formato pretendido.");
                return;
            }

            double montantePago = Double.Parse(args.texto);

            Pagamento pagamento = new Pagamento()
            {
                id_projeto  = projeto.id,
                id_despacho = despachoMaisRecente.Despacho.id,
                data        = DateTime.Now,
                valor       = montantePago
            };

            servicoPagamento.RealizarPagamento(pagamento);

            String         estado       = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            EstadosProjeto estadoAntigo = Utils.StringParaEstado(estado);
            EstadosProjeto estadoNovo;

            if (aPagar < montantePago)
            {
                estadoNovo = MaquinaDeEstados.processar(estadoAntigo, EventosProjeto.pagamento_completo);
                double excesso = montantePago - despachoMaisRecente.montante.GetValueOrDefault();
                Vista.MostraMensagemDeTexto("Foi pago em excesso, cerca de " + excesso + "€ (Euros) .");
            }
            else if (aPagar == montantePago)
            {
                estadoNovo = MaquinaDeEstados.processar(estadoAntigo, EventosProjeto.pagamento_completo);
            }
            else
            {
                estadoNovo = MaquinaDeEstados.processar(estadoAntigo, EventosProjeto.pagamento);
            }

            String superEstadoNovo = Utils.EstadoParaString(estadoNovo);

            projeto.estado = servicoObterEstados.ObterIdEstado(superEstadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);

            Vista.Hide();
            Vista.Close();
        }
Beispiel #6
0
        public override void Notificar(IntArgs args)
        {
            Projeto projeto = projetos[args.valor];

            servicoHistorico.CriarHistorico(new Historico
            {
                id_projeto = projeto.id,
                estado     = projeto.estado
            });
            String estado     = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            String estadoNovo = Utils.EstadoParaString(MaquinaDeEstados.processar(Utils.StringParaEstado(estado), EventosProjeto.reenquadrar));

            projeto.estado = servicoObterEstados.ObterIdEstado(estadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);
            Vista.Hide();
            Vista.Close();
        }
Beispiel #7
0
        public List <Projeto> ProjetosEstado(string estadoProjeto)
        {
            using (Entidades context = new Entidades())
            {
                List <Projeto> projetos = new List <Projeto>();
                foreach (Projeto p in context.Projeto.Include(p => p.Bonificacao).Include(p => p.Incentivo))
                {
                    String estado = servicoObterEstados.ObterEstado(p.estado).estado1;
                    if (estado.Equals(estadoProjeto))
                    {
                        projetos.Add(p);
                    }
                }

                return(projetos);
            }
        }
Beispiel #8
0
        public ReativarProjeto(Utilizador utilizador)
        {
            string estadoString = Enum.GetName(typeof(EstadosProjeto), estado);   //passa de Estados para string

            Vista.Notificavel   = this;
            servicoObterEstados = ObterEstados.ObterInstancia();
            projetos            = servicoProjetos.ProjetosComHistorico(estadoString).ToList();
            IEnumerable <string> estadosString = servicoObterEstados
                                                 .ObterEstadosValidos(utilizador)
                                                 .Select(e => e.estado1)
                                                 .ToList();

            projetos = projetos
                       .Where(p => estadosString.Contains(servicoObterEstados.ObterEstado(p.estado).estado1))
                       .ToList();
            listar();
            Vista.ShowDialog();
        }
Beispiel #9
0
        public override void Notificar(StringArgs args)
        {
            Historico historico = servicoHistorico.LerHistorico(new Historico()
            {
                id_projeto = projeto.id
            });
            String estado = servicoObterEstados.ObterEstado(projeto.estado).estado1;

            switch (args.texto)
            {
            case "sim":
                pedidoDeReforco.decisao = "aprovado";
                servicoPedidoDeReforco.AtualizarPedidoDeReforco(pedidoDeReforco);

                String estadoNovo = Utils.EstadoParaString(MaquinaDeEstados.processar(
                                                               Utils.StringParaEstado(estado),
                                                               EventosProjeto.despacho_aprovado));
                projeto.estado = servicoObterEstados.ObterIdEstado(estadoNovo);
                servicoProjetos.AtualizarProjeto(projeto);
                break;

            case "nao":
                pedidoDeReforco.decisao = "rejeitado";
                servicoPedidoDeReforco.AtualizarPedidoDeReforco(pedidoDeReforco);

                EstadosProjeto estadoRecente = MaquinaDeEstados.processar(
                    Utils.StringParaEstado(estado),
                    EventosProjeto.despacho_rejeitado);
                if (estadoRecente == EstadosProjeto.historico)
                {
                    projeto.estado = historico.estado;
                    servicoProjetos.AtualizarProjeto(projeto);
                }
                break;
            }

            servicoHistorico.EliminarHistorico(historico);
            Vista.Hide();
            Vista.Close();
        }
Beispiel #10
0
        public override void Notificar(EmitirParecerTecnicoArgs args)
        {
            if (!verificarArgumentos(args))
            {
                Erro erro = new Erro("Por favor preencha todos os campos necessários");
                return;
            }

            ParecerTecnico parecer = new ParecerTecnico()
            {
                texto        = args.texto,
                decisao      = args.decisao.ToLower(),
                id_projeto   = projeto.id,
                data_parecer = DateTime.Now
            };

            servicoParecer.CriarParecerTecnico(parecer);

            String         estado       = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            EstadosProjeto estadoAntigo = Utils.StringParaEstado(estado);
            EstadosProjeto estadoNovo;

            if (args.decisao.Equals("Aprovado"))
            {
                estadoNovo = MaquinaDeEstados.processar(estadoAntigo, EventosProjeto.parecer_favoravel);
            }
            else
            {
                estadoNovo = MaquinaDeEstados.processar(estadoAntigo, EventosProjeto.parecer_desfavoravel);
            }

            String superEstadoNovo = Utils.EstadoParaString(estadoNovo);

            projeto.estado = servicoObterEstados.ObterIdEstado(superEstadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);

            Vista.Hide();
            Vista.Close();
        }
Beispiel #11
0
        private void RejeitarProjeto(String resultado)
        {
            Despacho despachoRejeitar = new Despacho()
            {
                id_projeto    = projeto.id,
                resultado     = resultado.ToLower(),
                data_despacho = DateTime.Now
            };
            int idDespacho = servicoDespacho.CriarDespacho(despachoRejeitar);

            if (projeto.Incentivo != null)
            {
                DespachoIncentivo despachoIncentivo = new DespachoIncentivo()
                {
                    id_despacho    = idDespacho,
                    montante       = null,
                    custo_elegivel = null,
                    prazo_execucao = null
                };
                servicoDespacho.CriarDespachoIncentivo(despachoIncentivo);
            }
            if (projeto.Bonificacao != null)
            {
                DespachoBonificacao despachoBonificacao = new DespachoBonificacao()
                {
                    id_despacho     = idDespacho,
                    montante_maximo = null,
                    periodo         = null,
                    taxa            = null
                };
                servicoDespacho.CriarDespachoBonificacao(despachoBonificacao);
            }

            string estado     = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            string estadoNovo = Utils.EstadoParaString(MaquinaDeEstados.processar(Utils.StringParaEstado(estado), EventosProjeto.despacho_rejeitado));

            projeto.estado = servicoObterEstados.ObterIdEstado(estadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);
        }
Beispiel #12
0
        public override void Notificar(ReforcoDeFinanciamentoArgs args)
        {
            if (VerificarArgumentos(args))
            {
                new Erro("Por favor preencha todos os campos necessários");
                return;
            }

            Despacho ultimoDespacho = servicoDespacho.LerUltimoDespacho(projeto);

            servicoPedidoDeReforco.CriarPedidoDeReforco(new PedidoDeReforco()
            {
                id_despacho = ultimoDespacho.id,
                montante    = Convert.ToDouble(args.montante),
                prazo       = Convert.ToDateTime(args.data),
                data_pedido = DateTime.Now
            });

            Historico historico = new Historico()
            {
                id_projeto = projeto.id,
                estado     = projeto.estado
            };

            servicoHistorico.CriarHistorico(historico);          //historico criado

            String estado     = servicoObterEstados.ObterEstado(projeto.estado).estado1;
            String estadoNovo = Utils.EstadoParaString(MaquinaDeEstados.processar(
                                                           Utils.StringParaEstado(estado),
                                                           EventosProjeto.pedir_reforco));

            projeto.estado = servicoObterEstados.ObterIdEstado(estadoNovo);
            servicoProjetos.AtualizarProjeto(projeto);          //estado atualizado

            Vista.Hide();
            Vista.Close();
        }