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 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 void CriarDespachoIncentivo(DespachoIncentivo despacho) { using (Entidades context = new Entidades()) { DespachoIncentivo despachoNovo = new DespachoIncentivo { id_despacho = despacho.id_despacho, prazo_execucao = despacho.prazo_execucao, montante = despacho.montante, custo_elegivel = despacho.custo_elegivel }; context.DespachoIncentivo.Add(despachoNovo); context.SaveChanges(); } }
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; }
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); }