Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

tatafc

salvar List em um arquivo txt no C#

Recommended Posts

Boa Tarde!
tenho que fazer um sistema de cadastro e estou usando list, para armazenar os dados,e apresentando em um datagrid, como faço para salvar esses dados em arquivo .txt, e manipular conforme for preciso(alterar e excluir)

 

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;


namespace PIM_3
{
    public partial class Form4 : Form
    {
        private int codigo = -1;


        public Form4()
        {
            InitializeComponent();
        }


        List<Aluno> cadaluno = new List<Aluno>();




        private void CarregaDataGridView()
        {
            //Atribuo a lista ordenando por codigo ...


            dgvAluno.DataSource = cadaluno.OrderBy(x => x.codigo).ToList();
        }


        private void Form4_Load(object sender, EventArgs e)
        {
            CarregaDataGridView();
        }










        //método que retorna o proximo codigo
        //como se fosse um autoincremeto
        private int ObterCodigo()
        {
            int retorno = 0;
            //se a lista estiver vazia retorna o código 1
            if (cadaluno.Count == 0)
            {
                retorno = 1;
                return retorno;
            }
            //senão retona o maior código da lista mais 1
            else
            {
                retorno = cadaluno.Max(x => x.codigo) + 1;
                return retorno;
            }
        }


        //método para limpar o textbox e maskedbox
        private void LimpaControles()
        {
            tb_alunome.Text = "";
            tb_alubairro.Text = "";
            tb_alucidade.Text = "";
            tb_aluestado.Text = "";
            tb_alunumero.Text = "";
            tb_alurua.Text = "";
            msk_alucpf.Text = "";
            msk_aludata.Text = "";
            msk_alurg.Text = "";




        }


        private void btnSalvar_Click(object sender, EventArgs e)
        {


            //se a variável codigo for -1 é porque é um novo 
            //aluno a ser cadastrado
            if (codigo == -1)
            {
                //instância do objeto aluno
                var alu = new Aluno();


                //passo os valores para o objeto
                alu.codigo = ObterCodigo();
                alu.nome = tb_alunome.Text;
                alu.rua = tb_alurua.Text;
                alu.cidade = tb_alucidade.Text;
                alu.bairro = tb_alubairro.Text;
                alu.est = tb_aluestado.Text;
                




                alu.numero = Convert.ToInt32(tb_alunumero.Text);


                alu.set_nascimento(Convert.ToDateTime(msk_aludata.Text));






                alu.set_rg(msk_alurg.Text);
                alu.set_cpf(msk_alucpf.Text);








                //adiciono o objeto a lista


                cadaluno.Add(alu);


                ////chamo o método que carrega o grid
                CarregaDataGridView();


                //limpo os controles
                LimpaControles();


                //exibo a mensagem de sucesso
                MessageBox.Show("Aluno inserido com sucesso!");


            }
            //senão é uma alteração
            else
            {
                //pego o codigo do aluno que está na celula 0 do grid
                int cod = Convert.ToInt32(dgvAluno.CurrentRow.Cells[0].Value);


                //capturo o aluno a ser alterado
                var alu = cadaluno.SingleOrDefault(x => x.codigo == cod);


                //faço as alterações no mesmo 
                alu.nome = tb_alunome.Text;
                alu.rua = tb_alurua.Text;
                alu.numero = Convert.ToInt32(tb_alunumero.Text);
                alu.cidade = tb_alucidade.Text;
                alu.bairro = tb_alubairro.Text;
                alu.est = tb_aluestado.Text;
               


                alu.set_nascimento(Convert.ToDateTime(msk_aludata.Text));






                alu.set_rg(msk_alurg.Text);
                alu.set_cpf(msk_alucpf.Text);












                //carrego o grid
                CarregaDataGridView();




                //limpo controles
                LimpaControles();




                //E atribuo -1 a variável de controle de alteração/inserção...
                codigo = -1;




                //mensagem de sucesso
                MessageBox.Show("Aluno Alterado com sucesso!");












            }
















        }


        private void btnAlterar_Click(object sender, EventArgs e)
        {
              //verifico se o grid há linhas selecionadas
            if (dgvAluno.CurrentRow != null)
            {
                //capturo o codigo da grid
                int cod = Convert.ToInt32(dgvAluno.CurrentRow.Cells[0].Value);


                //passo o código para a variável codigo de controle
                codigo = cod;


                //recupero o aluno que desejo alterar
                var alu= cadaluno.SingleOrDefault(x => x.codigo == cod);


                //insiro seus valores nos controles








                tb_alunome.Text = alu.nome;
                tb_alurua.Text = alu.rua;
                tb_alucidade.Text = alu.cidade;
                tb_alubairro.Text = alu.bairro;
                tb_aluestado.Text = alu.est;


                tb_alunumero.Text = (Convert.ToString(alu.numero));










            }
            //senão exibo a mensagem de seleção
            else
            {
                MessageBox.Show("Você deve selecionar um aluno!");
            }
        }


        private void btnExcluir_Click(object sender, EventArgs e)
        {
        
            if (dgvAluno.CurrentRow != null)
            {




                int cod = Convert.ToInt32(dgvAluno.CurrentRow.Cells[0].Value);
                var prof = cadaluno.SingleOrDefault(x => x.codigo == cod);


                //recupero o objeto aluno e excluo ele da lista recarrego
                //o grid e exibo a mensagem de sucesso


                cadaluno.Remove(prof);
                CarregaDataGridView();
                MessageBox.Show("Aluno Excluído com sucesso");
            }
            //senão exibo a mensagem de seleção
            else
            {
                MessageBox.Show("Você deve selecionar um aluno!");
            }














        }


        private void Form4_FormClosing(object sender, FormClosingEventArgs e)
        {
            if (MessageBox.Show(" Deseja fechar o Cadastro de Aluno?", "Aviso ", MessageBoxButtons.YesNo, MessageBoxIcon.Information, MessageBoxDefaultButton.Button2) == DialogResult.No)
            {
                e.Cancel = true;




            }
        }


      




        }








      
    










    }

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.