private List <Classes.parcelasCondPag> lvToList()
        {
            var vlListaParcelas = new List <Classes.parcelasCondPag>();

            if (lv_Parcelas.Items.Count > 0)
            {
                for (int i = 0; i <= lv_Parcelas.Items.Count - 1; i++)
                {
                    var item      = (Classes.parcelasCondPag)lv_Parcelas.Items[i].Tag;
                    var vlParcela = new Classes.parcelasCondPag(txtb_Codigo.Text == "" ? 0 : int.Parse(txtb_Codigo.Text),
                                                                item.Numero,
                                                                item.Dias,
                                                                item.Porcentagem);
                    vlParcela.UmaFormaPag = (Classes.formasPagamento)umCtrlCondPag.CTRLFormaPagamento.Pesquisar("codigo",
                                                                                                                item.UmaFormaPag.Codigo.ToString(),
                                                                                                                out string vlMsg,
                                                                                                                false);
                    vlListaParcelas.Add(vlParcela);
                }
                return(vlListaParcelas);
            }
            else
            {
                showErrorMsg("Erro ao criar lista de parcelas!");
                return(null);
            }
        }
        public frmCadastroCondicoesPagamento(Controllers.ctrlCondicoesPagamento pCtrlCondPag)
        {
            InitializeComponent();
            umCtrlCondPag = pCtrlCondPag;

            listaParcelas     = new List <Classes.parcelasCondPag>();
            umaFormaPag       = new Classes.formasPagamento();
            umaParcelaCondPag = new Classes.parcelasCondPag();

            btn_PesquisarFormPagParc.Image = umImgPesquisaSair;
        }
 private void recalcularParcelas(Classes.parcelasCondPag pParcela = null)
 {
     if (lv_Parcelas.Items.Count != 0)
     {
         ListView lista = ClonarListView(lv_Parcelas);
         lv_Parcelas.Items.Clear();
         int     numero   = 1;
         decimal somaPorc = 0;
         int     somadias = 0;
         foreach (ListViewItem item in lista.Items)
         {
             if (pParcela != null && pParcela.Numero == numero)
             {
                 numero++;
                 somadias += pParcela.Dias;
                 somaPorc += pParcela.Porcentagem;
                 var vlLiClone = new ListViewItem(pParcela.arrayStringValores(true));
                 vlLiClone.Tag = pParcela.ThisParcelasCondPag;
                 lv_Parcelas.Items.Add(vlLiClone);
             }
             var vlObj = (Classes.parcelasCondPag)item.Tag;
             vlObj.Numero = numero;
             somadias    += vlObj.Dias;
             somaPorc    += vlObj.Porcentagem;
             string[] linha   = vlObj.arrayStringValores(true);
             var      vlClone = new ListViewItem(linha);
             vlClone.Tag = vlObj.ThisParcelasCondPag;
             lv_Parcelas.Items.Add(vlClone);
             numero++;
         }
         if (txtb_TotalParcelas.Enabled == true)
         {
             lbl_TotalDias.Text =
                 ((Classes.parcelasCondPag)lista.Items[lista.Items.Count - 1].Tag).Dias.ToString();
         }
         else
         {
             lbl_TotalDias.Text = somadias.ToString();
         }
         txtb_TotalParcelas.Text = lv_Parcelas.Items.Count.ToString();
         lbl_TotalPorc.Text      = somaPorc.ToString() + "%";
     }
     else
     {
         lbl_TotalDias.Text      = "0";
         txtb_TotalParcelas.Text = "0";
         lbl_TotalPorc.Text      = "0%";
     }
 }
 private void btn_Adicionar_Click(object sender, EventArgs e)
 {
     if (!ValidacaoIntPositivo(txtb_Dias.Text, true))
     {
         errorMSG.SetError(lbl_Dias, "Valor inválido!\nInsira um número positivo sem casas decimais");
         txtb_Dias.Focus();
     }
     else if (confereTotalPorc())
     {
         errorMSG.SetError(lbl_Dias, null);
         txtb_Porcentagem.Focus();
     }
     else if (!ValidacaoNome(txtb_FormaPag.Text, 2, true))
     {
         errorMSG.Clear();
         errorMSG.SetError(lbl_FormaPag, "Forma de pagamento inválida!");
         txtb_FormaPag.Focus();
     }
     else
     {
         errorMSG.Clear();
         var vlParcela = new
                         Classes.parcelasCondPag(0,
                                                 (lv_Parcelas.Items.Count + 1),
                                                 int.Parse(txtb_Dias.Text),
                                                 strToDecimal(txtb_Porcentagem.Text));
         vlParcela.UmaFormaPag = (Classes.formasPagamento)umCtrlCondPag.CTRLFormaPagamento.Pesquisar("formaPagamento",
                                                                                                     txtb_FormaPag.Text,
                                                                                                     out string vlMsg,
                                                                                                     false);
         var parcela = vlParcela.arrayStringValores(true);
         var lvItem  = new ListViewItem(parcela);
         lvItem.Tag = vlParcela;
         lv_Parcelas.Items.Add(lvItem);
         txtb_Dias.Clear();
         txtb_Porcentagem.Clear();
         txtb_CodigoFormPag.Clear();
         txtb_FormaPag.Clear();
         recalcularParcelas();
     }
 }