using System.Linq; using System.Net.Http; using System.Net.Http.Json; using System.Threading.Tasks; using antblazorpro.Models; namespace antblazorpro.Services { public interface IProjectService { Task GetProjectNoticeAsync(); Task GetActivitiesAsync(); Task GetFakeListAsync(int count = 0); Task GetNoticesAsync(); } public class ProjectService : IProjectService { private readonly HttpClient _httpClient; public ProjectService(HttpClient httpClient) { _httpClient = httpClient; } public async Task GetProjectNoticeAsync() { return await _httpClient.GetFromJsonAsync("data/notice.json"); } public async Task GetNoticesAsync() { return await _httpClient.GetFromJsonAsync("data/notices.json"); } public async Task GetActivitiesAsync() { return await _httpClient.GetFromJsonAsync("data/activities.json"); } public async Task GetFakeListAsync(int count = 0) { var data = await _httpClient.GetFromJsonAsync("data/fake_list.json"); return count > 0 ? data.Take(count).ToArray() : data; } } }