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