/
Frozin
/
DIS-3
Обзор
Документация
Войти
/
Frozin
/
DIS-3
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
API_PIR/Services/NoteService.cs
68 строк
2 KB
Dobryk
Добавлена пагинация
20 окт 2025, 03:11
20 окт 2025, 03:11
ea456f4
Код
Авторство
О чём код?
using API_PIR.Interfaces; using API_PIR.Models; namespace API_PIR.Services; public class NoteService : INoteService { private readonly List<NoteModel> _notes = []; public Task<IEnumerable<NoteModel>> GetAllNotesAsync() { return Task.FromResult(_notes.AsEnumerable()); } public Task<PaginatedList<NoteModel>> GetNotesPaginatedAsync(int pageNumber, int pageSize) { var totalCount = _notes.Count; var items = _notes .Skip((pageNumber - 1) * pageSize) .Take(pageSize) .ToList(); var result = new PaginatedList<NoteModel> { Items = items, PageNumber = pageNumber, PageSize = pageSize, TotalCount = totalCount }; return Task.FromResult(result); } public Task<NoteModel?> GetNoteByIdAsync(Guid id) { var note = _notes.FirstOrDefault(n => n.Id == id); return Task.FromResult(note); } public Task<NoteModel> CreateNoteAsync(NoteModel note) { note.Id = Guid.NewGuid(); note.CreatedAt = DateTime.UtcNow; _notes.Add(note); return Task.FromResult(note); } public Task<NoteModel?> UpdateNoteAsync(Guid id, NoteModel note) { var existingNote = _notes.FirstOrDefault(n => n.Id == id); if (existingNote != null) { existingNote.Title = note.Title; existingNote.Text = note.Text; existingNote.Author = note.Author; } return Task.FromResult(existingNote); } public Task<bool> DeleteNoteAsync(Guid id) { var note = _notes.FirstOrDefault(n => n.Id == id); if (note == null) return Task.FromResult(false); _notes.Remove(note); return Task.FromResult(true); } }