private void EditarLote()
        {
            LoteCEL604   lote  = _arquivo.LOTES.Find(x => x.INDICE == ltb_Lotes.SelectedIndex + 1);
            EditaDetalhe edita = new EditaDetalhe(lote.FECHAMENTO);

            edita.ShowDialog();
        }
        private void PreencheListaCheques()
        {
            ltb_Cheques.Items.Clear();

            if (ltb_Lotes.SelectedIndex != -1)
            {
                LoteCEL604 lote = _arquivo.LOTES.Find(x => x.INDICE == ltb_Lotes.SelectedIndex + 1);

                foreach (Cheque cheque in lote.CHEQUES)
                {
                    if (cheque.INDICE > 0)
                    {
                        TextBlock item = new TextBlock();
                        item.Text = "Cheque " + cheque.NUMERO.ToString();
                        item.Tag  = cheque.INDICE;
                        ltb_Cheques.Items.Add(item);
                    }
                }
            }

            if (ltb_Cheques.Items.Count > 0)
            {
                ltb_Cheques.SelectedIndex = 0;
            }
        }
        private void btn_RemoverLote_Click(object sender, RoutedEventArgs e)
        {
            LoteCEL604 lote = _arquivo.LOTES.Find(x => x.INDICE == ltb_Lotes.SelectedIndex + 1);

            lote.INDICE = lote.INDICE * -1;

            PreencheListaLotes();
        }
        private void EditarCheque()
        {
            TextBlock itemSelecionado = (TextBlock)ltb_Cheques.SelectedItem;

            LoteCEL604 lote   = _arquivo.LOTES.Find(x => x.INDICE == ltb_Lotes.SelectedIndex + 1);
            Cheque     cheque = lote.CHEQUES.Find(x => x.INDICE == (int)itemSelecionado.Tag);

            EditarCheque edita = new EditarCheque(cheque);

            edita.ShowDialog();
        }
        private void btn_RemoverCheque_Click(object sender, RoutedEventArgs e)
        {
            TextBlock itemSelecionado = (TextBlock)ltb_Cheques.SelectedItem;

            LoteCEL604 lote   = _arquivo.LOTES.Find(x => x.INDICE == ltb_Lotes.SelectedIndex + 1);
            Cheque     cheque = lote.CHEQUES.Find(x => x.INDICE == (int)itemSelecionado.Tag);

            cheque.INDICE = cheque.INDICE * -1;

            PreencheListaCheques();
        }
        private void btn_AdicionarLote_Click(object sender, RoutedEventArgs e)
        {
            LoteCEL604 lote = new LoteCEL604();

            lote.FECHAMENTO = new FechamentoCEL604(new string(' ', _arquivo.QUEBRA), 0, _arquivo.QUEBRA, _arquivo.COMPRIMENTO_LINHA, new SolidColorBrush(Colors.DarkMagenta));
            lote.INDICE     = ltb_Lotes.Items.Count + 1;

            EditaDetalhe edita = new EditaDetalhe(lote.FECHAMENTO);

            if (edita.ShowDialog() == true)
            {
                lote.CHEQUES = new List <Cheque>();
                _arquivo.LOTES.Add(lote);
                PreencheListaLotes();
            }
            else
            {
                lote = null;
            }
        }
        private void btn_AdicionarCheque_Click(object sender, RoutedEventArgs e)
        {
            DetalheCEL604 detalhe = new DetalheCEL604(new string(' ', _arquivo.QUEBRA), 0, _arquivo.QUEBRA, _arquivo.COMPRIMENTO_LINHA);

            Cheque cheque = new Cheque();

            cheque.DADOS_FRENTE = new List <DetalheArquivoCompe>();
            cheque.DADOS_FRENTE.Add(detalhe);
            cheque.INDICE = ltb_Cheques.Items.Count + 1;

            EditarCheque edita = new EditarCheque(cheque);

            if (edita.ShowDialog() == true)
            {
                LoteCEL604 lote = _arquivo.LOTES.Find(x => x.INDICE == ltb_Lotes.SelectedIndex + 1);
                lote.CHEQUES.Add(cheque);

                PreencheListaCheques();
            }
            else
            {
                cheque = null;
            }
        }