Sobre | Tecnologia | Autores.
Este treinamento tem como base aprender e aprimorar conhecimento em C#.
Figura-07: Imagem Testando Código.
using KEL.CRM.ConsoleApp.Models;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace KEL.CRM.ConsoleApp.Repositories
{
public class PaisRepository
{
//INICIAR ID EM ZERO
//_id para indicar que ficar nesta classe somente
private static int _id = 0;
//CRIAR VARIAVEL PARA ARMAZENAR NOME TXT
private string _nomeArquivo = "listaPaises.txt";
// Construtor para carregar dados do arquivo e inicializar o ID
public PaisRepository()
{
if (File.Exists(_nomeArquivo))
{
InicializarId();
}
}
// Inicializa o ID baseado no maior ID presente no arquivo
// Método para inicializar o ID baseado no maior ID presente no arquivo
private void InicializarId()
{
using (StreamReader streamReader = new StreamReader(_nomeArquivo))
{
string linha;
while ((linha = streamReader.ReadLine()) != null)
{
// Dividir a linha em campos
string[] dados = linha.Split(";");
int id = Convert.ToInt32(dados[0]);
// Atualizar o ID para garantir que seja único
_id = Math.Max(_id, id);
}
}
}
// Método para criar um novo cliente e salvar no arquivo
public string Create(Pais model)
{
// Incrementa o ID e adiciona ao modelo
_id++;
model.Id = _id;
// Salvar o cliente no arquivo de texto
using (StreamWriter sw = new StreamWriter(_nomeArquivo, append: true))
{
sw.WriteLine($"{model.Id};{model.Nome};{model.Populacao};{model.Idioma}");
}
return $"Pais: {model.Nome} cadastrado com sucesso!";
}
// Método para obter todos os clientes do arquivo
public List<Pais> GetAll()
{
List<Pais> listaPaises = new List<Pais>();
// Carrega os dados do arquivo de texto
if (File.Exists(_nomeArquivo))
{
using (StreamReader streamReader = new StreamReader(_nomeArquivo))
{
string linha;
while ((linha = streamReader.ReadLine()) != null)
{
// Dividir a linha em campos
string[] dados = linha.Split(";");
Pais pais = new Pais
{
Id = Convert.ToInt32(dados[0]),
Nome = dados[1],
Populacao = Convert.ToInt32( dados[2]),
Idioma = dados[3]
};
listaPaises.Add(pais);
}
}
}
return listaPaises;
}
// Método para obter um cliente pelo ID
public Pais GetById(int id)
{
// Busca o cliente pelo ID no arquivo de texto
if (File.Exists(_nomeArquivo))
{
using (StreamReader streamReader = new StreamReader(_nomeArquivo))
{
string linha;
while ((linha = streamReader.ReadLine()) != null)
{
// Dividir a linha em campos
string[] dados = linha.Split(";");
if (Convert.ToInt32(dados[0]) == id)
{
return new Pais
{
Id = id,
Nome = dados[1],
Populacao = Convert.ToInt32(dados[2]),
Idioma = dados[3]
};
}
}
}
}
return null;
}
}
}
Este projeto foi desenvolvido com as seguintes tecnologias:
- IDE: Visual Studio
- Controle de Versão: Git e GitHub
- Linguagem: C#
- Arquitetura Base: Models, Views, Repositories.
- Manipulação de Arquivos: Salvando e Recuperando TXT.
- Gerenciamento de Projetos: Kanban para gerenciamento do fluxo de trabalho e organização de tarefas
✍️ Autores
- Valdemar
Agradecemos por visitar nosso site e esperamos que você para Realizar Seu Sonho! Se tiver alguma pergunta ou feedback, não hesite em entrar em contato conosco.