コード例 #1
0
        protected void btnDeclarar_Click(object sender, EventArgs e)
        {
            ContaCorrente conta   = Session["ContaCorrente"] as ContaCorrente;
            Parcela       parcela = Session["parcela"] as Parcela;

            Emprestimo emprestimo = parcela.EmprestimoProp;

            emprestimo.PagarParcela(parcela);

            lblMsg.Visible = true;
            lblMsg.Text    = "OK parcela paga";

            Session["parcela"] = null;
        }
コード例 #2
0
        //Quando o usuario clica em pagar em uma parcela de emprestimo que e do tipo de pagamento por debito em conta corrente
        //Será efetuado o pagamento da parcela e atualizado a gridview respectiva
        protected void gdvParcelasDebitoEmConta_RowCommand(object sender, GridViewCommandEventArgs e)
        {
            ContaCorrente conta      = Session["ContaCorrente"] as ContaCorrente;                                                   //Chama conta para usar as funções dela pra trabalhar
            Emprestimo    emp        = Session["emprestimo"] as Emprestimo;                                                         //Chama o emprestimo selecionado quando clicou no botão visualizar na função gdvEmprestimos_RowCommand
            Parcela       p          = new Parcela();                                                                               //Instancia uma parcela que será utilizada para receber a parcela que sera paga
            int           numParcela = 0;                                                                                           //irá receber o numero da parcela filtrado a ser paga recebida como parametro da gridview no botão de pagar parcela antecipada
            string        numero     = e.CommandArgument.ToString();                                                                //Recebe o numero da parcela como argumento da gridview sem filtro ex: 3/15 (terceira de quinze parcelas)

            lblAviso.Text = "";                                                                                                     //Limpa o aviso caso tenha aviso como saldo insuficiente de outra parcela de outro emprestimo

            if (conta.Saldo >= emp.Parcelas[0].Valor)                                                                               //verifica se o saldo da conta e maior que o valor da parcela para pagar
            {
                numParcela = numero.Length > 4 ? Convert.ToInt32(numero.Substring(0, 2)) : Convert.ToInt32(numero.Substring(0, 1)); //Filtra o numero da parcela

                int count = 1;
                emp.Parcelas.ForEach(item => { if (count == numParcela)
                                               {
                                                   p = item;
                                               }
                                               count++; });                                   //Busca a parcela do emprestimo a qual o numero se refere e armazena na instância de parcela

                //Session["parcela"] = p;

                emp.PagarParcela(p);              //Usa o metodo do emprestimo no caso para pagar a parcela

                Session["ContaCorrente"] = conta; //Devolve a conta a Session atualizada

                PopulateGridParcelas(emp.Id);     //Atualiza a grid de Parcelas nesse caso passa o id do emprestimo de parametro
                if (!emp.Pendente)                //Verifica se o emprestimo ainda tem parcelas pendentes, se não tiver mais sua gridview de parcela desaparcel
                {
                    gdvParcelasDebitoEmConta.DataSource = null;
                    gdvParcelasDebitoEmConta.DataBind();
                }
                PopulateGridEmprestimos();
            }
            else  //Se não tem saldo na conta, informa o usuario de saldo insuficiente
            {
                lblAviso.Text = "Saldo insuficiente.";
            }
        }