public RealizarPagamento(Projeto projeto) : base(new FormRealizarPagamento()) { this.projeto = projeto; servicoProjetos = CRUDProjetos.ObterInstancia(); servicoDespacho = CRUDDespacho.ObterInstancia(); servicoPagamento = CRUDPagamento.ObterInstancia(); servicoObterEstados = ObterEstados.ObterInstancia(); despacho = servicoDespacho.LerUltimoDespacho(projeto); despachoMaisRecente = despacho.DespachoIncentivo; bool expirou = ConfirmarData(); totalAPagar(); Vista.AlterarDados(Convert.ToString(aPagar)); Vista.Notificavel = this; if (expirou) { Erro erro = new Erro("A data de pagamento do projeto expirou."); Vista.Hide(); Vista.Close(); } else { Vista.ShowDialog(); } }
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)); } }
public AprovacaoReforco(Projeto projetoSelecionado) : base(new FormAprovacaoReforco()) { servicoProjetos = CRUDProjetos.ObterInstancia(); servicoHistorico = CRUDHistorico.ObterInstancia(); servicoObterEstados = ObterEstados.ObterInstancia(); servicoDespacho = CRUDDespacho.ObterInstancia(); servicoPedidoDeReforco = CRUDPedidoDeReforco.ObterInstancia(); pedidoDeReforco = servicoPedidoDeReforco.LerPedidoDeReforcoPorDecidir(new PedidoDeReforco() { id_despacho = servicoDespacho.LerUltimoDespacho(projetoSelecionado).id }); Vista.AlterarDados(pedidoDeReforco.montante.ToString(), pedidoDeReforco.prazo.ToString()); projeto = projetoSelecionado; Vista.Notificavel = this; Vista.ShowDialog(); }
private void totalAPagar() { despacho = servicoDespacho.LerUltimoDespacho(projeto); despachoMaisRecente = despacho.DespachoIncentivo; double totalAPagar = despachoMaisRecente.montante.GetValueOrDefault(); foreach (PedidoDeReforco pedidoDeReforco in despacho.PedidoDeReforco) { if (pedidoDeReforco.decisao.Equals("aprovado")) { totalAPagar += pedidoDeReforco.montante; } } pago = servicoPagamento .ObterPagamentosDeProjeto(projeto) .Where(p => p.id_despacho == despachoMaisRecente.id_despacho) .Select(p => p.valor) .Sum(); aPagar = totalAPagar - pago; }
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(); }