#region Desafio Hora da Pratica 2 Consumindo API
using Teste4_Alura.ConsumindoAPI;
//1-
NovoUsuario novousuario = new NovoUsuario("",0,"");
LeArquivosJson leArquivos = new LeArquivosJson();
List<NovoUsuario> novoUsuarios = new List<NovoUsuario>()
{
new NovoUsuario("Mane",10,"mane@gmail.com"),
new NovoUsuario("Pedro",18,"pedro@gmail.com"),
new NovoUsuario("Paulo",23,"Paulo@gmail.com"),
new NovoUsuario("Maria",24,"Maria@gmail.com"),
};
NovoUsuario.NovosUsuarios(novoUsuarios);
//2-
leArquivos.ExibirListaSalva();
#endregion
using System.Text.Json;
namespace Teste4_Alura.ConsumindoAPI;
internal class NovoUsuario
{
public NovoUsuario(string? nome, int? idade, string? email)
{
Nome = nome;
Idade = idade;
Email = email;
}
public string? Nome { get; set; }
public int? Idade { get; set; }
public string? Email { get; set; }
public static void NovosUsuarios(List<NovoUsuario> novoUsuarioCadastrado)
{
string json = JsonSerializer.Serialize(novoUsuarioCadastrado);
string listaUsuariosNovos = "novoUsuarioCadastrado.json";
File.WriteAllText(listaUsuariosNovos, json);
var novoUso = novoUsuarioCadastrado.OrderBy(noUso => noUso.Nome);
foreach (var n in novoUso)
{
Console.WriteLine($"{n.Nome} - {n.Idade} - {n.Email}");
}
Console.WriteLine("\nArquivo json criado com sucesso");
Console.WriteLine(Path.GetFullPath(listaUsuariosNovos));
}
}
using System.Text.Json.Serialization;
namespace Teste4_Alura.ConsumindoAPI;
using System;
using System.IO;
using System.Text.Json;
internal class LeArquivosJson
{
[JsonPropertyName("Nome")]
public string? Nome { get; set; }
[JsonPropertyName("Idade")]
public int? Idade { get; set; }
[JsonPropertyName("Email")]
public string? Email { get; set; }
public void ExibirListaSalva()
{
string fileName = "novoUsuarioCadastrado.json";
if (!File.Exists(fileName))
{
Console.WriteLine($"\nO arquivo {fileName} não existe.");
return;
}
string jsonString = File.ReadAllText(fileName);
List<NovoUsuario>? usuarios = JsonSerializer.Deserialize<List<NovoUsuario>>(jsonString);
if (usuarios == null || usuarios.Count == 0)
{
Console.WriteLine("Lista vazia ou inválida.");
return;
}
Console.WriteLine();
foreach (var u in usuarios)
{
Console.WriteLine($"{u.Nome} - {u.Idade} - {u.Email}");
}
}
}