Architecture
Add DI, Interfaces, Repositories
This commit is contained in:
17
Jugenddienst Stunden/Interfaces/IHoursRepository.cs
Normal file
17
Jugenddienst Stunden/Interfaces/IHoursRepository.cs
Normal file
@@ -0,0 +1,17 @@
|
||||
using Jugenddienst_Stunden.Types;
|
||||
|
||||
namespace Jugenddienst_Stunden.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Repository‑Schnittstelle für Datenzugriff (API/Storage) rund um Stunden.
|
||||
/// </summary>
|
||||
internal interface IHoursRepository {
|
||||
Task<BaseResponse> LoadBase(string query);
|
||||
Task<Settings> LoadSettings();
|
||||
Task<Hours> LoadData();
|
||||
Task<User> LoadUser(string apiKey);
|
||||
Task<List<DayTime>> LoadDay(DateTime date);
|
||||
Task<DayTime> LoadEntry(int id);
|
||||
Task<DayTime> SaveEntry(DayTime stunde);
|
||||
Task DeleteEntry(DayTime stunde);
|
||||
}
|
||||
16
Jugenddienst Stunden/Interfaces/IHoursService.cs
Normal file
16
Jugenddienst Stunden/Interfaces/IHoursService.cs
Normal file
@@ -0,0 +1,16 @@
|
||||
using Jugenddienst_Stunden.Types;
|
||||
|
||||
namespace Jugenddienst_Stunden.Interfaces;
|
||||
|
||||
/// <summary>
|
||||
/// Fachlicher Service für Stunden – konsumiert Repository und stellt VM‑freundliche Methoden bereit.
|
||||
/// </summary>
|
||||
internal interface IHoursService {
|
||||
Task<(Hours hours, Settings settings)> GetMonthSummaryAsync(DateTime monthDate);
|
||||
Task<(List<DayTime> dayTimes, Settings settings)> GetDayWithSettingsAsync(DateTime date);
|
||||
Task<List<DayTime>> GetDayRangeAsync(DateTime from, DateTime to);
|
||||
Task<Settings> GetSettingsAsync();
|
||||
Task<DayTime> GetEntryAsync(int id);
|
||||
Task<DayTime> SaveEntryAsync(DayTime stunde);
|
||||
Task DeleteEntryAsync(DayTime stunde);
|
||||
}
|
||||
Reference in New Issue
Block a user