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)); } }
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); }
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(); }
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(); }
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(); }
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(); }
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); } }
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(); }
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(); }
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(); }
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); }
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(); }