A classe do repositório
Usaremos uma classe de repositório para persistir as cotações enviadas pelos usuários ao nosso aplicativo. Em uma aplicação real, a classe do repositório interagiria com um armazenamento de dados. Para nosso exemplo, usaremos apenas uma lista na memória. Como nosso aplicativo é pequeno, podemos colocar a classe do repositório diretamente em nosso diretório raiz por enquanto.
Aqui está a classe do repositório:
// QuoteRepository.cs
using QuoteApp.Models;
namespace QuoteApp
{
public class QuoteRepository
{
private static List _quotes = new List()
{
new Quote { Id = 1, Text = "There is no try. Do or do not.", Author = "Yoda" },
new Quote { Id = 2, Text = "Strive not to be a success, but rather to be of value.", Author = "Albert Einstein" }
};
public List GetAll()
{
return _quotes;
}
public void Add(Quote quote)
{
// Simple ID generation (in real app, use database ID generation)
quote.Id = _quotes.Any() ? _quotes.Max(q => q.Id) + 1 : 1;
_quotes.Add(quote);
}
}
}
Usaremos um bloco estático para declarar e preencher um _quotes List
. Usando esses dados, fornecemos dois métodos: GetAll()
e Add()
. GetAll()
simplesmente retorna o List
enquanto Add
insere o novo Quote
nisso. Usamos uma lógica de incremento simples para criar um ID para o novo Quote
.