Пример #1
0
        public frmMensalidadePgmto(Usuario user, String matCod)
        {
            InitializeComponent();
            Caixa cai = new Caixa();
            cai.CaiData = DateTime.Today.ToShortDateString();
            cai = cai.getCaixaByData();
            if (cai.CaiAbert == "")
            {
                MessageBox.Show("Caixa não foi aberto!", "Venda não permitida!", MessageBoxButtons.OK,
                    MessageBoxIcon.Exclamation);
                this.Close();
            }
            chkDesc.Checked = false;
            valorMens = valorDesc = valorFinal = valorProporcional = 0;
            this.user = user;
            mat = new Matricula();
            mat.Id = matCod;
            mat = mat.getById();
            lblMatCod.Text = mat.Id;
            lblMatDtIni.Text = DateTime.Parse(mat.DtIni).ToShortDateString();
            lblMatVenc.Text = mat.DtVcmto;
            Modalidade modAux = new Modalidade();
            modAux.Id = mat.ModId;
            modAux = modAux.getById();
            valorMens = Convert.ToDecimal(modAux.ValorM);
            lblValorMens.Text = "R$" + valorMens;
            if (!lblValorMens.Text.Contains(","))
                lblValorMens.Text += ",00";
            atualizaTotal();
            lblUserOn.Text = user.Login;

            mov = new Movimentacao();
            mov.MatCod = mat.Id;
            int qtdeMensalidades = mov.getQtdeMensalidades();
            int fatorPrimeiraParcela = 0;
            String[] diaInicio = mat.DtIni.Split('/');
            if (mat.DtVcmto != diaInicio[0])
            {
                fatorPrimeiraParcela = 1;
                if (qtdeMensalidades == 0) //primeira mens. com valor proporcional a calcular
                {
                    chkProporcional.Visible = true;
                    lblValorProp.Visible = true;
                    Decimal valorDia = Convert.ToDecimal(modAux.ValorM) / 30;
                    DateTime dtInicial = DateTime.Parse(mat.DtIni);
                    DateTime dtVcmto = new DateTime(DateTime.Today.Year, DateTime.Today.Month + 1, Convert.ToInt32(mat.DtVcmto));
                    TimeSpan dif = dtVcmto - dtInicial;
                    valorProporcional = dif.Days * valorDia;
                    valorProporcional = Math.Round(valorProporcional, 2);
                    atualizaTotal();
                }
            }
            DateTime mensAtual = DateTime.Parse(mat.DtIni).AddMonths(qtdeMensalidades + fatorPrimeiraParcela);
            DateTime mensAtual2 = new DateTime(mensAtual.Year, mensAtual.Month, Convert.ToInt32(mat.DtVcmto));
            lblMensVenc.Text = mensAtual2.ToShortDateString();

            Venda ven = new Venda();
            dtVendasSemEntrada = ven.getVendasSemEntrada(mat.AluId);
            if (dtVendasSemEntrada.Rows.Count > 0) //possui vendas sem pagar
            {
                valorProdutos = 0;
                for (int i = 0; i < dtVendasSemEntrada.Rows.Count; i++)
                    valorProdutos += Convert.ToDecimal(dtVendasSemEntrada.Rows[i]["ven_valor"]);
                lblProdutosValor.Text = "R$"+valorProdutos;
                if (!lblProdutosValor.Text.Contains(','))
                    lblProdutosValor.Text += ",00";
                atualizaTotal();
                gpbProdutos.Enabled = true;
            }
            else
                gpbProdutos.Enabled = false;
        }