Beispiel #1
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 #2
0
        public List <Projeto> ProjetosEstado(IEnumerable <string> estadosProjeto)
        {
            using (Entidades context = new Entidades())
            {
                List <int> estadosId = new List <int>();
                foreach (String estado in estadosProjeto)
                {
                    estadosId.Add(servicoObterEstados.ObterIdEstado(estado));
                }

                return(context.Projeto
                       .Where(p => estadosId.Contains(p.estado))
                       .Include(p => p.Incentivo)
                       .Include(p => p.Bonificacao)
                       .Include(p => p.Tecnico.Utilizador)
                       .ToList());
            }
        }
Beispiel #3
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 #4
0
        private void ConfirmarDespachoExpirado(Projeto projeto, DespachoBonificacao despachoBonificacao)
        {
            DateTime dataLimite = despachoBonificacao.periodo.GetValueOrDefault();

            if (DateTime.Compare(DateTime.Today, dataLimite) > 0)
            {
                String         estado          = servicoObterEstados.ObterEstado(projeto.estado).estado1;
                EstadosProjeto estadoAntigo    = Utils.StringParaEstado(estado);
                EstadosProjeto estadoNovo      = MaquinaDeEstados.processar(estadoAntigo, EventosProjeto.pagamento_completo);
                String         superEstadoNovo = Utils.EstadoParaString(estadoNovo);
                projeto.estado = servicoObterEstados.ObterIdEstado(superEstadoNovo);
                servicoProjetos.AtualizarProjeto(projeto);
            }
        }
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 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 #8
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 #9
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 #10
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();
        }
Beispiel #11
0
        public override void Notificar(ApresentarCandidaturaArgs args)
        {
            if (!verificarArgumentos(args))
            {
                Erro erro = new Erro("Por favor preencha todos os campos necessários com o formato pretendido.");
                return;
            }

            Responsavel responsavelGuardado = servicoResponsavel.LerResponsavel(args.telefone, args.email, args.designacaoResponsavel);
            int         idResponsavel;

            if (responsavelGuardado == null)
            {
                servicoResponsavel.CriarResponsavel(new Responsavel()
                {
                    nome     = args.designacaoResponsavel,
                    email    = args.email,
                    telefone = args.telefone
                });
                idResponsavel = servicoResponsavel.LerResponsavel(args.telefone, args.email, args.designacaoResponsavel).id;
            }
            else
            {
                idResponsavel = responsavelGuardado.id;
            }

            decimal  nibNum           = Convert.ToDecimal(args.NIB);
            decimal  nifNum           = Convert.ToDecimal(args.NIF);
            Promotor promotorGuardado = servicoPromotor.LerPromotor(nifNum);
            int      idPromotor;

            if (promotorGuardado == null)
            {
                servicoPromotor.CriarPromotor(new Promotor()
                {
                    nome          = args.designacaoPromotor,
                    nacionalidade = args.nacionalidade,
                    nib           = nibNum,
                    nif           = nifNum
                });
                idPromotor = servicoPromotor.LerPromotor(nifNum).id;
            }
            else
            {
                idPromotor = promotorGuardado.id;
            }

            int     idProjeto = servicoIdsProjeto.GerarIdProjeto();
            Projeto projeto   = new Projeto
            {
                id = idProjeto,
                montante_solicitado = Convert.ToDouble(args.montante),
                descricao           = args.descricao,
                estado         = servicoObterEstados.ObterIdEstado(Utils.EstadoParaString(EstadosProjeto.aberto)),
                data_criacao   = DateTime.Now,
                id_tecnico     = tecnico.id_utilizador,
                id_responsavel = idResponsavel,
                id_promotor    = idPromotor
            };

            servicoProjetos.CriarProjeto(projeto);
            if (args.tipo.ToLower().Equals("bonificação"))
            {
                servicoProjetos.CriarBonificacao(projeto);
            }

            else if (args.tipo.ToLower().Equals("incentivo"))
            {
                servicoProjetos.CriarIncentivo(projeto);
            }

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