0
respostas

[Projeto] Desafio 3, 4 e 5

//3- 

ListaNovasPessoas listaNovasPessoas = new ListaNovasPessoas("");

List<ListaNovasPessoas> listaCadastroNovasPessoas = new List<ListaNovasPessoas>()
{
    new ListaNovasPessoas("Maria"),
    new ListaNovasPessoas("Pedro"),
    new ListaNovasPessoas("Junios"),
    new ListaNovasPessoas("lara"),
    new ListaNovasPessoas("Lala"),
};

//4- 

ListaNovasPessoas.CadastroNovasPessoas(listaCadastroNovasPessoas);

//5-

LeArquivosJsonNovosUsuariosComIdade leArquivosJsonNovosUsuariosComIdade = new LeArquivosJsonNovosUsuariosComIdade();


LeArquivosJsonNovosUsuariosComIdade.AdicionarIdade("Maria",30);
LeArquivosJsonNovosUsuariosComIdade.AdicionarIdade("Pedro",14);
LeArquivosJsonNovosUsuariosComIdade.AdicionarIdade("Junios", 44);
LeArquivosJsonNovosUsuariosComIdade.AdicionarIdade("lara", 34);
LeArquivosJsonNovosUsuariosComIdade.AdicionarIdade("Lala", 78);

var leitor = new LeArquivosJsonNovosUsuariosComIdade();
leitor.ExibirListaCompleta();

#endregion
using System.Text.Json;
namespace Teste4_Alura.ConsumindoAPI;


internal class ListaNovasPessoas
{
    public string? Nome {  get; set; }
    public int? Idade { get; set; }

    public ListaNovasPessoas(string? nome, int? idade = null)
    {
        Nome = nome;
        Idade = idade;
    }

    public static void CadastroNovasPessoas(List<ListaNovasPessoas> novaLista)
    {
        //3-
        // salvando em arquivo Json

        string json = JsonSerializer.Serialize(novaLista);
        string fileName = "NovaListaPessoasCadastradas.json";

        Console.WriteLine("\nNova Lista Salva com Sucesso\n");
        File.WriteAllText(fileName, json);

        Console.WriteLine(Path.GetFullPath(fileName));

        //4-
        // Exibindo as novas pessoas

        Console.WriteLine( );
        foreach (var nova in novaLista)
        {
            Console.WriteLine($"Nome -> {nova.Nome}");
        }
    }


}
using System.Text.Json;

namespace Teste4_Alura.ConsumindoAPI;

internal class LeArquivosJsonNovosUsuariosComIdade
{
   
    public static void AdicionarIdade(string nome, int idade)
    {
        string nomeArquivoSalvo = "NovaListaPessoasCadastradas.json";

        if (!File.Exists(nomeArquivoSalvo))
        {
            Console.WriteLine("Arquivo não encontrado.");
            return;
        }

        string json = File.ReadAllText(nomeArquivoSalvo);
        List<NovoUsuario>? usuarios = JsonSerializer.Deserialize<List<NovoUsuario>>(json);

        if (usuarios == null) return;

        NovoUsuario? usuario = usuarios.FirstOrDefault(u => u.Nome.Equals(nome, StringComparison.OrdinalIgnoreCase));

        if (usuario == null)
        {
            Console.WriteLine($"Usuário '{nome}' não encontrado.");
            return;
        }

        usuario.Idade = idade;

        File.WriteAllText(
            nomeArquivoSalvo,JsonSerializer.Serialize(usuarios, new JsonSerializerOptions { WriteIndented = true })
        );


    }

    public void ExibirListaCompleta()
    {
        string arquivo = "NovaListaPessoasCadastradas.json";
        try
        {
            if (!File.Exists(arquivo))
            {
                Console.WriteLine("Nenhum arquivo encontrado.");
                return;
            }

            string json = File.ReadAllText(arquivo);
            List<NovoUsuario>? usuarios = JsonSerializer.Deserialize<List<NovoUsuario>>(json);

            if (usuarios == null || usuarios.Count == 0)
            {
                Console.WriteLine("Lista vazia.");
                return;
            }
            Console.WriteLine();
            foreach (var u in usuarios)
            {
                string idade = u.Idade.HasValue ? u.Idade.ToString() : "";
                Console.WriteLine($"Nome: {u.Nome} - Idade: {idade}");
            }

        }catch
        {
            Console.WriteLine("Nada foi Encontrado tente mais tarde");
        }

    }

}